Technical Equity is the value that accrues when a software system is well-formed. Instead of burdening you with unnecessary excess cost, your codebase works for you. Technical equity pays dividends: you avoid wasted effort and the consequences of buggy releases, and gain the advantage of releasing sooner and/or with more features, for the same cost. It is the opposite of technical debt. It is manifested in better than average productivity and lower than average bug escapes. Instead of code that bleeds you dry, you create an asset that produces value.
The concept of technical debt has certainly gotten a lot of mindshare. But even if your codebase is debt-free, that’s not enough. We should seek to maximize technical equity.
While it takes focus and skill, it often takes less work (cost) to produce technical equity than to go into technical debt. The value-building practices are nothing new or secret.
The secrets of technical equity are not secrets — they’ve been advocated for over thirty years by thousands of well-known and anonymous software engineers and their management. They do not require exotic or arcane knowledge. They do not require a huge and expensive investment in tools or training (some is necessary.) But they do take clarity of purpose and sustained, disciplined focus.
So instead of trying to avoid technical debt, try to build technical equity. Accentuate the positive.
Model-based testing is a significant new tool for creating technical equity — more about that in my next post.