ABSTRACT
Maintaining a software system in operation requires resources to keep it reasonably bug-free, appropriate for the business needs, and still changeable. However, it is challenging to evaluate resource allocation strategies while considering both current and future needs. This paper presents a decision support system, using technical debt concepts, built based on the system dynamics approach that aims to assist decision-makers in evaluating different maintenance investment strategies. The tool can help evaluate future impacts by simulating possible scenarios, generating knowledge and insights for decision-makers, and helping to communicate them among different stakeholders.
- Ampatzoglou, A. 2016. A Financial Approach for Managing Interest in Technical Debt. Business Modeling and Software Design. BMSD 2015. Lecture Notes in Business Information Processing. B. Shishkov, ed. Springer. 117–133.Google Scholar
- Armenia, S. 2017. Smart Model-based Governance: from Big-Data to future Policy Making. BSLab - SYDIC International Workshop (2017), 44–53.Google Scholar
- Avgeriou, P. 2016. Reducing Friction in Software Development. IEEE Software. 33, 1 (Jan. 2016), 66–73. DOI:https://doi.org/10.1109/MS.2016.13.Google ScholarDigital Library
- Bakota, T. 2012. A cost model based on software maintainability. 2012 28th IEEE International Conference on Software Maintenance (ICSM) (Sep. 2012), 316–325.Google ScholarDigital Library
- Basili, V.R. 2002. Goal Question Metric (GQM) Approach. Encyclopedia of Software Engineering. John Wiley & Sons, Inc.Google Scholar
- Box, G.E.P. and Draper, N.R. 1987. Empirical Model-Building and Response Surfaces. John Wiley & Sons.Google Scholar
- Chapin, N. 2001. Types of software evolution and software maintenance. Journal of Software Maintenance and Evolution: Research and Practice. 13, 1 (Jan. 2001), 3–30. DOI:https://doi.org/10.1002/smr.220.Google ScholarDigital Library
- Cunningham, W. 1993. The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger (1993), 29–30.Google Scholar
- Forrester, J. 1961. Industrial Dynamics. The MIT Press.Google Scholar
- Franco, E.F. 2020. A dynamical evaluation framework for technical debt management in software maintenance process. University of São Paulo.Google Scholar
- Franco, E.F. 2017. Applying system dynamics approach in software and information system projects: A mapping study. Information and Software Technology. (2017). DOI:https://doi.org/10.1016/j.infsof.2017.08.013.Google Scholar
- INCOSE 2015. Systems Engineering Handbook: A Guide for System Life Cycle Processes and Activities. Wiley.Google Scholar
- ISO/IEC 25000:2014 2014. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Guide to SQuaRE.Google Scholar
- Jones, C. 2008. Applied Software Measurement: Global Analysis of Productivity and Quality. McGraw-Hill Education.Google Scholar
- Kellner, M.I. 1999. Software process simulation modeling: Why? What? How? Journal of Systems and Software. 46, 2–3 (Apr. 1999), 91–105. DOI:https://doi.org/10.1016/S0164-1212(99)00003-5.Google ScholarCross Ref
- Lehman, M. 1980. Programs, life cycles, and laws of software evolution. Proceedings of the IEEE. 68, 9 (1980), 1060–1076. DOI:https://doi.org/10.1109/PROC.1980.11805.Google ScholarCross Ref
- Lehman, M. and Ramil, J. 2003. Software evolution—Background, theory, practice. Information Processing Letters. 88, 1–2 (Oct. 2003), 33–44. DOI:https://doi.org/10.1016/S0020-0190(03)00382-X.Google ScholarDigital Library
- Nugroho, A. 2011. An empirical model of technical debt and interest. Proceeding of the 2nd working on Managing technical debt - MTD ’11 (New York, New York, USA, 2011), 1.Google Scholar
- OMG 2018. Automated Technical Debt Measure (ATDM).Google Scholar
- Ramasubbu, N. and Kemerer, C. 2014. Managing Technical Debt in Enterprise Software Packages. IEEE Transactions on Software Engineering. 5589, c (2014), 1–1. DOI:https://doi.org/10.1109/TSE.2014.2327027.Google Scholar
- Rodrigues, A.G. and Williams, T.M. 1998. System dynamics in project management: assessing the impacts of client behaviour on project performance. Journal of the Operational Research Society. 49, 1 (Mar. 1998), 2–15. DOI:https://doi.org/10.1038/sj.jors.2600490.Google ScholarCross Ref
- Sterman, J. 2000. Business Dynamics: Systems Thinking and Modeling for a Complex World. McGraw-Hill/Irwin.Google ScholarDigital Library
- Ventana System 2019. Vensim Professional for Windows. Ventana Systems Inc.Google Scholar
- Wiederhold, G. 2006. What is your software worth? Communications of the ACM. 49, 9 (Sep. 2006), 65–75. DOI:https://doi.org/10.1145/1151030.1151031.Google ScholarDigital Library
- A Decision Support System for Managing Technical Debt: Towards a Systemic Perspective
Recommendations
Software maintenance decision support system
PROFES '10: Proceedings of the 11th International Conference on Product Focused SoftwareMaintaining and supporting the software of an organization is not an easy task, and software maintainers do not currently have access to decision support systems (DSS) to evaluate strategies for improving specific software maintenance activities. This ...
Decision Criteria for the Payment of Technical Debt in Software Projects: A Systematic Mapping Study
ICEIS 2016: Proceedings of the 18th International Conference on Enterprise Information SystemsThe term Technical Debt (TD) is used to describe the debt that a development team incurs when it takes shortcuts in the software development process, but that may increase the complexity and maintenance cost in the long-term. If a development team does ...
Managing Technical Debt in Software Projects Using Scrum: An Action Research
AGILE '15: Proceedings of the 2015 Agile ConferenceWard Cunningham in his experience report presented at the OOPSLA'92 conference introduced the metaphor of technical debt. This metaphor is related to immature, incomplete or inadequate artifacts in the software development cycle that cause higher costs ...
Comments