waterfall (was Re: REPOST: Re: Book "python programming patterns". anybody read this??)

Alex Martelli aleax at aleax.it
Wed Jan 2 11:59:41 CET 2002

"Peter Milliken" <peter.milliken at gtech.com> wrote in message
news:a0t49r$e861 at news1.gtech.com...
> the concepts are still sound. As far as I am concerned the other models
> purely modifications of the concepts found in waterfall (get each step
> before proceeding to the next) and whether you use waterfall, spiral or

The key concept in any form of modern software development methodology is to
acknowledge that you *CANNOT* confidently "get a step right before
to the next": feedback and iteration are not optionals.

It makes about as much sense to describe this as "purely modification of"
waterfall, as to describe communism as purely modification of the concepts
found in liberalism (let each citizen pursue his personal advantage freely
within the laws): sure, just change the laws so you can only do what the
Central Committee tells you to do, and there you are.

> AFAIK, waterfall is perfectly appropriate if you can get your mind around
> the problem in one go and the customers requirements are definitive - use
> one of the other models otherwise :-)

How do you KNOW that "the customer's requirements are definitive"?

Let's say: use waterfall when you are ABSOLUTELY certain that the
customer's requirements are definitive and you have understood them
correctly and completely at once.  To make "absolutely certain" more
concrete, let's say that you will undertake to disembowel yourself
ritually if it turns out you were wrong -- that the requirements were
NOT quite as clear, well-communicated, well-understood, definitive and/or
nailed-down as you thought.  If you're not willing to commit to this,
then you're not ABSOLUTELY certain, and you shouldn't use waterfall.

Now THIS seems a workable operating definition to me.  Besides, the
few developers self-assured enough to operate this way will soon be
out of the gene pool, enhancing the breed.  A win-win proposition.
The only real defect of waterfall as applied over the last few decades
is the lack of a precise definition of "absolutely certain", and by
the hara-kiri clause I think we remedy that quite effectively.


More information about the Python-list mailing list