Technical Equity or Technical Debt: Stay Fit or Get Flabby

Technical debt refers to aspects of a codebase are incomplete, deficient, obsolete, or buggy. This can occur for many reasons: insufficient time, uncertainty, omissions, poor workmanship, or poor management. This is termed “debt” because it will take additional time and money to correct, update, or revise.

Technical equity refers to aspects of a codebase that facilitate its development, testing, deployment, and maintenance. I call these aspects “equity” because they reduce the time and cost for all kinds of work on a codebase. It is not the absence of technical debt: a codebase can easily have both.

The effects of software development practices on a codebase are like the effects of lifestyle on your health and longevity.

Accumulating technical equity is like getting regular exercise and following a good diet. Everyday life is better – you’re alert, relaxed, and sleep well. You have reserves of energy for regular work and short-term stress. Serious illness is prevented or minimized.

Accumulating technical debt is like leading a sedentary life fueled by junk food. Everyday life is diminished – you feel lethargic. Any exertion outside of your routine leaves you sweaty and gasping for breath. Serious illness generally happens sooner and is worse when it does.

The following practices build technical equity. They are proven, platform-agnostic, and process-agnostic. The links about the practices are just a taste — all have extensive liturature and many tools.