Exponential Cost Curve

BarryBoehm once made a curve showing that correcting an error gets more and more expensive as a project evolved. This insight was reached in the good old WaterFall days, so it goes something like:

An error caught in Design costs 10 times as much as one caught in Requirements. An error caught in Production costs 10 times as much as one caught in Design.

    ^
 C  |*
 o  |*
 s  |*
 t  |*
   c|                  * 
 o h|                **
 f a|              **  
   n|           ***  
   g|    ****
   e|*******
    +----------------------->
     Req Ana Des Imp Tes Pro


RonJeffries will soon publish on extremeprogramming.com an article with a discussion of this curve. Won't you, Ron?

''Yes. It's at http://www.xprogramming.com/xp_magazine.htm.

 [We're sorry! The page you're looking for cannot be found 20030119]
 [Try a related page: http://www.xprogramming.com/xpmag/cost_of_change.htm instead] 

I'm soliciting articles rebutting Alistair's observations. They should be clear whether they are addressing exactly his measures, or different ones going to the same point.''

And we'll have a little discussion of this at OOPSLA in an informal setting.

yup


A more accurate statement of the concept would be that an error committed in requirements costs ten (or some number) times as much to fix if caught in design than it would if it were caught in requirements. Are we sure Barry didn't reach this insight in the good old Spiral days?

-- WaldenMathews


After discussion on the mailing list, the view seems to be that while this may be true of XP there are a number of factors that mitigate this.

-- TomAyerst


The cost can be much worse than exponential. I lost a point to a YouArentGonnaNeedIt person in that I wanted a framework and they didn't. Everyone did it your own way, and that code went into many releases of many products. Now the day of reckoning has come. The cost of not having a framework has been huge and very disruptive. Thinking ahead would have saved so much time, money, and effort.

Was this an XP project?

[It doesn't sound like it. PairProgramming and OnceAndOnlyOnce are supposed to prevent everyone from doing it their own way. In fact, they're supposed to prevent you from having to do it more than once in the first place. The XP way would have been to notice the duplication as soon as it occurred and then (and only then) ReFactor the duplicated code into a framework, one providing no more generality than is necessary to solve the problem.]


EditText of this page (last edited June 21, 2005) or FindPage with title or text search