A platform for research: civil engineering, architecture and urbanism
Managing technical debt in software architecture
Architectural technical debt (ATD) is mainly incurred by architecture decisions that intentionally or unintentionally compromise system-wide quality attributes, particularly maintainability and evolvability. ATD needs to be systematically managed in an appropriate manner, in order to improve the health of the software architecture and optimize the cost of system maintenance and evolution in the long term. Currently, there is a lack of an overall process for systematically managing ATD, as well as approaches for concrete ATD management activities, particularly for ATD identification, measurement, and documentation. First, we conducted a systematic mapping study on technical debt (TD) and its management, to obtain a comprehensive understanding on the TD concept and current state of the research of TD management. Second, based on the mapping study results, we proposed a conceptual model of ATD, and developed an ATD management process integrating this model, in order to facilitate the architecture decision making and evaluation in a value-oriented perspective. Third, we proposed an ATD identification approach based on architecture decisions and change scenarios to overcome the shortcomings of existing source code analysis-based approaches. An industrial case study shows that the proposed approach is effective and easy to use. Fourth, we provided evidence that two modularity metrics, namely Index of Package Changing Impact and Index of Package Goal Focus, can be used to indicate the amount of ATD. Finally, we proposed six architecture viewpoints related to ATD, to document ATD. An industrial case study showed that the ATD viewpoints can effectively support ATD documentation.
Managing technical debt in software architecture
Architectural technical debt (ATD) is mainly incurred by architecture decisions that intentionally or unintentionally compromise system-wide quality attributes, particularly maintainability and evolvability. ATD needs to be systematically managed in an appropriate manner, in order to improve the health of the software architecture and optimize the cost of system maintenance and evolution in the long term. Currently, there is a lack of an overall process for systematically managing ATD, as well as approaches for concrete ATD management activities, particularly for ATD identification, measurement, and documentation. First, we conducted a systematic mapping study on technical debt (TD) and its management, to obtain a comprehensive understanding on the TD concept and current state of the research of TD management. Second, based on the mapping study results, we proposed a conceptual model of ATD, and developed an ATD management process integrating this model, in order to facilitate the architecture decision making and evaluation in a value-oriented perspective. Third, we proposed an ATD identification approach based on architecture decisions and change scenarios to overcome the shortcomings of existing source code analysis-based approaches. An industrial case study shows that the proposed approach is effective and easy to use. Fourth, we provided evidence that two modularity metrics, namely Index of Package Changing Impact and Index of Package Goal Focus, can be used to indicate the amount of ATD. Finally, we proposed six architecture viewpoints related to ATD, to document ATD. An industrial case study showed that the ATD viewpoints can effectively support ATD documentation.
Managing technical debt in software architecture
Li, Zengyang (author)
2015-01-01
Li , Z 2015 , ' Managing technical debt in software architecture ' , Doctor of Philosophy , University of Groningen , [Groningen] .
Theses
Electronic Resource
English
DDC:
720
Investigating the causes of software technical debt at the architectural level
BASE | 2018
|Technical debt payment and prevention through the lenses of software architects
BASE | 2021
|