Effects of Technical Debt Awareness: A Classroom Study

Technical Debt is a metaphor that has, in recent years, helped developers to think about and to monitor software quality. The metaphor refers to flaws in software (usually caused by shortcuts to save time) that may affect future maintenance and evolution. We conducted an empirical study in an academic environment, with nine teams of graduate and undergraduate students during two offerings of a laboratory course on Extreme Programming (XP Lab). The teams had a comprehensive lecture about several alternative ways to identify and manage Technical Debt. We monitored the teams, performed interviews, did close observations and collected feedback. The results show that the awareness of Technical Debt influences team behavior. Team members report thinking and discussing more about software quality after becoming aware of Technical Debt in their projects.

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

[2]  Alfredo Goldman,et al.  Designing and Managing Agile Informative Workspaces: Discovering and Exploring Patterns , 2013, 2013 46th Hawaii International Conference on System Sciences.

[3]  Raja Bavani Distributed Agile, Agile Testing, and Technical Debt , 2012, IEEE Softw..

[4]  D. Poliakov A systematic mapping study on technical debt definition , 2015 .

[5]  Ipek Ozkaya,et al.  Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162) , 2016, Dagstuhl Reports.

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

[7]  Alfredo Goldman,et al.  How to Build an Informative Workspace? An Experience Using Data Collection and Feedback , 2011, 2011 AGILE Conference.

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

[9]  Frank Buschmann,et al.  To Pay or Not to Pay Technical Debt , 2011, IEEE Software.

[10]  Richard T. Vidgen,et al.  An exploration of technical debt , 2013, J. Syst. Softw..

[11]  Jan Bosch,et al.  Architecture Technical Debt: Understanding Causes and a Qualitative Model , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[12]  Bill Curtis,et al.  Estimating the size, cost, and types of Technical Debt , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

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

[14]  Carolyn B. Seaman,et al.  A portfolio approach to technical debt management , 2011, MTD '11.

[15]  Peng Liang,et al.  A systematic mapping study on technical debt and its management , 2015, J. Syst. Softw..

[16]  Chris Sterling,et al.  Managing Software Debt: Building for Inevitable Change , 2010 .

[17]  Alfredo Goldman,et al.  Uncovering Steady Advances for an Extreme Programming Course , 2012, CLEI Electron. J..

[18]  A. Strauss,et al.  Grounded theory , 2017 .