Abstract Details

<< Back to Schedule

10/14/2015  |   3:15 PM - 4:00 PM   |  Atlantic I

The Technical Debt Metaphor: Principles, Practical Considerations, Tool Support, and Research Directions

Developing a software product usually implies making tradeoffs among conflicting goals in the next release, like the number of features to implement, user perceived quality, cost, and the company ability to maintain and improve the system in the future. There are many examples of software development projects in which the shortcomings made to meet market opportunities have resulted in large cost overruns, severe quality issues, inability to add new features without breaking existing features, and even the premature loss of a system, all of which have a significant impact on profitability. Technical debt is a metaphor, and according to Kruchten et al. can be seen as the result of past decisions about software that negatively affect its future. The introduction of this metaphor provides a new way to talk about, manage, measure, and eventually balance short-term and long-term benefits (e.g., time-to-market versus maintainability). The technical debt metaphor saw little use for many years, but suddenly around 2000, and curiously in parallel with the advent of agile methods (though this may be just coincidental), it gained increased attention in both scientific and industry domains. From a scientific perspective, technical debt is gaining importance as the number of related conference papers, journal papers, book chapters, special issues, and international events grows over the years. From a practical perspective, the number of related tools and their industrial adoption grows over the years. The aim of this presentation is to report on the principles, practical considerations, tool support, and research directions related to the technical debt metaphor. Regarding practical considerations, the presentation will report on industrial experiences in managing technical debt. Specifically, conversations with architects, developers, testers, and project managers have revealed a large consensus about that all projects have some technical debt because no project is perfect. Thus, we observe a balancing act: the acceptance of some technical debt may be required to achieve profitable time-to-market goals. Another interesting result revealed by interviewing practitioners is the important role of the customers in dealing with technical debt. This has helped to properly set client expectations throughout the project lifecycle when tradeoffs need to be made. Regarding tool support and research directions, the presentation will describe a research project, granted by Cisco research, that aims to develop an open-source tool for managing technical debt in agile organizations. The presenter is the lead principal investigator of this project and will report on the research achievements and next steps. The research achievements include the tool ability to automatically rank the refactoring opportunities according to historical data stored in Issue Tracking Systems (e.g., JIRA) and Version Control Systems (e.g., Git). Moreover, the tool can visualize the interest of the debt in terms of percentage of extra defects that occurred due to quality rules violations. The next steps include monitoring, analyzing, and reducing the impact of technical debt to the development speed of agile teams.

Presentation:
This presentation has not yet been uploaded.

Handouts:
No handouts have been uploaded.

Davide Falessi (Primary Presenter), California Polytechnic State University, d.falessi@gmail.com;
Davide Falessi is an associate professor in Computer Science at the California Polytechnic State University. Dr. Falessi is the Associate Editor of Software Engineering Economics of IEEE Software (Impact Factor 1.23) and its Multimedia Editor. Dr. Falessi is involved in the technical debt topic as demonstrated by the co-organization of related international events, such as the fifth international workshop on managing technical debt and several recent publications in conferences, journals and books. Dr. Falessi is also the guest editor of the special issue on

2013 Sponsors: IEEE and IEEE Computer Society