Technical Debt and the Effect of Agile Software Development Practices on It - An Industry Practitioner Survey

A major reason for the popularity of agile and lean software methods is their capability to function in resource scarce and requirement erratic environments. Both of these characteristics cause accumulation of technical debt, something that is the end result of either intentional or unintentional decisions. The ability of these methods to function with technical debt indicates that they contain components with inherent technical debt management capabilities. This study conducts a survey on industry practitioners to discover what is their level of technical debt knowledge, how does technical debt manifest in their projects and which of the applied components of agile software development -- both processes and practices -- are sensitive to technical debt. This paper contributes to the technical debt discussion by showing differences in assumed and indicated technical debt knowledge. Furthermore, components closest to implementation and its maintenance are perceived to have the most positive effects on technical debt management. Finally, the most encountered instances of technical debt are caused by architectural inadequacies, they are internal legacy, and increase in size as a result of continued implementation.

[1]  Pamela L. Alreck,et al.  The Survey Research Handbook , 1984 .

[2]  Dean Leffingwell,et al.  Scaling Software Agility: Best Practices for Large Enterprises (The Agile Software Development Series) , 2007 .

[3]  Zadia Codabux,et al.  Managing technical debt: An industrial case study , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[4]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[5]  Bernd Bruegge,et al.  Object Oriented Software Engineering, Conquering Complex and Changing Systems , 2002 .

[6]  Robert L. Nord,et al.  Managing technical debt in software development: report on the 2nd international workshop on managing technical debt, held at ICSE 2011 , 2011, SOEN.

[7]  Forrest Shull,et al.  Investigating technical debt folklore: Shedding some light on technical debt opinion , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[8]  Robert L. Nord,et al.  Managing technical debt in software-reliant systems , 2010, FoSER '10.

[9]  Carolyn B. Seaman,et al.  Defining the decision factors for managing defects: A technical debt perspective , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[10]  Daniel E. Turk,et al.  AGILE SOFTWARE DEVELOPMENT: A SURVEY OF EARLY ADOPTERS , 2008 .

[11]  Robert J. Winter Cpt Agile Software Development: Principles, Patterns, and Practices , 2014 .

[12]  Robert L. Nord,et al.  Technical Debt: From Metaphor to Theory and Practice , 2012, IEEE Software.

[13]  Robert L. Nord,et al.  4th International workshop on managing technical debt (MTD 2013) , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[14]  Peri L. Tarr,et al.  An enterprise perspective on technical debt , 2011, MTD '11.

[15]  Sven Johann,et al.  Technical Debt , 2015, IEEE Softw..

[16]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[17]  Pekka Abrahamsson,et al.  Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum , 2008, IET Softw..

[18]  Robert L. Nord,et al.  Technical debt in software development: from metaphor to theory report on the third international workshop on managing technical debt , 2012, SOEN.

[19]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[20]  Ward Cunningham,et al.  The WyCash portfolio management system , 1992, OOPSLA '92.

[21]  Carolyn B. Seaman,et al.  A Balancing Act: What Software Practitioners Have to Say about Technical Debt , 2012, IEEE Softw..

[22]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[23]  Yuanfang Cai,et al.  Using technical debt data in decision making: Potential decision approaches , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[24]  I. Bell Business Research Methods -3/E. , 2012 .