Upfront Design Income

Up-front design done poorly puts you in debt. The XP contention that 'any non-YAGNI approach is by definition in debt' is incorrect. Up-front design done well offers a great deal of income compounding well in to the later life of a project.

You can do something well when you have experience in the domain. You can do something well when it is very simple. A professional knows when they can do something well and when they can't. When they can't they rapidly prototype to reduce risk of loss.


Partial counter-assertion:

Many professionals believe that they know when they can do something well and when they can't. A particular peril that many professionals fall prey to is to take the initial requirements as givens, moving on to spend time designing and prototyping something that the customer, in the end, doesn't want, or decides to scale back on when the cost of construction is revealed.

The benefit of proceeding forward in small steps, applying YAGNI as you go, is that the customer starts seeing real artifacts early, giving them a chance to clarify or amend their requirements before you've burned through a lot of UpfrontDesign? time.

And YAGNI doesn't say you can't do rapid prototypes. See SpikeSolution. YAGNI just requires that you don't check your rapid prototypes into the mainline unless or until you absolutely need it to satisfy a story.

Relate this to the "sure thing" in investment. You can make money on a "sure thing" if you're a smart investor, but "sure things" are rarely big winners. In software, there are very few "sure things" since software is so volatile (in the investment sense of the word). Following this metaphor, DesignUpFrontIsInvestment, but only very small DesignUpFront (when you're experienced and it's simple) is ever a "sure thing". BigDesignUpFrontIsRiskyInvestment?.


Many professionals believe that they know when they can do something well and when they can't.

Then pretty much everything they do will suck as they will always think they are doing the right thing but never are so the approach taken doesn't really matter. -- AnonymousDonor


See DesignDebt


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