What BarryBoehm did was measure the cost of faults vs time. He was measuring waterfallish projects, and chose to measure at faults inside analysis, then inside design, then inside coding, then inside testing, and so on. But the key thing was that the cost of fixing things increases profoundly, the longer we wait. People have taken the wrong lesson from the data. The lesson taken was "do more design so we'll find errors inside design". Wrong. Stretching out design just makes the errors cost '''more''', whether found inside design or in a later phase. The right lesson is [to] find out right away whether we've made a mistake. The best way to do that is to take an idea through analysis, design, code, and test in the shortest possible time. TimeIsTheEnemyPhasesDontHelp -- RonJeffries on the XpMailingList ---- The argument seems to employ phases, i.e. "analysis", "design", "code" and "test", the difference seems rather to be that they should be employed repeatedly as unclassified segments, in order to avoid the PhasistPractices of Singular Analysis, Singular Design (BigDesignUpFront), Singular Coding, and Final Testing as separate processes. If I get it right the XP Practice of ContinuousIntegration is that unclassified iterative process. -- OnlyaStudent ---- CategoryExtremeProgramming