TY - JOUR
T1 - How Much Does Software Complexity Matter for Maintenance Productivity? The Link Between Team Instability and Diversity
AU - Benaroch, Michel
AU - Lyytinen, Kalle
N1 - Publisher Copyright:
© 1976-2012 IEEE.
PY - 2023/4/1
Y1 - 2023/4/1
N2 - Software complexity decreases maintenance productivity, as do team attributes of instability and knowledge diversity. We know little about the extent to which the two team attributes interact with software complexity and shape productivity across systems of varying complexity. We address this gap by investigating whether and to what degree software complexity moderates the effects of team instability and knowledge diversity on maintenance productivity over the life of a system. We posit, given the exponential growth of code and task dependencies inherent in complex software systems, that system-level complexity has a significant nonlinear amplifying effect on the adverse effects of the two team attributes. To validate the presence of such an effect, we conduct a robust split-sample econometric analysis using three years of maintenance data from 426 mission-critical systems of a Fortune 100 company. The sampled systems vary in size (50KLOC to 2000KLOC, where 20% exceed 500KLOC), with a considerable portion of the sample manifesting 'high' to 'very high' software complexity. The analysis corroborates the known adverse effects of team instability, team knowledge diversity, and software complexity on maintenance productivity. More importantly, it shows - as theorized - that the adverse effects of the team attributes on maintenance productivity are significantly amplified only when software complexity grows high. We conclude with practical and research implications about how to manage software teams maintaining complex software over the life of a system.
AB - Software complexity decreases maintenance productivity, as do team attributes of instability and knowledge diversity. We know little about the extent to which the two team attributes interact with software complexity and shape productivity across systems of varying complexity. We address this gap by investigating whether and to what degree software complexity moderates the effects of team instability and knowledge diversity on maintenance productivity over the life of a system. We posit, given the exponential growth of code and task dependencies inherent in complex software systems, that system-level complexity has a significant nonlinear amplifying effect on the adverse effects of the two team attributes. To validate the presence of such an effect, we conduct a robust split-sample econometric analysis using three years of maintenance data from 426 mission-critical systems of a Fortune 100 company. The sampled systems vary in size (50KLOC to 2000KLOC, where 20% exceed 500KLOC), with a considerable portion of the sample manifesting 'high' to 'very high' software complexity. The analysis corroborates the known adverse effects of team instability, team knowledge diversity, and software complexity on maintenance productivity. More importantly, it shows - as theorized - that the adverse effects of the team attributes on maintenance productivity are significantly amplified only when software complexity grows high. We conclude with practical and research implications about how to manage software teams maintaining complex software over the life of a system.
KW - Interaction effects
KW - high software complexity
KW - productivity
KW - software complexity
KW - software maintenance
KW - team instability
KW - team knowledge diversity
UR - http://www.scopus.com/inward/record.url?scp=85142780872&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85142780872&partnerID=8YFLogxK
U2 - 10.1109/TSE.2022.3222119
DO - 10.1109/TSE.2022.3222119
M3 - Article
AN - SCOPUS:85142780872
SN - 0098-5589
VL - 49
SP - 2459
EP - 2475
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 4
ER -