Systems & Software Talk 

Visitors since August 14, 2007: Free  Web Counters
Free Hit Counters

Waterfall Myth Busted Plus Bonus Busted Myth

10:04, 2007-Jan-14  ..  Posted in General  ..  7 comments  ..  Link

The Waterfall aka Cascade

People flock to Niagara and Victoria Falls. When people mention software development and waterfall in the same discussion, people become agilisticated, (see footnote 1) grab pills to pop, grab counter-culture folk music, and with extreme agility flock to severe weather shelters; shedding crumbs of scrum cemented to beads of forehead sweat during their haste. Davy Devodefectisius sheds much more. His beads of sweat mix with his testosterone from a hormone spike that transpired while he was ogling Candice Compilerati in the project meeting that just came to an abrupt end as people heard the word "Waterfall" and now make haste scrummying to the emergency exits. Drug-sniffing dogs begin to bark uncontrollably to escape their confines and track down the pill-poppers. Cal-Poly seismographs awaken Richter. Why am I blogging this?

  1. I am frustigitated (see footnote 2).
  2. Do I expect to right the world and cast aside all the myths? No.
  3. Do I want to be defensive about it? No.
  4. Do I want to whine and complain about it? Yes!

The myths and misunderstandings accompanying the term "Waterfall" have a surprisingly simple origin. We will get to that later. When the term "Waterfall" was first coined, there was no baggage. I find it amazing how much baggage it has acquired through the years. The following is a list of some of the baggage.

  1. Misunderstandings and misconceptions
  2. Fear
  3. Countless debates
  4. Verbal violence behind closed door IT-meetings
  5. Penalties dispatched by superiors to subordinates who were adamant at keeping Waterfall
  6. Loss of productivity due to the debates
  7. Loss of large amounts of productivity because some new methodologies were evolved to replace Waterfall – all due to misunderstanding and hearsay!
  8. Add on misinterpretations
  9. Monetary wealth for those who eloquently added to the baggage, transferred it, and transitioned it into high-paying consulting engagements and books about "better" and "unlike-Waterfall" methodologies
  10. Exams have questions about it and how it compares to other development methodologies. If one gives the true answer, one will have the exam question marked as incorrect.
  11. When asked about it, interviewees suffer the same fate as the examinee in the above item 10 exam.

RELATED HEALTH ISSUES

"Waterfall" has sparked controversy and software development methodology wars. There are and have been victims. The traumatized victims are responsible for a huge increase in medical claims related to Develmethodus Syndrome. This syndrome – DS causes analysis paralysis in the victim, which may lead to truth-about-waterfall shock. That shock should be treated immediately by soothing the victim with the standard suite of Waterfall untruths.

DS manifests itself most often in IT meetings involving software development planning. One can easily spot the victim(s). Glazed over eyes follow frequent bouts of tongue biting; tongue biting that outputs internally rather than vocally. The victim will suggest a bio-break and may blurt out short buffer-bursts such as "Agile" or "Scrum" or "Waterfall sucks". The host of the meeting should grant the bio-break in order to mitigate the victim’s symptoms and prevent gaseous NH3-based asphyxiation of the other meeting participants.

(for those of you thinking you might have this syndrome... before you call the doc, this - the section "Related Health Issues" is of course, fiction!)

Are you ready for truth? Brace yourself. Take a laxative laced with antacid. Have a beer. Sing along with Milli Vanilli.

Before I expose the simplistic yet shocking details, I recommend surfing wiki to look up Byte, Endian, and Floppy Disk. The origins of those terms underscore just how quickly something so simple as waterfall myth takes root within this industry. See footnote 3.

A SIMPLE TRUTH

One day a bunch of computer geeks were looking at a diagram in an infamous U.S. Military Standard. The diagram looked like a cascading waterfall. Someone said, "It looks like a waterfall." Others chimed in with agreement. The Waterfall was born - again! (see footnote 3). The methodology itself was iterative, contrary to what the diagram suggested. How do you know Jake? I was born and bred on it, on many DoD contracts. I was in meetings where we had the same perceptions of the diagram, "Dang, it's a waterfall!". I do not know or care if any of those meetings can stake claim to lighting the Waterfall fire which has for all intents and purposes has brought many projects to their knees due to all that has been suggested here.

We teams charged with marching to it, marched in iterating circles while Billy Preston sang about it. We iteratively and incrementally cranked out applications that could land aircraft automatically and keep aircraft from occupying the same airspace at the same time. We also iteratively cranked out applications that would help aircraft occupy the same airspace at the same time! We also "jammed" in iterative fashion to the musical signatures of Electronic Warfare. Well Jake, if all this worked, how did the methodology come to be so controversial and misunderstood? Simple! Some people looked at a picture and not the text. The "Not-invented-here" syndrome-headed people got their dollar-squeezing hands on it and operated from the concept of "a picture paints a thousand words" without reading the explanatory text. (Thank you David Gates and those you borrowed from). The bad-mouthing contest began. High-paid consultants convinced the DoD that their consult was worth part of the DoD budget and that "Waterfall" missed the mark. Dilbert was born again! Thank you – not Scott Adams, but U.S. Naval Aviation! (Oh no… another myth busted!) Here is your bonus busted-myth:

http://www.history.navy.mil/nan/gramps/grampshome.htm

NOTE! I am a huge fan of Scott Adams and have a deep appreciation for his contributions. It is important that we can laugh at ourselves. He is the IT-laugh pioneer IMO!
Here is a picture of the 2nd generation origin of Waterfall:

http://www.product-lifecycle-management.com/download/DOD-STD-2167A.pdf

Page 16, paragraphs 4.1.1 and 4.1.2 speaks to both the cyclic and iterative nature of the life-cycle. It also addresses "incremental".

As with all standards, specifications, and software - it wasn’t perfect when first released. Refinements and clarifications have shaped it into what it is today – MIL-STD-498. I believe that too has been obsoleted and superseded by J-STD-016.

COMMENTS/LESSONS LEARNED/QUESTIONS

  • It is amazing how a simple diagram can create so much havoc and fear.
  • One should read the verbiage surrounding diagrams or pictures before passing judgment.
  • Is your organization struggling to implement a development methodology because they believe they are waterfalling? Help save money. Do not go pay big bucks to a firm who will "help" you implement a silver-bullet. If you are executing Paragraphs 4.1.1 and 4.1.2 in practice and/or in spirit, you are probably doing okay.
  • If you are not doing okay and you have a Marketing Department that over-promised, there is no development methodology to cure your ills. This is not about pointing fingers at the marketing folks. However, evidence seems to suggest that the woes begin there. Education along with processes, practices, and refinements serve to comprise the fix.

The author reserves the right to revise this!

FOOTNOTES: As is common practice throughout IT, This author reserves the right to invent new words.

Footnote 1: Agilisticated: an adjective meaning: The feet of people in IT hearing "Waterfall" swell with adrenaline in excited anticipation of SDLC confrontation. Blood flow to the critical thinking components of brain ceases resulting in unintelligible buffer blurting via vocal medium.

Footnote 2: Frustigitated: adjective meaning: concurrent feelings of frustration and agitation.

Footnote 3: To further muddy the waters upstream in time, references to the waterfall appear before my time. The first written material to describe the waterfall was made by Dr. Winston Royce in 1970. However, it is not clear if Dr. Royce was the first person to apply a name to an otherwise development methodology without a name. Dr. Royce described a linear succession of phases and would apparently qualify and/or change his description by suggesting iterations in the latter half of the same research paper. It is important to understand that the paper is a statement of Dr. Royce's experiences. The paper suggests development refinements based upon those localized experiences. Likewise, it is important to understand that my own statement represents my own experiences. Am I compromising on my position of waterfall myth origin? No! I am simply referencing another person's work that actually ties a diagram looking like a waterfall to actual usage of the name "waterfall".

Until I discover otherwise, my own experiences are obviously tied to another thread of development methodology refinement already well-cemented as localized iterative development in the US DoD. Still, the various branches of the military were already ahead of the game as evidenced by the many standards promoting iterative development. The large scale multi-system defense application most familiar to me and my first computing job in 1975 had been in development since the early 1960s, with yearly releases of newly integrated applications and refinements to existing applications. These sub-systems were all developed iteratively. I had joined an iterative development life-cycle in progress.

REFERENCES:

http://en.wikipedia.org/wiki/Waterfall_model#CITEREFRoyce1970

 


 

stick to de-caff

12:24, 2007-Jan-14  ..  Posted by philk10     
good grief man, how many cups of Joe ( the drink not Strazzere ) had you had when you wrote that ?

and do you feel better for it ?

A good read though !

Joe Quantity?

12:51, 2007-Jan-14  ..  Posted by JakeBrake     
4 cups o' garden variety.
Thanks for good feedback!
I feel great!


Edited by JakeBrake on 2007-Jan-14 at 10:52

Is it the same "Incremental"?

05:47, 2007-Jan-16  ..  Posted by ojnjars     
Great reading as provoked some ideas
1) I believe that the document you linked associate “incremental build” approach with what is called branch in version control systems nowadays and has nothing to do with code "incremental build" process that refer to fact that code-base is always stable.
2) This does not change what I think of a waterfall however. I associate it only with defined list of required artefacts and their logical sequence/dependency. Agile is against some of those artefacts and against the sequence of others. They have their own waterfall however :) – the sequence: requirement (user story) -> unit test -> code.


The goal is the thing...

12:15, 2007-Jan-16  ..  Posted by whollymindless     
I've always thought that execution is more important than methodology. Every methodology has the concept of a goal and all of them use some concept of feedback to ensure that they are on target.

The saddest thing I've ever seen is an organization that can't execute their current methodolgy trying to adopt another that they execute just as poorly and expecting different results.

Thanks for the laugh - apparently you feel better!

Edited by whollymindless on 2007-Jan-16 at 10:17

Re: The goal is the thing

12:25, 2007-Jan-16  ..  Posted by JakeBrake     
"I've always thought that execution is more important than methodology. Every methodology has the concept of a goal and all of them use some concept of feedback to ensure that they are on target. "
I agree.

"The saddest thing I've ever seen is an organization that can't execute their current methodolgy trying to adopt another that they execute just as poorly and expecting different results. "
Perfect! This is probably the largest problem. We continue to see abundant evidence that it is so.

Edited by JakeBrake on 2007-Feb-17 at 10:21

Interesting

03:07, 2007-Jan-17  ..  Posted by prainbow     
I think that any methodology scares the uninitiated. Unfortunately, too many of my clients are quite comfortable with the Waterfall method, even when I see how another approach is more suited to their environment.

Nice bit of history you've recorded!

Re: Is it the same "Incremental"?

12:39, 2007-Jan-25  ..  Posted by JakeBrake     
RE:
"1) I believe that the document you linked associate “incremental build” approach with what is called branch in version control systems nowadays and has nothing to do with code "incremental build" process that refer to fact that code-base is always stable. "

Most definitely! We executed incremental builds under very tight version control. "Branches" and "Baseline" are not new words! :-)
The fact that version control software was in its infancy, changes nothing with respect to a concept knowing no time boundaries.

Thank you!

{ Last Page }   { Page 27 of 44 }   { Next Page }

About Me

Home
My Profile
Archives
Friends
My Photo Album

Links

Corey Goldberg
Effective Testing?
Bj Rollison I.M. Testy Blog
Alan Page: Software Testing & Rants
Dmitry's LoadRunner and QTP Blog
Veterans History Project
Air Traffic Control Watch
Music Making Fun
My home 1972-1975

Categories

Functional Testing
Performance Horror
Development
Performance Testing
General
Tools Tips
Warped Humor
LoadRunner Tips and Tricks

Recent Entries

Defect Report - Politically Correct
Performance Testing Vuser Personas – Part I
Happy Holidays 2007
Acceptance Testing (UAT) - Some Answers to Some Questions
Quality Assurance / Test Engineer Bill of Rights

Friends

LauraScharp
philk10
richardw100
aalhait
jimhazen
strazzerj
Lynnem
bru
EklecticTester
jgottlieb
leakybrain
michaeljf
prainbow
rajeshmathur
rstens
Yury
zeeslo
whollymindless

Syndication

RSS Site Feed