Here are some insights/thoughts re keeping your technical debt load in check:
/1
/2
Technical debt *was* the product.
More recently, consumer services like Facebook essentially have one product that serves billions (with a healthy dose of i18n).
/3
/4
🛠️ Customizing software for customers
⚙️ Developing new features to close deals
📦 Porting software to new platforms
How do u know you’re in technical debt?
If you can’t do 10+ updates a day, you will inevitably face heavy “debt” payments
/5
/6
Top-tier law firms sell access to proprietary legal “algorithms” alongside a high-margin service layer on top. Many startups fall into this mode (without the high margin services) completely without realizing or admitting it.
/7
Taking too much VC leads many startups to chase growth at all costs (NB: techcrunch.com/2017/10/26/tox…). Amassing technical debt allows a startup to grow quickly, but eventually, growth slows, debt stubbornly accrues and problems mount.
/8
A good measure of debt load is when an employee leaves. Often, the key account they managed was held together by their specific expert knowledge and the departure leaves behind a disaster.
Think of it as a technical debt balloon payment.
/9
The ability to spur growth by incurring debt has diminishing returns. At a point, the debt load swamps a startup’s chief competitive advantage: agility.
New opportunities will be foreclosed by a requirement to support promises to prior customers.
/10
Paying off your technical debt generates no value. In fact, it will likely diminish a startup’s value in the short to medium term by increasing the engineering staff and associated costs.
/11
Here are some approaches that I’ve seen be effective:
/12
If it can’t be seen, it can’t be managed!
Sin: Not realizing how much debt is incurred
Lesser sin: Aware of the debt, decide to take it on anyway
Virtue: Understand the tradeoffs of debt and incur for well understood strategic reason
/13
Founders BS themselves and boards
Boards BS themselves
Entrepreneurs shouldn’t wait for tech debt to become a crippling problem before addressing it. While everyone's incentives are based on growth, debts can only be ignored for only so long.
/14
The “efficient frontier” of financial debt is a simple concept. Too much debt strangles growth via interest payment. Too little debt minimizes growth through lack of investment. Apply the same principle to technical debt.
/15
There are no clean slates at startups. Five year planning cycles make sense at Oracle, not at VC-funded startups that expire in 12-18 months absent a further infusion of capital. Don’t wait for a perfect moment to tackle tech debt.
/16
There are $100M ARR startups with 20 person engineering teams, but they don’t luck into this kind of efficiency. It’s achieved by thinking steps ahead and making wise investments early on in the startup’s life.
/17
It’s one thing to build a custom feature for a client. It’s another to turn that feature on from within a mass-customizable codebase. Alway encourage the product team to think in terms of an architecture of mass customization vs. bespoke.
/18
Make liberal use of 3rd party tools to keep engineers focused on core value-adds. Engineers will gripe about the limits of these tools and the BoD might flinch at the cost. Still, when time and velocity are at a premium, tools are a great investment.
/19
Services get a bad rap as unscalable sources of revenue, but some of the best companies in SaaS have used services revenue to defray the cost of scaling. Maybe consider following their lead:
HT @chetanp
/20
If a founder is looking at a multi-year rewrite of their codebase, there truly may be no better time to sell. Sometimes acquirers may not even care, as they may just migrate customers onto their own systems anyway.
/21
Unlike a real balance sheet, startups can never get back to even. Tech debt isn’t a burden to be temporarily managed & paid down. It’s a series of tradeoffs that permanently alter the trajectory of a startup.
Incur it carefully!
/22
/End