TY - GEN
T1 - Variability Debt
T2 - 20th Brazilian Symposium on Software Quality, SBQS 2021
AU - Wolfart, Daniele
AU - Assunção, Wesley Klewerton Guez
AU - Martinez, Jabier
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2022/11/8
Y1 - 2022/11/8
N2 - Variability is an inherent property of software systems to create families of products dealing with needs of different customers and environments. However, some practices to manage variability may incur technical debt. For example, the use of opportunistic reuse strategies, e.g., clone-and-own, harms maintenance and evolution activities; or deciding to abandon variability management and deriving a single product with all the features might threaten system usability. These examples are common problems found in practice but, to the best of or knowledge, not properly investigated from the perspective of technical debt. To expand the knowledge on the research and practice of technical debt in the perspective of variability management, we report results of this phenomenon, which we defined as variability debt. Our work is based on 52 industrial case studies that report problems observed in the use of opportunistic reuse. The results show that variability debt is caused by business, operational and technical aspects; leads to complex maintenance, creates difficulties to customize and create new products, misuse of human resources, usability problems; and impacts artifacts along the whole life-cycle. Although some of these issues are investigated in the field of systematic variability management, e.g., software product lines, our contribution is to present them from a technical debt perspective to enrich and create synergies between the two fields. As additional contribution, we present a catalog of variability debts in the light of technical debts found in the literature.
AB - Variability is an inherent property of software systems to create families of products dealing with needs of different customers and environments. However, some practices to manage variability may incur technical debt. For example, the use of opportunistic reuse strategies, e.g., clone-and-own, harms maintenance and evolution activities; or deciding to abandon variability management and deriving a single product with all the features might threaten system usability. These examples are common problems found in practice but, to the best of or knowledge, not properly investigated from the perspective of technical debt. To expand the knowledge on the research and practice of technical debt in the perspective of variability management, we report results of this phenomenon, which we defined as variability debt. Our work is based on 52 industrial case studies that report problems observed in the use of opportunistic reuse. The results show that variability debt is caused by business, operational and technical aspects; leads to complex maintenance, creates difficulties to customize and create new products, misuse of human resources, usability problems; and impacts artifacts along the whole life-cycle. Although some of these issues are investigated in the field of systematic variability management, e.g., software product lines, our contribution is to present them from a technical debt perspective to enrich and create synergies between the two fields. As additional contribution, we present a catalog of variability debts in the light of technical debts found in the literature.
KW - Software Product Lines
KW - Technical Debt
KW - Variability Debt
KW - Variability management
UR - http://www.scopus.com/inward/record.url?scp=85147665494&partnerID=8YFLogxK
U2 - 10.1145/3493244.3493250
DO - 10.1145/3493244.3493250
M3 - Conference contribution
AN - SCOPUS:85147665494
T3 - ACM International Conference Proceeding Series
BT - SBQS 2021 - Proceedings of the 20th Brazilian Symposium on Software Quality
PB - Association for Computing Machinery
Y2 - 8 November 2021 through 11 November 2021
ER -