
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.
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.
These practices prevent technical debt and establish a technical equity foundation that pays dividends over the life of your codebase.
