Every developer knows that complexies lie in each and every part of software he or she maintains. But this is a local view; these issues may not be significant compared to others. It’s also difficult to have a proper assessment of the risk associated with removing those complexities. What other parts of the software will be affected? Will new risks be introduced?
Management teams, on the other hand, have insight on the business value of their systems. But how should they best deal with technical debt? What’s the ROI of improving it? Where are the best candidates in the landscape? These insights are key for effective technical debt management, but difficult to acquire.