Assessing your team’s technical debt, helping to pay it off, and calculating the ROI of the repayment
A maintainability violation in a software system is a sub-optimal solution that slows down software development. The solution for such a violation is rewriting the code related to that violation. This rewriting, or refactoring, costs time and effort, but it removes the maintainability violation and thereby reduces the technical debt in the system. Future development should now be a little bit faster.
But not all refactorings are created equal. Some deliver much more future development productivity increases than others. In short, a refactoring-specific ROI should inform your decision where to use your limited resources.
SIG has developed an approach in which these factors can be calculated and prioritized automatically and continuously, as systems are developed. By taking a portfolio-level approach, refactoring candidate prioritization can be performed over multiple systems to efficiently distribute a limited refactoring budget.