Chapter 6 - A Decision-Support System Approach to Economics-Driven Modularity Evaluation

https://doi.org/10.1016/B978-0-12-410464-8.00006-4Get rights and content

Modularity debt is the most difficult kind of technical debt to quantify and manage. Modularity decay, thus modularity debt, causes huge losses over time in terms of reduced ability to provide new functionality and fix bugs, operational failures, and even canceled projects. As modularity debt accumulates over time, software system managers are often faced with a challenging task of deciding when and whether to refactor, for example, choosing to improve modularity or not. While the costs of refactoring are significant and immediate, their benefits are largely invisible, intangible, and long term. Existing research lacks effective methods to quantify the costs and benefits of refactoring to support refactoring decision making. In this chapter, we present a decision-support system (DSS) approach to the modularity debt management. Using such a system, managers would be able to play out various “what-if” scenarios to make informed decisions regarding refactoring. Our DSS approach is built on a scientific foundation for explicitly manifesting the economic implications of software refactoring activities so that the costs and benefits of such activities can be understood, analyzed, and predicted. We discuss our contributions and current progress in developing the building blocks and the underpinning framework, an integrated economics-driven modularization evaluation framework, for the modularity debt management decision-support system (MDM-DSS).

References (0)

Cited by (9)

  • Identification and analysis of the elements required to manage technical debt by means of a systematic mapping study

    2017, Journal of Systems and Software
    Citation Excerpt :

    In fact, to identify technical debt items is usually the first step in managing technical debt (Curtis et al., 2012; Seaman et al., 2012). The identification of technical debt items can include establishing a list of the bad practices that create debt (Letouzey and Ilkiewicz, 2012; Marinescu, 2012) and identifying the potential kinds of technical debt from the sources of technical debt (Falessi et al., 2013), as well as determining the part of the system that must be refactored (Cai et al., 2014; Kazman et al., 2015). Therefore, there are many potential sources of technical debt at any time in any system (Brown et al., 2010).

  • Manufacturing execution systems: A vision for managing software development

    2015, Journal of Systems and Software
    Citation Excerpt :

    An example of how this calculation would be formulated is given in the spreadsheet shown in Fig. 2, where the Monte Carlo simulations are performed by the @Risk software add-in. In this example project, the current code structure complexity increase factor is 9% and a proposed refactoring promises to bring the number back to 5% (Cai et al., 2014). Over the past 3 years we have used this infrastructure to collect data from, and to analyze, more than 20 open source projects and 1 proprietary project.

  • Technical debt (TD) through the lens of Twitter: A survey

    2024, Journal of Software: Evolution and Process
  • A Composed Technical Debt Identification Methodology to Predict Software Vulnerabilities

    2020, Proceedings - 2020 ACM/IEEE 42nd International Conference on Software Engineering: Companion, ICSE-Companion 2020
  • A composed technical debt identification methodology to predict software vulnerabilities

    2020, Proceedings - International Conference on Software Engineering
  • Validating and prioritizing quality rules for managing technical debt: An industrial case study

    2015, 2015 IEEE 7th International Workshop on Managing Technical Debt, MTD 2015 - Proceedings
View all citing articles on Scopus
View full text