Talk:Waterfall model

From Wikipedia, the free encyclopedia

Contents

[edit] todo

To-do list for Waterfall model: edit · history · watch · refresh
  • Format
    • Maybe change the arguments against from a bulleted list to paragraphs?
    • Remove the arguments for BDUF? It has its own page now...
  • Wikification
    • Needs more links
  • Maybe one or two more images
    • sashimi model?
    • one of the other modified waterfall models?
  • More peer review to make sure that all objections on bias and accuracy grounds are covered
    • There are still accusations that the article is biased against waterfall - review from a supporter would be great
    • Further clarify that there's a difference between the "straw man" model of Royces paper and the waterfall model in actual practice
  • Copyedit (spelling, grammar, writing style)
  • Removal of weasel words (many people, some people, allege, claim)
  • Referencing! Especially on advantages / disadvantages / criticisms / users.
  • Change the example from Wikipedia to something else (no self reference)
  • Expand the modified waterfall models section: "other" probably needs to be split into "waterfall w/ subprojects" and "waterfall w/ risk reduction"

[edit] Peer review

Peer review Waterfall model has had a peer review by Wikipedia editors which is now archived. It may contain ideas you can use to improve this article.

Just added a lot of material, I'd like to make sure that it's all correct... GeorgeBills 14:57, 17 November 2005 (UTC)

  • I briefly scanned the article, and (IMHO) it's technically correct. I may tweak some stuff if I get some time, but the general sense of the article looks right. Jim Huggins 22:39, 18 November 2005 (UTC)

I wonder if a link to Tarmo's blog counts as vanity link... Tarmo is a journalist for the biggest computers related magazine in Finland, but still... :/ I'm not very familiar with Wiki customs. --sigmundur —The preceding unsigned comment was added by 194.86.94.11 (talkcontribs) 26 June 2006.

  • Blogs by notable authorities are generally acceptable, at least in the absence of a better citation. - Jmabel | Talk 17:51, 3 July 2006 (UTC)

[edit] Image

I can't draw at all, it would be nice if someone could whip up the coloured boxes in a slightly nicer form and replace Image:Waterfall_model.jpg. GeorgeBills 04:57, 18 November 2005 (UTC)

  • In the meantime, "maintenance" is mis-spelled ... :) Jim Huggins 22:33, 18 November 2005 (UTC)

I created a replacement diagram: Image:Waterfall_model.png. I'll leave the 'reqimage' tag above for now, in case someone thinks this article needs more diagrams. PaulHoadley 03:29, 25 November 2005 (UTC)

Nobody seems to have thought so in almost the last year, so looks like it's all good. -Stellmach 17:49, 12 October 2006 (UTC)

[edit] Previous discussion...

In practice, the process rarely proceeds in a purely linear fashion. Iterations, by going back to or adapting results of the precedent stage, are common.

Would it be correct to state that this actually mutates the waterfall model into a spiral model? (and hence, waterfall method is *almost never* used in its "pure state"? ) 80.126.238.189 13:13, 15 Feb 2004 (UTC)

  • In my opinion ... almost, but not quite. In the waterfall model, the end of each iteration is (supposedly) a fully-functional, deployable, saleable product. In the spiral model, the end of each iteration (except the last) is never intended to be fully-functional; it merely finishes the goals laid out for that particular iteration. Jim Huggins 04:40, 3 Apr 2005 (UTC)

[edit] POV check

This article seems to focusses on the disadvantages of the model, rather than explaining just what the model is. --huwr 01:28, 8 October 2005 (UTC)

It is recognized that the model does not work in reality and indeed it wasn't even proposed by Royce which as the article explains advocated iterative development. It has never been anything more than a straw man model. The only people who advocate anything like it are Dilbert's pointy haired boss and his real life counterparts. If the article simply presents the model without explaining the well known problems with it which are historically the very motivation for developing more workable approachs, this would be a violation of neutrality. I can't see why anyone would want to leave out the facts unless they are embarrassed by the fact that they themselves have been using a waterfall approach without knowing better. Kuratowski's Ghost 11:41, 18 October 2005 (UTC)
It might be nice to add some of the reasons why people think that BDUF and the waterfall model work "in theory" and then point out why they don't in practice. Maybe with some references to publications supporting this; would Parnas' "a rational design process (and how to fake it)" be suitable? There's no way a page on this could omit to mention that the waterfall model is widely regarded as fatally flawed though.  :S GeorgeBills 03:58, 17 November 2005 (UTC)
I've added a lot of stuff to try and get in a better explanation of what waterfall actually is and explain the thinking behind it (and to try and clarify the objections raised against it for people who haven't heard this all before). Can someone please check over what I've written? Thanks. GeorgeBills 04:43, 17 November 2005 (UTC)
OK, I've just added a fair bit of work on what the waterfall method actually is, and arguments for it, including a supporting quote for BDUF from someone who gets a fair bit of respect in software circles (as far as I can see). I feel that both views on the waterfall models usefulness are now included, and that neither argument can be removed in the interests of NPoV. Maybe some clarification of points. As per Wikipedia:POV_check ("may be removed by anyone if they feel that the issue has been resolved") I'm going to delete the "PoV check" template. Feel free to argue here or replace it with a "NPoV" template if you feel that this was bad. GeorgeBills 12:58, 17 November 2005 (UTC)

[edit] NPOV violation - add pros

this article should first simply present what the methodology is. The negative aspects of this model should be listed but balanced with the positive, even if the positives are from circa 1970 and the negatives circa 1990. What it "is" should be the bulk of the article, the negative and positive should be a foot note.

That would make sense if it was a real methodology that was actually advocated by methodologists, but it isn't. "Waterfall" has always been used as a straw man example of how not to do software development, even Royce who coined the term never proposed such a methodology he proposed iterative development. It only occurs in practice by accident in companies that know little about formal methodologies in general but which try to institute formal processes and they typically don't know the term "Waterfall" or that their processes are doomed (although they quickly discover it). Kuratowski's Ghost 21:56, 28 October 2005 (UTC)
Unfortunately you are wrong, the "waterfall model" in the common use of the term (i.e. not the originally intended use) has only recently been recognized as being completely unsuitable for actual software development. In fact, it has been intentionally used, and is currently intentionally used. I've personally worked on projects that utilze it (one project in college and one project for with the government). Agile, iterative software development methodologies are having a difficult time gaining foothold because everyone "knows" that software should be designed once, then implemented. Entire university textbooks are written every year citing the waterfall (and similar methods of linear, monolithic, inflexible design methods) as being a "classic" methodology, and teach it in its misrepresented form. The fact of the matter is: the Waterfall Methodology as it is commonly perceived against the original intentions of W. W. Royce, is a *real* software engineering methodology, with a lot of history.

[edit] Still too POV

As an Extreme Programming practitioner and coach, I personally believe that the waterfall model is generally unworkable. However, quite a lot of people don't, and I don't think the article reflects that. For example, the phrase, "The waterfall model however is widely believed to be a bad idea in actual practice" seems overly strong to me. Ditto value-laden terms like "inflexible". The organization and writing are very good, though! --William Pietri 15:58, 17 November 2005 (UTC)

OK, made some changes but it might need more. I changed "The waterfall model however is widely believed to be a bad idea in actual practice" to "The waterfall model however is believed by many to be a bad idea in practice, mainly because of the belief that it is impossible to get one phase of a software products lifecycle "perfected" before moving on to the next phase (or at least, the belief that this is impossible for any non-trivial program)". Now it doesn't imply that everyone dislikes the waterfall model, just that many people believe that it isn't the best model available. I've added some counter-arguments to some of the criticisms of the waterfall model, and I've tried to make it more clear that many of the arguments for and against the waterfall model presented here are opinions. Thanks heaps for the help, it seems that it's hard to spot PoV when you don't realise that you're biased.  :S Feel entirely free to jump in and correct me if I'm still not being NPoV enough.  :D GeorgeBills 04:14, 18 November 2005 (UTC)

[edit] User "72.244.140.113"

Hi to "72.244.140.113".

You've just deleted a large chunk of text which could have remained in the article - I would kind of prefer it if you could have just moved it in order to remove the implication that Joel uses the waterfall model (edit summary was "It is extremely misleading to describe Joel Spolsky as a "user of the waterfall model.") For now I'll re-include the text somewhere other than under the heading "users of the waterfall model".

I also note for future reference that your only edits concern Joel Spolsky and projects managed and worked upon by Joel Spolsky. I'd like to ask that PoV be kept out of this, and the text be allowed to stay.

He has argued in favour of Big Design Up Front (see the quote you deleted...), and Big Design Up Front is what many people think is wrong with the waterfall model.  :S Is there any way you would like this to be phrased? I'd like the quote to stay, because it's one of the few arguments in favour of Big Design Up Front, and this article needs them for NPoV. Thanks. GeorgeBills 15:48, 18 November 2005 (UTC)

OK, I've moved that text, added a new reference, and added some clarification to remove the mistaken implication (my bad) that Spolsky is a user of the waterfall model. GeorgeBills 16:05, 18 November 2005 (UTC)

[edit] Peer review, redux

I started out thinking I would do a copy edit, but the issues are bigger, so I'll just comment.

  1. Wikipedia itself is a poorly chosen example of what is being specified and built. It's not quite a violation of "no self-references", but it is still going to be very unfriendly to anyone who wants to reuse the content. At the very least, this should be "an online encyclopedia". More likely, we should pick another example entirely.
  2. Most of the criticisms are uncited.
  3. If we are going to use phrases like "…followed perfectly in order…" (is that yours or Royce's?), we should make it clear that this is a "straw man" model.
  4. While the spiral model is, indeed, an alternative, probably more relevant are the models that Steve McConnell (Rapid Development: Taming Wild Software Schedules, Microsoft Press, 1996, ISBN 1-55615-900-5) calls "modified waterfalls" (see especially p.143-147): Peter DeGrace's "sashimi model" (waterfall with overlapping phases), waterfall with subprojects, and (my own personal favorite) waterfall with risk reduction (living in the Pacific Northwest, I like to think of it as letting salmon jump up the waterfall and carry information: the volume of salmon will never be nearly as much as the volume of water, but, hey, information doesn't weigh much).

If you want to see my own writing on the topic (from a few years back), see [1], a whitepaper for a company I was helping through a transition on the tech side. -- Jmabel | Talk 20:09, 19 November 2005 (UTC)

OK, those are good points, thanks for the review.  :)
I was thinking that to fix them:
  1. Change the Wikipedia example to an example based on another well known software program; in order for the "requirements explanation example" to work it needs to be something that most people recognize as having multiple components that seperate teams work on - maybe if we said the "Microsoft Office" project, with the "Word" and "Excel" teams needing to integrate their components? This might not be the right thing though, as Word and Excel could still work as seperate components. This example might not indicate how difficult it is to integrate example component pieces.  :S What was that "baggage handling" program that had large integration problems? I seem to remember it being touted as an example of bad project management around three months ago...
  2. Find citations - I think Parnas covers most of them, and Code Complete and some Agile / XP bibles might cover the others. I guess the counter-arguments need citing too, and they might be hard to find reputable references for given the academic stigma of arguing for the waterfall model.  :S
  3. Make this more clear, got it. Something like "in the so called "pure" waterfall model (Royces first example) people do this...however, there are various "modified" waterfall models (including Royces final model) that may include slight or major variations (see the modifed waterfall models section below)"
  4. A modified waterfall models section, incorporating all of your examples. Some help here would be great, because you seem to be pretty well read on the topic. It probably has to come after the "criticisms" section because it might need to refer to it - as an example, we might need to write "the sashimi model handles criticisms x, y and z by blah blah blah". Unfortunately, if it comes after the criticism section people might think that we're biasing people against the modified models by dumping all of these criticisms on them before we cover models that the criticism may not apply to.  :S
GeorgeBills 12:35, 20 November 2005 (UTC)
Essentially all modern methodologies are "modified waterfall", all agree that you have to have some sort of requirement first (e.g. user story in XP), some sort of design and then code and then a test (even if the unit test was developed before the code its applied after). Kuratowski's Ghost 14:44, 20 November 2005 (UTC)
Just included a modified waterfalls section; as per "Ghosts" comments, I've tried to make it clear that all models bear at least some similarity to the waterfall model, but that this article will only deal with the waterfall models closest neighbours. Everything else can be found under the software project lifecycle article. I'm not sure of my information on both "waterfall model with subprojects" and "waterfall model with risk reduction" as I'm going off google only on these two.  :S Can someone look at these? I'll try and find some reputable books for checking when I get back from holidays... Actually, scratch that, I'm not going to include info I don't have a reasonable amount of confidence in. Can someone else who knows the exact meaning of these terms add and fill in the subheadings "the waterfall model with subprojects" and "the waterfall model with risk analysis" under the "modified waterfall models" section? Thanks. GeorgeBills 16:19, 20 November 2005 (UTC)
You don't need to find online sources for what I can cite from McConnell. If you get the rest of this in order, I'll gladly add that. -- Jmabel | Talk 04:14, 21 November 2005 (UTC)

[edit] Focus of article

  • (I don't know where to put my comments!) This article puts forth a lot of solid info. Thanks! However the focus is constantly on what's wrong with the waterfall model... frankly, this author is not the right person to write this article. Lastly, the amount of 5th grade mistakes is just sad - grammar, capitalization, layout, clarity, typos.
  • And finally, just as a "small world" side note, I worked with Joel Spolsky for the past two years. But that's not why I'm writing. It's just a small world.
  • Okay one more thought! BDUF is only good for shrink wrappers (like Joel), anyone doing consulting or in-house work (i.e. anyone who has to listen to their clients) has to use an iterative approach. I didn't see this basic distiction in the article and I think it is essential and supports a more balanced POV. Dkalmar 22:37, 27 November 2005 (UTC)
Thanks for the comments Dkalmar. It would be great if you could add some more information, particular improving and expanding upon the arguments for the waterfall model if you feel the article is still biased. Fell free to fix any spelling or grammar mistakes you see too. :) GeorgeBills 09:20, 28 November 2005 (UTC)

[edit] Daily builds

The article remarks that daily builds are "a practice not used within the waterfall model." True engough, in a straw-man version of the model where (probably unlike any practice ever known in the history of computing) you completely build the system before you begin any verification. Carried to a logical extreme, one could imagine coding the whole system before attempting to compile. But, of course, no one ever does this. Daily builds are completely compatible with any reasonable real-world version of the waterfall model. To say that they are not would be like saying that someone doing Extreme Programming would never be allowed to go off for a couple of hours and think about a data structure. -- Jmabel | Talk 05:44, 7 December 2005 (UTC)

[edit] Dead Link

Noting that the link http://asd-www.larc.nasa.gov/barkstrom/public/The_Standard_Waterfall_Model_For_Systems_Development.htm was dead on May 04 2006. I may or may not be back after some time to update remove this. Someone more familiar with this page is invited to correct this. - Cullen

[edit] Kruchten Reference

This article by Kruchten lists some situations in which use of the Waterfall model is likely to be successful: Going Over the Waterfall with the RUP (See the paragraph titled "When Is a Waterfall Approach Suitable.") It is one of the few articles I have seen by an authoritative sources seems to at least grudgingly support the use of waterfall in some situations. However, I think in the corporate domain there are many software projects that meet the Kruchten's list of constraints, which may help explain why Waterfall continues to be widely used. --GFLewis 13:27, 9 July 2006 (UTC)

[edit] "Change of naming description"

The following was edited into the page by User:Iftikharzafar; I'm guessing he wants to start a discussion so I'm moving it here and notifying him on his talk page...

Inspite of the fact that I am interested in implementing this model in many of my projects, I still believe that name of this model should be modified in order to incorporate the changes in the new waterfall model. Waterfall can't come back after hitting ground to enough extent to be named in a case where we have fair bit of iteration involved. I just suggest that name should be rather Tennis Ball Modeling Method. Atleast, it sounds slightly more reasonable. <izafar@pitb.gov.pk>

[edit] Iterative = Waterfall ?

Hello, once I read the Waterfall and the Iterative methods and I understood that iterative method was equal or an specialization of a waterfall method. But, reading Agile method article, I found an ASCII diagram where iterative and waterfall methods are distinguished. What are the relation and differences between iterative and waterfall methods? I think it would help to add some additional information about it in waterfall and iterative method articles. —The preceding unsigned comment was added by 62.43.153.45 (talk • contribs) August 26, 2006.

[edit] Iterative = Waterfall ? (v2)

Sorry, I am the "Iterative = Waterfall ?" writer. I got confused, the models that seem to be equal but have different names are iterative and spiral, not iterative and waterfall. —The preceding unsigned comment was added by 62.43.153.45 (talk • contribs) August 26, 2006.

[edit] what is a water fall model

what are the advantages of using waterfall model . which development model is more advantageous? {{subst:undigned|61.95.205.43|10 November 2006}}

The advantages are discussed in the article. As for "more advantageous": for what? The issue is to match an appropriate development lifecycle model to a particular project, not that one model will somehow be best for all projects. - Jmabel | Talk 21:48, 12 November 2006 (UTC)

[edit] Bennington

In a Software Project Management book, the waterfall approach is described by the author as having its roots in "Production of Large Computer Programs" by H. D. Bennington in 1956. From what I understood, it not the term "Waterfall" but the aproach itself. I was not able to find the article so I could not confirm this. As anyone have any knowledge of this? Theups 14:22, 26 November 2006 (UTC)

Only that a quick Google turned up
  • Bennington H D, Production of Large Computer Programs, Proc. Symp. on Advanced Computer Programs for Digital Computers, sponsored by ONR, June 1956, Republished in Annals of the History of Computing, Oct. 1983,350 - 361
A good computer science library should have the republished version; I don't know where you are geographically, so I don't have any specific recommendations. - Jmabel | Talk 23:57, 28 November 2006 (UTC)