Thu. Jan 20th, 2022

In 1992, Ward Cunningham coined the metaphor “technical debt” to emphasize how companies weigh their short-term profits against the long-term viability of a software product. Business dynamics have evolved a lot since then, but the metaphor still works.

Preferring a short-term plan to get a faster go-to-market option isn’t always bad, provided the company has a backup plan to deliver well-designed code that would simplify future iterations and innovations.

But for startups, reworking is difficult because deadlines and resource constraints prevent developers from producing clean and perfect code. Startups prioritize short-term plans and focus more on adding functionalities to reach milestones, sign up big clients, or raise funds. This shuffling of the roadmap and ignoring the long-term vision leads to technical debt.

I have worked closely with over 25 startups and learned a lot from their journey from early stage to growth stage. I’ve realized that avoiding technical debt becomes easier with some ground rules.

Here are four rules startups should follow to avoid technical debt:

Do not allow specific deployments to continue for more than three months

Startups often try to adapt their product to the demands of their large customers. Sometimes this leads to two products: a generalized version and a custom version, and converging them becomes difficult over time.

To stay on track, companies start cutting back, which destabilizes the product. I’ve seen engineering teams work on customization for a whole year and then spend 20 months merging and stabilizing the core product.

The foundation of every software product is directly responsible for better scalability and maintainability.

Startups generally work with a runway of 18-24 months before raising the next level of funding. If they rework to generalize features, they could lose a precious quarter of stabilization.

What to do:

When teams work on custom features for longer than the specified timeline, it becomes complex to merge them back into the core product. It is better to recognize that products may not be customer specific in the beginning. Startups should consider the platform and think in advance about future maintainability.

Leave a Reply

Your email address will not be published. Required fields are marked *