Feature Focus: Portfolio Advisor for Technical Debt

We recently enhanced the Technical Debt calculation in CAST Highlight which has enabled new possibilities to visualize and analyze the Technical Debt of an application portfolio. One such scenario is automated prioritization of recommended remediation efforts using the new Portfolio Advisor for Technical Debt. This article explains how the Portfolio Advisor for Technical Debt works and how to use it to build informed action plans for tackling Technical Debt across an application portfolio.

Visualize Technical Debt to better tackle it

Technical Debt is a useful measure to analyze the health of an application portfolio and start prioritizing and quantifying remediation effort. In a recent release, we enhanced CAST Highlight’s Technical Debt estimates to make it more powerful, accurate and flexible. It is now time to illustrate this with the Portfolio Advisor for Technical Debt!

There is now a new way to visualize and navigate the Technical Debt of applications to help users understand how it is structured:

  • Does more Technical Debt come from Software Resiliency or from Software Agility programming practices?
  • What is the technology stack that is generating most of the Technical Debt?
  • Does Technical Debt originate from just a few code insights or is it more due to a broad array of programming practices?
  • More interestingly, what is the contribution of high-priority code insights to Technical Debt versus medium and low-priority?

The Portfolio Advisor for Technical Debt allows users to navigate and drill-down into these four layers of aggregation and identify the top 5 applications you should focus on for each data segment. Let’s see how to use the feature in a more detailed manner.

How it works

At the portfolio level, go to Dashboards > Technical Debt, then click on the “Portfolio Advisor for Technical Debt” tab. The “sunburst” chart displays the four layers of Technical Debt:

  • Software Health factors: Software Resiliency, Software Agility, Software Elegance. The size of each segment is determined by the amount of consolidated Technical Debt of all code insights attached to a given health factor.
  • Priority: high, medium, low. The size is determined by the amount of Technical Debt of code insights grouped by priority within a given health factor.
  • Technology: Java, Python, COBOL, etc. The size is determined by the amount of Technical Debt of code insights grouped by programming language.
  • Code Insights: the size is determined by the amount of Technical Debt for a given code insight.

Click on a specific segment to drill-down into it and display the “Top 5 applications” to the right of the chart. The list of applications is updated as soon as you click on another segment and shows the applications having the most cumulated Technical Debt for the selected segment. Clicking on the central segment will drill-up, back to the upper layer view.

You can also change the way Technical Debt is layered by dragging these elements in the boxes in the upper right. Then, the chart will be re-traced with your new order preference. You can also remove a layer from the visualization (e.g., hide the technology layer) to simplify the navigation.
This view is also available at the application level. On this application ID card, under the “Overview” tab, click on the Technical Debt tile to load the chart.
Finally, if you would like to customize the priority for some code insights or the estimated effort to fix them, you can edit the model from MANAGE > Manage Technical Debt Effort. Once your modifications are done, don’t forget to click on the “Save definition” button and click on “Recompute” to re-calculate Technical Debt estimates for the whole application portfolio.