DesignDebt slows development, causes bugs to be introduced, and hinders maintenance. Therefore, aggressively reduce DesignDebt whenever possible. '''Possible Techniques:''' * DoTheSimplestThingThatCouldPossiblyWork * YouArentGonnaNeedIt * RefactorMercilessly * CodeUnitTestFirst * OptimizeLater '''Known Uses:''' Possibly one of the ExtremeProgrammingPrinciples '''AntiPattern:''' BigDesignUpFront See DesignDebt, TechnicalDebt, ComplexityAsDebt, EliminateTechnicalDebt ---- CategoryProtoPattern | CategoryProcessPrinciple