Skip to main content
Log in

A systems interpretation of the software evolution laws and their impact on technical debt management and software maintainability

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The average lifetime of software systems has been growing steadily over the last few decades, and thus, they are demanding increasing resources to remain in operation while still meeting business needs. As a software system ages, it needs to be continuously modified and expanded to stay useful. Whether intentional or not, the various maintenance activities performed during the software’s lifetime inevitably introduce quality violations, contributing to building up the software’s technical debt. If these violations are not adequately addressed, they can negatively impact the software’s maintainability and, thus, the software’s capacity to adapt and evolve. In general terms, usually, the aim is to sustain satisfactory levels of technical quality characteristics of the software and, at the same time, preserve the maintenance costs and the tangible software asset itself at acceptable levels to organizations. The long-term impact of various maintenance investment decisions inevitability influences the software’s evolutionary path, which goes through numerous iterations throughout its lifetime. This work uses the systems thinking approach to map the main concepts related to the software maintenance processes that account for this tradeoff analysis and decisions and describe their causal relationships. Moreover, it presents a systemic causal-effect relationship map capable of evidencing how some of the emergent behavior arising from long-term operating and maintaining software systems could be endogenously explained.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Data availability

All data generated or analyzed during this study are included in this published article (and its supplementary information files).

References

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eduardo Ferreira Franco.

Ethics declarations

Competing interests

The authors declare no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Franco, E.F., Hirama, K., Armenia, S. et al. A systems interpretation of the software evolution laws and their impact on technical debt management and software maintainability. Software Qual J 31, 179–209 (2023). https://doi.org/10.1007/s11219-022-09600-6

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-022-09600-6

Keywords

Navigation