Explicating, Understanding and Managing Technical Debt from Self-Driving Miniature Car Projects

Abstract

Technical Debt refers to various weaknesses in the design or implementation of a system resulting from trade-offs during software development usually for a quick release. Accumulating debt over time without reducing it can seriously hamper the reusability and maintainability of the software. The aim of this study is to understand the state of the technical debt in the development of self-driving miniature cars so that a proper action plan can be taken to reduce the debt to make the software more reusable and maintainable. A case study assessing the technical debt and the underlying issues resulting in technical debt is performed on a selected feature from two self-driving miniature car development projects. Additionally, an interview study is performed involving the developers to relate the finding of the case study with the possible root causes of technical debt. The result of the study indicates that it is not the lack of knowledge that accumulates the majority of the technical debt. The result of the study indicates that it is not the lack of knowledge that accumulates the majority of the technical debt. The root causes of the accumulation are rather in some other factors like time pressure and hardware integration, which needs to be addressed to reduce the technical debt and to have more reusable code in the future.

Publication
Proceedings of the 6th International Workshop on Managing Technical Debt (MTD)
Date
Links