“Are you kidding me? Do you mean to tell me that this change is going to take three weeks? Think long and hard before you answer that!”
That exclamation was, in fact, followed by an awkward silence. In the next few seconds, I thought…
- This isn’t what I signed up for!
- I joined this team because I wanted to build cool, bleeding-edge software that would truly delight customers.
- How on earth is this MY fault?
- Maybe I should re-assess my career.
At last, I mustered up the courage to respond to the company president, “Sir, I understand and appreciate how important this change is to our company, our customers, and to you. This change represents value that will be a game changer in terms of our competitive advantage. If there is any way to build this faster, I will. Unfortunately, we’re being held hostage right now by an enemy – the enemy is called Technical Debt.”
I started to explain Technical Debt to him, but he didn’t want to hear it. All he heard was whining. At least he didn’t fire me on the spot, so something must have resonated.
The Harsh Truth
There were many truths and many fallacies in that brief exchange.
One fallacy is that I didn’t sign up for this. Actually, I signed up to own speed to value, and we were unable to deliver with speed, so yes, I did sign up for this. Another fallacy is that it wasn’t my fault. However, the minute I took the job, I owned all the problems associated with it, including poor design, coding shortcuts, and escaped defects that had been there for years. I may not have created the problems, but once I started on the job, I owned them.
One truth is that the change was going to take three weeks. Whether I lied and gave an earlier date, punted and said I’d do my best, or spoke the truth with courage and conviction, the fact remained that this simple change was going to take three weeks. Another truth is that I had joined this team to build cool, bleeding-edge, delightful software, and we were being held hostage by Technical Debt. The hardest truth is that it was incumbent on me to fix the problem.
See Reality, Accept Reality, Deal with Reality
This scenario took place prior to when I joined Exceptional Difference. I knew about tech debt – I just didn’t have the tools or experience to solve our tech debt problem. I had to deliver value with speed, so I needed to find a better way. Knowing that Exceptional Difference had solved this problem for many companies, I gave them a call and asked for help.
Exceptional Difference helped me start by explaining the facts to get our president to see reality, accept reality, and deal with reality:
- There is tremendous value in our ability to innovate and deliver with speed. Innovating faster than the competition is critical to winning in the marketplace. He strongly agreed.
- Technical Debt exists in our environment, and regardless of how it got there, it needs to be addressed. He reluctantly agreed.
- There is a cost to remove this debt, and we will produce the data to justify that cost. He was intrigued.
- Exceptional Difference has the mapping tools and experience to identify where the debt is in our system, calculators and experience in calculating both the cost of debt removal and the return on investment, and processes that have been used by thousands of engineers across the globe to crush technical debt for good. He saw hope, and he was willing to give it a try.
Having seen and accepted reality, it was time to take the next step – deal with reality.
An Exceptional Way
We first mapped the technical debt in our system. We calculated the costs of tech debt removal for various modules. In some cases, especially those where the modules weren’t heavily exercised, it made sense to leave things alone. However, in modules where the tech debt was heavier, or where code was changed and exercised more frequently, it made sense to remove the tech debt.
Next, we needed to find the optimal balance. We couldn’t shut down the business and only fix tech debt. Using ROI, we prioritized the sequence of tech debt remediation in a plan that would allow the business to optimize the balance of new functionality and tech debt removal. It wasn’t as much new functionality as they wanted, but everyone saw the numbers, understood the value, and agreed to the plan.
Outcome
I’d be lying if I said we lived happily ever after. Every date was challenged, every ROI was scrutinized, and every trade-off was met with complaints about the need for speed. However, it only took the first few changes to get everyone on board. As we started to knock down the debt, we were able to deliver changes faster. Over time, we solved the largest areas of technical debt. More importantly, we reclaimed both speed to value and the joy of engineering, which made it easier to attract and retain top talent while delighting our customers and executives!
In the steady state, we agreed to an approach that would keep tech debt at bay. We also invested in improved planning processes that would reduce the risk of having to cut corners going forward as we were better able to make commitments we could keep.
I have been in this situation more than once, and it didn’t always go this well. One senior executive refused to get help and said to figure it out. Without the right tools and experience, it’s a very difficult problem to solve. Ultimately, the volume of change was too much for the system, and we went over the ‘tech debt cliff.’ We had to rewrite the system, which paralyzed new functionality for nearly a year before the project failed, ultimately costing millions of dollars. Help would have been faster and cheaper!
Next Steps
Exceptional Difference has helped thousands of engineers across the globe crush technical debt. We have worked in various industries, including defense, financial services, space, information technology, consumer sales systems, navigation, and more, and we have developed a comprehensive approach to understanding and crushing Tech Debt.
Download our Difinitive Technical Debt Self Assessment from our resource library.