|
The article does the setup but fails to deliver. Tech debt, if properly managed, may be strategically advantageous. For example, in an early startup, you make a decision that will be somewhat expensive to pay for later, but now, doing it "right" may be unaffordable (e.g. too late to market, not enough features, etc.). An experienced technical leader can make a conscious risk assessment and choose to incur in tech debt now and pay the cost later and focus the meagre resources of the startup in parts that have a higher chance of ensuring the survival and success of the company. If they're right, and you succeed, if the risk calculation was correct, you now have enough resources to repay that debt, if not, nothing was really lost. Tech debt can be accidental too, for example due to lack of experience with the codebase by some engineers, or by accumulation of unintended consequences. In these cases, once it's discovered an experienced technical leader should make the risk assessment: do we invest now or later? Is this good enough for now? In any case, it should always be managed to your advantage and paid when it's best for the team. |
I have seen the result of projects where the team was overly obsessed with tech debt. The code may look nice, but there is not a lot of it, and the products are invariably feature poor and do poorly when real users get them in their hands. The team was so inwardly focused and they forgot the real world and things like users and features and market realities.
Some tech debt, some dirtiness and rough corners, show a living, breathing product reacting to its users and market and prioritizing value. But make sure you’re aware of what you’re accruing.