Wednesday, January 21, 2009

Waterfall Model; not what was intended

MANAGING THE DEVELOPMENT OF LARGE SOFTWARE SYSTEMS Dr. Winston W. Royce
Published in Proceedings, IEEE WESCON, August 1970, pages 1-9. Copyright©1970 by The Institute of Electrical and Electronics Engineers,Inc. Originally published by TRW.
The original paper that described The Waterfall Model is quite an interesting read. Dr. Royce describes The Waterfall as something that will not work on any software project of significant size. How did his model become the standard for describing "how to do software"? Erik (Cem Kaner is the person who provided the link to the article) on a testing email list said that people took the first Figure from the paper and used it without reading the paper. It is a grossly over simplified block diagram that doesn't show the iteration that Dr. Royce was advocating.
...Royce's original paper [...] laid out the waterfall model. Subsequent discussions have simplified his model, but you can see that there is a fair bit of iteration designed into his vision of it. I think you can also see that the V-model, which some people talk of as a great refinement of the waterfall, was pretty clearly implied in Royce's discussion. --Cem Kaner, J.D., Ph.D.
This tendency to jump on the first thing you see and not investigate any further reminds me of one of my pet peeves. Instructors who introduce a "new technique" by tell the class the common mistake(s), what not to do, and then showing it "the wrong way" BEFORE SHOWING THE TECHNIQUE CORRECTLY EXECUTED. You must teach it correctly the first few times correcting miscommunications without showing "the wrong way". I don't need to see it wrong, I want to imprint on the correct/preferred technique.

Side Note TRW Inc. was active in the early development of missile systems and spacecraft, most notably the NASA deep space satellites Pioneer 10 and 11 which sent information back to Earth for 30 years and continue to travel to the stars. TRW Inc. also pioneered systems engineering. (Wikipedia, 2009) This paper is a seminal systems engineering article.

No comments: