Modelling Propagation of Technical Debt

Noting the overwhelming speed during software development, and particularly in environments where rapid delivery is the norm, the lack of accumulated technical debt information could result in ineffective management. We introduce technical debt propagation channels in this paper to advance software maintenance research on two accounts: (1) We describe the fundamental components for the channels, allowing identification of distinct channels, and (2) we describe a procedure to identify and abstract technical debt channels in order to produce technical debt propagation models. Our propagation models pursue automation of technical debt information maintenance with program analysis results, and translation of the maintained information between existing-and currently disconnected-technical debt management solutions. We expect the immediate technical debt information to enhance applicability and effectiveness of existing technical debt management approaches.

[1]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

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

[3]  J. David Morgenthaler,et al.  Searching for build debt: Experiences managing technical debt at Google , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[4]  Ville Leppänen,et al.  Technical Debt and the Effect of Agile Software Development Practices on It - An Industry Practitioner Survey , 2014, 2014 Sixth International Workshop on Managing Technical Debt.

[5]  Ville Leppänen,et al.  DebtFlag: Technical debt management with a development environment integrated tool , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[6]  Radu Marinescu,et al.  Assessing technical debt by identifying design flaws in software systems , 2012, IBM J. Res. Dev..

[7]  Hayim Makabee,et al.  Reducing Technical Debt: Using Persuasive Technology for Encouraging Software Developers to Document Code - (Position Paper) , 2014, CAiSE Workshops.

[8]  Daniel Kern,et al.  Technical debt from the stakeholder perspective , 2011, MTD '11.

[9]  Forrest Shull,et al.  A case study on effectively identifying technical debt , 2013, EASE '13.

[10]  Yi Zhang,et al.  Classifying Software Changes: Clean or Buggy? , 2008, IEEE Transactions on Software Engineering.

[11]  Günther Ruhe,et al.  When-to-Release Decisions in Consideration of Technical Debt , 2014, 2014 Sixth International Workshop on Managing Technical Debt.

[12]  Jonathan I. Maletic,et al.  A survey and taxonomy of approaches for mining software repositories in the context of software evolution , 2007, J. Softw. Maintenance Res. Pract..

[13]  Forrest Shull,et al.  Prioritizing design debt investment opportunities , 2011, MTD '11.

[14]  Forrest Shull,et al.  Practical considerations, challenges, and requirements of tool-support for managing technical debt , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[15]  Claude Baron,et al.  SynchSPEM: A synchronization metamodel between activities and products within a SPEM-based Software Development Process , 2011, 2011 IEEE International Conference on Computer Applications and Industrial Electronics (ICCAIE).

[16]  Nicholas A. Kraft,et al.  A Framework for Estimating Interest on Technical Debt by Monitoring Developer Activity Related to Code Comprehension , 2014, 2014 Sixth International Workshop on Managing Technical Debt.

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

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

[19]  Klaus Schmid A formal approach to technical debt decision making , 2013, QoSA '13.

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

[21]  Joost Visser,et al.  An empirical model of technical debt and interest , 2011, MTD '11.

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

[23]  Ville Leppänen,et al.  Mining knowledge on technical debt propagation , 2015, SPLST.

[24]  Ville Leppänen,et al.  Examining Technical Debt Accumulation in Software Implementations , 2015 .

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

[26]  Jean-Louis Letouzey,et al.  The SQALE method for evaluating Technical Debt , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[27]  Yuanfang Cai,et al.  Organizing the technical debt landscape , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

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

[29]  Jie Zhang,et al.  Technical debt aggregation in ecosystems , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[30]  Narayan Ramasubbu,et al.  Towards a model for optimizing technical debt in software products , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[31]  Forrest Shull,et al.  Technical Debt: Showing the Way for Better Transfer of Empirical Results , 2013, Perspectives on the Future of Software Engineering.

[32]  Carolyn B. Seaman,et al.  Measuring and Monitoring Technical Debt , 2011, Adv. Comput..

[33]  André L. M. Santos,et al.  Tracking technical debt — An exploratory case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[34]  Robert J. Eisenberg A threshold based approach to technical debt , 2012, SOEN.

[35]  Paulo Sérgio Medeiros dos Santos,et al.  Visualizing and Managing Technical Debt in Agile Development: An Experience Report , 2013, XP.