Is Owning a Car like Managing Software?
We all know that the moment you drive your new car off the dealership lot, depreciation kicks in and it instantly starts to decrease in value. Maybe one day, if the vehicle is properly maintained and it becomes a “classic”, it will increase in value. But, that is years away. This is analogous to the effect that technical debt has on software over time. For an automobile, this “debt” is often referred to as “wear and tear” or as Wikipedia describes it: “a form of depreciation which is assumed to occur even when an item is used competently and with care and proper maintenance.” This includes all parts of the vehicle such as tires, body paint, engine parts, etc. It is impossible to return a vehicle to its original, brand-new condition without replacing every single element which would be economically impractical. But, with proper care and maintenance, the vehicle can theoretically run forever. This analogy works quite well when thinking about the technical debt in software.
The Wear and Tear on Software
Like an automobile, software applications need to be maintained; components are sometimes replaced or upgraded; and it is theoretically possible to run an application forever. In fact, if software is developed strategically with a unique business purpose, it can grow in value significantly like a classic automobile. However, it is impossible to avoid building up technical debt and this will grow over time, just like the wear and tear on an automobile. Furthermore, it is not practical to attempt to remove 100% of a software application’s technical debt due to the incredible cost – at a certain point it would make more economic sense to rebuild a new application (like buying a new car).
If we know we cannot eliminate all our technical debt, we have limited resources to address the issue, and we don’t want to “buy a new car”, where do we focus our technical debt reduction efforts? Should we focus on improving Software Resiliency (performance of the car), Software Elegance (the appearance of the car), or focus on the most critical items that create technical debt (replace old tires and windshield wiper blades so that we can keep driving now)? In the case of an automobile, the value of a trustworthy mechanic that advises us on exactly where we should invest in our vehicle based on our priorities is priceless. Care most about the car’s appearance? Get the body detailed. Care more about performance? Tune up the engine. Want to be able to keep driving short distances reliably? Replace the spark plugs, change the engine oil, and rotate the tires regularly.
Imagine if you could have a “trustworthy mechanic” for your critical business applications. Thanks to the Portfolio Advisor for Technical Debt in the latest release of CAST Highlight, you do.
Software Intelligence for Technical Debt – The Trustworthy Mechanic for Your Applications
One of the many innovations in the latest release of CAST Highlight is the unique Portfolio Advisor for Technical Debt. It acts as a trustworthy mechanic for your software by allowing users to intuitively navigate the technical debt of a portfolio of applications or a single application visually and receive objective recommendations on how to reduce technical debt. The functionality of this new feature and the dimensions available in the Portfolio Advisor for Technical Debt are described in detail in this recent blog post by our product owner, Michael Muller.
All the insights provided by this capability are based on an automated and objective analysis of the application source code – not opinions and subjectivity. Plus, you can navigate the recommendations based on your unique priorities. Want to reduce the complexity of your software to improve longer-term reliability? Start with the code patterns that affect Software Elegance. Want to reduce the technical debt of the Java code because that is the future technology direction? Filter the technical debt to view the Java code patterns that are creating technical debt. This can all be done in real time without requiring deep technical knowledge of the software. This is especially useful in scenarios such as performing technology due diligence prior to an M&A transaction when the software being assessed is unfamiliar. It’s like having a trustworthy mechanic who also happens to be your best friend, and has your best interest in mind at all times!
Check out this and all the new capabilities in the latest release of CAST Highlight below:
What’s new in CAST Highlight?