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.[1] At the critical mass stage, fixing a bug introduces one or more new bugs.[2]
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.