Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Three steps to sanity

by FoxtrotUniform (Prior)
on Oct 22, 2004 at 00:23 UTC ( #401339=note: print w/replies, xml ) Need Help??


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 (Parson) 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>)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://401339]
help
Chatterbox?
[stevieb]: it is exceptionally difficult I'm finding to debug a dist that is x-platform, where on each platform you're wrapping a different binary. Trying to co-ordinate a successful test run where tests are extensive is a nightmare, especially when the dist...
[stevieb]: ...you're testing is a test system itself. 10+ documented issues fixed, another half dozen found while fixing the original ones. I'm getting there...
[stevieb]: Then throw in changes to Windows that throws everything you trusted right out the window.
[shmem]: that's why it is called "Windows"

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2017-03-28 21:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (342 votes). Check out past polls.