Article Discussion
Building Adaptable Systems
Summary: Pragmatic Programmers Andy Hunt and Dave Thomas talk with Bill Venners about reversible design decisions, the cost of change curve, going beyond the requirements, and making systems configurable.
0 posts.
The ability to add new comments in this discussion is temporarily disabled.
    Bill
     
    Posts: 409 / Nickname: bv / Registered: January 17, 2002 4:28 PM
    Building Adaptable Systems
    March 30, 2003 11:50 PM      
    Dave Thomas says, "The mistake people make is saying, OK, I'm going to write these components. That means I need a framework, and starting with the framework. I can guarantee that any project that starts by writing a framework will never finish writing the framework."

    ead this Artima.com interview with Pragmatic Programmers Andy Hunt and Dave Thomas:

    http://www.artima.com/intv/adapt.html

    Here's another excerpt:

    Dave Thomas: It also comes down to our old friend the cost of change curve. The cost of change curve basically says that the cost of making a change increases exponentially over time. There are various expressions of it. For example, the cost of fixing a bug after a system has been deployed is 1000 times more than fixing it when the system is being designed. But the general agreement is that the curve goes up non-linearly as time goes on.

    The meter of the cost of change curve starts running when you make a decision. If you don't make a decision, then there's nothing to change, and the curve is still flat.

    Andy Hunt: The world can change its mind as many times as it wants. If you haven't made a decision or committed yet, your cost is zero.

    Dave Thomas: So rather than make a whole bunch of decisions up front and start the meter running, we try to defer each decision as long as we can. We end up with a lot of small cost of change curves, because each one hasn't had a chance to get up too high. Cumulatively, the effect of adding up those small curves is a lot less than having one curve that starts at zero that ramps up to infinity real quickly.


    What do you think of Dave and Andy's comments?