What will be your reaction when your CFO walks into your Office with a pained look on her face? When asking what the problems were, she expresses her mind “I just ran some reports, and I’m concerned. There is need to tighten up company spending over the next two quarters to pay down company line of credit. Otherwise, the company will be in real trouble a year from now.”
Surely, her expression would get your attention for an action.
Another matter arises when CTOs makes a similar statement, “I need 50% of my staff to focus on paying down technical debt”, and based on engineering preference this tends to be addressed as a nice-to-have. As a matter of fact, the executives and staffs outside of engineering cannot see the ROI and the gains do not fit into the tidy quarterly window. It indicates that such recommendations will favor the next headline business goal in a continual process.
Paying off debt in the Industry
However, the technical debt could be seen as an abstract concept in the industry. But majorly, business stakeholders see it as an actual debt. Instead, they think of it as the “still-ineffable reason that engineering deliverable is late (again).” There thought is a real disservice to engineering industry and ironically, it is quite toxic to sustainable innovation.
Accruing Real Interest
Technical debt in the industry could be seen like financial debt in other business because it saves industry to progress. Consideration for technical debt in the sector are as follow:
- In the industry, the engineering teams usually created technical debt to meet today’s headlines at the expense of future efforts of the industry and the professional quality for the survival of the industry.
- Paying off the industry debt requires discipline, and making due with less—getting by with a thinner stream of new features while debt is cleaned up.
- As the tech debt grows, all engineering activity becomes incrementally more expensive, and this needs to be left unchecked as tech debt snowballs like compound interest in the business.
Though, the accruing technical debt makes perfect sense for young startups in the industry.
However, the thinking goes: pay for today’s progress with tomorrow’s efforts, until it’s clear whether the company will survive in the market or otherwise.
Economically, once the startups fail, there is 90% chance that the company future is at stake because of the higher probability that such company will fail and such debt will never need to be paid. But this reasoning has a pretty short shelf life.
What senior management in the industry hears is:
The engineering is requesting permission to move at half pace for next three months
The early growth stage of the companies is mostly fragile, their finances will be tight, and their customer expectations increases and as a result of that all the debts eventually come due.
But, the real problem associated with accruing technical debt is that the companies will never want to pay it off at once. Since only the engineering team felt the pain of the technical debt; then it may be difficult to get the support of the stakeholder in paying it off.
What senior management hears is “engineering is requesting permission to move at half pace for the next three months.” The other in the company has trouble relating to the abstract nature of engineering work, and more so the tech debt. That is why the request to pay off the tech debt is so easily brushed aside.
The tech debt death spiral
The startups should be encouraging not to worry too much about the tech debt in the early days of their establishment.
startups that died from technical debt: Friendster. but huge graveyard of startups that stopped product dev to fix tech debt. (h/t @rabois)
— Sam Altman (@sama) August 10, 2015
But startups are not forever young.
Technical debt kills the companies in the growth stage but may not kill at the early startups. The death-by-tech-debt is a slow, lingering kind of death and it doesn’t happen with the firework of other types of failure no matter how.
Here’s what the death spiral looks like:
- The company sidelines engineering’s concerns as a nice-to-have
- The codebase itself quite literally becomes a “challenging work environment.”
- It gets hard to recruit strong engineering talent.
- The company’s best engineers start to leave for blue-sky work at other startups where the codebase is more enjoyable to work.
- New features start shipping very slowly. Or stop altogether.
- Gradual attrition of all engineers who like building things until only “maintenance-style” engineers remain.
- The company falls irrecoverably behind the times.
A company or business who accrue technical debt without accurate budgeting time and the adequate resources to pay it off, parts of the codebase of such company or business will become too unmanageable to modify. Therefore, the engineering deliverables get smaller and less frequent.
The customers experience the zombification of the company product.
The codebase of the business goes bankrupt eventually. Moreover, the only practical choice for the business will be to rebuild the entire thing from the ground up, but only very few company or businesses ever get a chance to do so.
Death-by-tech-debt is a slow, lingering kind of death
The better idea is the incremental payment of technical debt, much more like paying off the line of credit in a bit. This can be consciously incorporated into engineering operations while also investing in new work. In this case, the engineering teams need to buy-in ideas from the management to do this well.
If the company engineers have been doing a great job for the past year or so, then, the fact that they are selling the company future a bit to do the job is normal but they need to prepared for the bill to come.
There should be proper attention to the engineering teams whenever they talk about the technical debt, listen to them as you listen to the financial team when they speak of the financial debt because the future of your product could very well depend on it.