The Perception of Technical Debt in the Embedded Systems Domain: An Industrial Case Study

Technical Debt Management (TDM) has drawn the attention of software industries during the last years, including embedded systems. However, we currently lack an overview of how practitioners from this application domain perceive technical debt. To this end, we conducted a multiple case study in the embedded systems industry, to investigate: (a) the expected life-time of components that have TD, (b) the most frequently occurring types of TD in them, and (c) the significance of TD against run-time quality attributes. The case study was performed on seven embedded systems industries (telecommunications, printing, smart manufacturing, sensors, etc.) from five countries (Greece, Netherlands, Sweden, Austria, and Finland). The results of the case study suggest that: (a) maintainability is more seriously considered when the expected lifetime of components is larger than ten years, (b) the most frequent types of debt are test, architectural, and code debt, and (c) in embedded systems the run-time qualities are prioritized compared to design-time qualities that are usually associated with TD. The obtained results can be useful for both researchers and practitioners: the former can focus their research on the most industrially-relevant aspects of TD, whereas the latter can be informed about the most common types of TD and how to focus their TDM processes.

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

[2]  Apostolos Ampatzoglou,et al.  A Financial Approach for Managing Interest in Technical Debt , 2015, BMSD.

[3]  Forrest Shull,et al.  Identification and management of technical debt: A systematic mapping study , 2016, Inf. Softw. Technol..

[4]  Jan Bosch,et al.  Towards Prioritizing Architecture Technical Debt: Information Needs of Architects and Product Owners , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

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

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

[7]  Jan Bosch,et al.  Investigating Architectural Technical Debt accumulation and refactoring over time: A multiple-case study , 2015, Inf. Softw. Technol..

[8]  Neil A. Ernst,et al.  Measure it? Manage it? Ignore it? software practitioners and technical debt , 2015, ESEC/SIGSOFT FSE.

[9]  Apostolos Ampatzoglou,et al.  Estimating the breaking point for technical debt , 2015, 2015 IEEE 7th International Workshop on Managing Technical Debt (MTD).

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

[11]  Andy P. Field,et al.  Discovering Statistics Using Ibm Spss Statistics , 2017 .

[12]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[13]  Apostolos Ampatzoglou,et al.  Investigating quality trade-offs in open source Critical Embedded Systems , 2015, 2015 11th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA).

[14]  Debasish N. Mallick,et al.  An Integrated Framework for Measuring Product Development Performance in High Technology Industries , 2003 .

[15]  Apostolos Ampatzoglou,et al.  The financial aspect of managing technical debt: A systematic literature review , 2015, Inf. Softw. Technol..

[16]  Luigi Carro,et al.  Software Quality Metrics and their Impact on Embedded Software , 2008, 2008 5th International Workshop on Model-based Methodologies for Pervasive and Embedded Software.

[17]  P. Daugherty,et al.  Lean Launch: Managing Product Introduction Risk Through Response‐Based Logistics , 1999 .

[18]  Tomlinson G. Rauscher,et al.  From experience time-driven development of software in manufactured goods , 1995 .

[19]  Tomlinson G. Rauscher,et al.  Time-Driven Development of Software in Manufactured Goods , 1995 .

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

[21]  Christian Del Rosso,et al.  Software performance tuning of software product family architectures: Two case studies in the real-time embedded systems domain , 2008, J. Syst. Softw..

[22]  Bjarne Stroustrup,et al.  Abstraction and the C++ Machine Model , 2004, ICESS.

[23]  Shari Lawrence Pfleeger,et al.  Principles of survey research part 2: designing a survey , 2002, SOEN.