Many companies are maintaining “technical debt” within their application portfolio this impacts not only the long term costs of ownership, but also affects their customers and business.
For this blog, my definition of “technical debt” is when you find yourself consistently pouring time and money into an application portfolio that is not meeting the business’s needs.
The Real World Example
A good example is a Healthcare Company that we recently worked with that was suffering from functionality and stability issues with a large in-house developed order to billing application that was core to their business. This application had developed organically through years of random additions for fixes and new functionality.
Think of this progression in comparison to the game “Jenga”. To be successful playing Jenga you leverage experience, lessons learned, and planning to foresee how minor changes impact the overall structure.
The order-to-billing application had matured over time and by integrating ad-hoc application features that weaved complexity and fragility into this critical application the company started to have issues.
Due to the age of the technology, lack of proper design and structure, and the overall complexity of the solution this company found itself inordinately depending on the original developer to make changes. This introduced a major risk to the company should he ever leave. Unfortunately, the company was not able to find candidates in the labor market that were familiar and willing to work with the legacy skill set needed for this application. This created a resource bottleneck that forced the company to wait long periods time to get minor functionality fixes or new features applied.
After several recent “upgrades” led to extended outages that severely impacted the company’s ability to run their business and negatively impacted their customers; we were brought in to evaluate the application.
On review, there were many issues that would have to be corrected and the cost for a resolution leveraging the existing application was substantial.
Where Is Your Company?
If you are beginning to feel symptoms of “technical debt” such as the following:
- Knowing that technology is outdated and staying the course anyway
- Finding yourself with “resource lock” because you can’t onboard developers to maintain the application
- Unable to quickly get new features released to improve productivity or remaincompetitive
- Having to frequently “work around” existing functionality
- Difficulties scaling to meet growth or load
- Having stability or performance issues that are impacting your business
These symptoms all point to one thing: It is time to begin making changes to “right the ship”. The longer these issues go ignored the more painful the remedy will be.
The Unplanned Costs
Besides having “technical debt”, many companies do not factor in the “hidden” costs for owning a software solution. Some companies do not plan costs such as:
So how do you get a handle on what the actual long-term cost will really be?
- Hosting Costs
- Hardware and networking costs (upfront, upgrades, renewals, depreciation
- Licensing Costs
- Backups and storage
- Specialized vendor support costs (VMWare, Cisco, etc...)
- Vendor skills augmentation to cover in-house expertise gaps
- Operational costs
- Unplanned capital expenditures
- In-house resource costs
Instead of maintaining all of these responsibilities in-house, I recommend offloading them to a third party vendor who can provide less expensive options. Also, if you are using co-managed or co-located hosting options then I would take a hard look at the real costs for this service.
Emerging Hybrid cloud solutions as well as pure cloud PaaS, IaaS, and SaaS offer cost effective hosting models that allow you to forecast predictable pay-as-you-go costs while maintaining high service levels through economies of scale.