Background: Preventing the occurrence of technical debt (TD) in software projects can be cheaper than its payment. Prevention practices also help in catching inexperienced developers' 'not-so-good' solutions. However, little is known on how to prevent the occurrence of TD. Aims: To investigate, from the point of view of software practitioners, preventive actions that can be used to curb the occurrence of TD and the impediments that hamper the use of those actions. Method: We use data from the InsighTD Project, a family of industrial surveys specifically designed to study software engineering TD. We use a corpus of answers from 207 practitioners across different geographic locations to identify and analyze - both quantitatively and qualitatively - the TD preventive actions most used in practice. Results: We found that project planning, adoption of good practices, well-defined requirements, creating tests, and training are the most cited preventive actions that curb TD in software projects. We also identified seven preventive action categories and defined relationships among them and TD types. On the other hand, the main impediments to prevent TD are related to inappropriate project planning and lack of expertise of the team. Conclusions: Our list of preventive actions and impediments can help practitioners to implement policies for the sector and guide TD researches in a problem-driven way.
Freire, S., Rios, N., Mendonca, M., Falessi, D., Seaman, C., Izurieta, C., et al. (2020). Actions and impediments for technical debt prevention: Results from a global family of industrial surveys. In Proceedings of the ACM Symposium on Applied Computing (pp.1548-1555). 1515 BROADWAY, NEW YORK, NY 10036-9998 USA : Association for Computing Machinery [10.1145/3341105.3373912].
Actions and impediments for technical debt prevention: Results from a global family of industrial surveys
Falessi D.;
2020-01-01
Abstract
Background: Preventing the occurrence of technical debt (TD) in software projects can be cheaper than its payment. Prevention practices also help in catching inexperienced developers' 'not-so-good' solutions. However, little is known on how to prevent the occurrence of TD. Aims: To investigate, from the point of view of software practitioners, preventive actions that can be used to curb the occurrence of TD and the impediments that hamper the use of those actions. Method: We use data from the InsighTD Project, a family of industrial surveys specifically designed to study software engineering TD. We use a corpus of answers from 207 practitioners across different geographic locations to identify and analyze - both quantitatively and qualitatively - the TD preventive actions most used in practice. Results: We found that project planning, adoption of good practices, well-defined requirements, creating tests, and training are the most cited preventive actions that curb TD in software projects. We also identified seven preventive action categories and defined relationships among them and TD types. On the other hand, the main impediments to prevent TD are related to inappropriate project planning and lack of expertise of the team. Conclusions: Our list of preventive actions and impediments can help practitioners to implement policies for the sector and guide TD researches in a problem-driven way.File | Dimensione | Formato | |
---|---|---|---|
ACMSAC.pdf
solo utenti autorizzati
Tipologia:
Versione Editoriale (PDF)
Licenza:
Copyright dell'editore
Dimensione
334.21 kB
Formato
Adobe PDF
|
334.21 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.