A Decision Framework on Refactoring Architectural Technical Debt: Paying Back in Modularity- An Industrial Case Study
Examensarbete för masterexamen
Software engineering and technology (MPSOF), MSc
Technical debt refers to sub-optimal solutions during software development where there is a trade-off between short-term and long-term goals. Lately there has been a few studies which identifies technical debt, however most of the do not estimate the interest which is associated with the identified debt. Knowing how much interest is being paid allows the developers to make informed decisions of what will benefit the development. One example is knowing if a onetime cost of a repaying the debt outweighs the cost of paying the interest of that debt. This would mean that the repayment can be seen as an investment for future development. This thesis aims to develop a decision framework that can be used when deciding if part of a component would benefit from being modularized into a new component or framework to repay a debt. To accomplish this, the study developed two methods that are used by the decision framework. The first method is to find out if the analysed part of the components would bene t from such a modularization. The second method estimates how much effort can be saved by doing a modularization. It was found that for the first method, a measurement system which analysed the component's source code was a good approach in deciding if a modularization would be beneficial. For the second method an approach which used data regarding the current effort distribution to estimate the e ort saved by modularizing was chosen. The result of combining the two methods was found to be an adequate decision framework which provides useful information in the decision if to modularize part of a component or not.
Data- och informationsvetenskap , Computer and Information Science