http://qs321.pair.com?node_id=401339


in reply to Three steps to sanity
in thread OT: Project clients

Build a *minimally functional* app based on client specs. Plan to throw it away; you will anyway.

Not even Brooks believes that any more.

In fact, near the end of The Mythical Man-Month's 20th-anniversary edition, Brooks acknowledges that his advice to "build one to throw away" sounds suspiciously like "make sure the one you keep suffers from the second-system effect", since it's going to be the second system you build. :-)

Non-dogmatic refactoring has worked well for me. Don't feel obliged to reuse code that sucks, but don't feel obliged to throw it out just because Brooks said so in the 1970s, either.

(While we're at it, why stop at three steps?)

--
Yours in pedantry,
F o x t r o t U n i f o r m

"Lines of code don't matter as long as I'm not writing them." -- merlyn

Replies are listed 'Best First'.
Re^2: Three steps to sanity
by bibliophile (Prior) on Oct 22, 2004 at 18:13 UTC
    Refactoring, yes... but I would include "refactoring" of both the design, and my understanding of the client's understanding of the design. And of the client's understanding of the problem. And my understanding of the client's understanding of the problem.

    Hmm. I think what I'm trying to get at is simply that the system you end up implementing may bear little resemblence to the system you *thought* you were going to build :-)

    (Why three? Just MHO. Seems to be enough iterations to get to the right design, without being too many to do in a reasonable time frame. <shrug>)