Critical mass (software engineering)

In software engineering, critical mass is a stage in the life cycle when the source code grows too complicated to effectively manage without a complete rewrite. At the critical mass stage, fixing a bug introduces one or more new bugs.

Tools such as high-level programming languages and techniques such as programming in the large, code refactoring and test-driven development, exist to make it easier to maintain large, complicated programs.