Proceedings of the 2014 Winter Simulation Conference
A. Tolk, S. D. Diallo, I. O. Ryzhov, L. Yilmaz, S. Buckley, and J. A. Miller, eds.
A SIMULATION STUDY OF PRACTICAL METHODS FOR TECHNICAL DEBT
MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT
Isaac Griffith Hanane Taffahi
Clemente Izurieta David Claudio
Department of Computer Science Department of Mechanical and
Montana State University Industrial Engineering
357 EPS Building Montana State University
Bozeman, MT 59717, USA Bozeman, MT 59717, USA
ABSTRACT
Technical debt is a well understood yet understudied phenomena. A current issue is the verification and
validation of proposed methods for technical debt management in the context of agile development. In
practice, such evaluations are either too costly or too time consuming to be conducted using traditional
empirical methods. In this paper, we describe a set of simulations based on models of the agile
development process, Scrum, and the integration of technical debt management. The purpose of this study
is to identify which strategy is superior and to provide empirical evidence to support existing claims. The
models presented are based upon conceptual and industry models concerning defects and technical debt.
The results of the simulations provide compelling evidence for current technical debt management
strategies proposed in the literature that can be immediately applied by practitioners.
1 INTRODUCTION
Technical debt embodies the dichotomy between decisions focusing on the long-term effects to the
quality of the software versus focusing on the short term effects on the time-to-market and business value
of the software. That is, while software should be delivered on time, any debt (sacrifice in quality) against
the quality of the software used to make that possible must eventually be repaid in order to ensure the
overall health of the product. This has become a growing concern since as early as 1992 (Cunningham
1992), and it was not until recently that industry and researchers worked to provide strategies for
incorporating technical debt management into the software development life cycle.
Currently, several basic methods for managing technical debt in practice have been proposed, yet
there is little empirical work supporting these claims (Ramasubbu and Kemerer 2013), due to the nature
of the problem making empirical studies prohibitive. Thus, simulation provides an excellent alternative to
evaluate proposed technical debt management methods, within the context of agile development
processes, in a cost and time sensitive way. The problem at hand is to determine, which technical debt
management strategy is superior and the most feasible to implement within an existing agile development
process model. To investigate the introduction of technical debt management strategies, we have selected
the Scrum agile development process (Schwaber and Beedle 2001).
This paper is organized as follows: Section 2 describes background concepts and related work.
Section 3 describes the conceptual model. Section 4 describes the experimental design and data collection
methods used in this study. Section 5 describes the results and analysis. Section 6 concludes the paper and
provides avenues of future work.
1014 978-1-4799-7486-3/14/$31.00 ©2014 IEEE