Technical debt is currently receiving great attention from researchers, because it is believed to affect software development to a great extent. However, it is not yet clear how technical debt should be managed. This is specifically true in time-boxed development processes (e.g., in agile processes organized into development sprints of fixed duration), where it is possible to remove technical debt as soon as it is discovered, or wait until the debt reaches a given threshold, or wait until a whole sprint can be dedicated to technical debt removal, etc. We aim at investigating the effectiveness of different technical debt management strategies and the consequences of a wrong perception of the actual technical debt. We are interested in the consequences on both the amount of functionality and the quality of the delivered software. We propose a System Dynamics model that supports the simulation of various scenarios in time-boxed software development and maintenance processes. The proposed model is conceived to highlight the consequences of management decisions. The proposed model shows how produtivity and product quality depend on the way technical debt is managed. Our study shows that different strategies for managing technical debt in a time-boxed development and maintenance process may yield different results—in terms of both productivity and delivered software quality—depending on a few conditions. Software project managers can use customized System Dynamics models to optimize the development and maintenance processes, by making the proper decisions on when to carry out maintenance dedicated to decreasing the technical debt, and how much effort should be devoted to such activities.
LAVAZZA, LUIGI ANTONIO (Corresponding)
|Data di pubblicazione:||2019|
|Titolo:||Optimized Technical Debt Management in Timed-boxed Development Processes|
|Rivista:||INTERNATIONAL JOURNAL ON ADVANCES IN SOFTWARE|
|Parole Chiave:||Technical debt; System Dynamics; Simulation; Tech- nical debt management; Software project management.|
|Appare nelle tipologie:||Articolo su Rivista|