Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Waterfall model
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== The first known presentation describing the use of such phases in software engineering was held by [[Herbert D. Benington]] at the Symposium on Advanced Programming Methods for Digital Computers on 29 June 1956.<ref>{{Citation |publisher=Office of Naval Research, Dept. of the Navy |location=[Washington, D.C.] |title=Symposium on advanced programming methods for digital computers |author=United States, Navy Mathematical Computing Advisory Panel |date=29 June 1956 |oclc=10794738 }}</ref> This presentation was about the development of software for [[Semi Automatic Ground Environment|SAGE]]. In 1983, Benington republished his paper with a foreword explaining that the phases were on purpose organized according to the specialization of tasks, and pointing out that the process was not in fact performed in a strict top-down fashion, but depended on a prototype.<ref name="benington">{{cite journal |last=Benington |first=Herbert D. |title=Production of Large Computer Programs |journal=IEEE Annals of the History of Computing |date=1 October 1983 |volume=5 |issue=4 |pages=350β361 |doi=10.1109/MAHC.1983.10102 |publisher=IEEE Educational Activities Department |s2cid=8632276 |url=http://sunset.usc.edu/csse/TECHRPTS/1983/usccse83-501/usccse83-501.pdf |access-date=2011-03-21}} {{webarchive |url=https://web.archive.org/web/20110718084251/http://sunset.usc.edu/csse/TECHRPTS/1983/usccse83-501/usccse83-501.pdf |date=July 18, 2011 }}</ref> {{better source needed|date=March 2021|reason=the referenced article neither uses the term waterfall nor describes that there was only one recognized way of developing software}} Although the term "waterfall" is not used in the paper, the first formal detailed diagram of the process later known as the "waterfall model" is often<ref>{{cite journal |last1=Larman |first1=Craig |last2=Basili |first2=Victor |title=Iterative and Incremental Development: A Brief History |journal=Computer |date=June 2003 |volume=36 |issue=6 |pages=47β56 |doi=10.1109/MC.2003.1204375 |url=https://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf}}</ref> cited as coming from a 1970 article by [[Winston W. Royce]].<ref name="royce">{{Citation |surname=Royce |given=Winston |title=Managing the Development of Large Software Systems |journal=Proceedings of IEEE WESCON |volume=26 |issue=August | year=1970 | pages=1β9 |url=https://dl.acm.org/doi/pdf/10.5555/41765.41801 }}</ref><ref>{{ cite web | url=http://www.informatik.uni-bremen.de/uniform/vm97/def/def_w/WATERFALL.htm | title=Waterfall | website=Bremen University - Mathematics and Computer Science }}</ref><ref>{{Cite book|last1=Abbas|first1=Noura|last2=Gravell|first2=Andrew M.|last3=Wills|first3=Gary B.|title=Agile Processes in Software Engineering and Extreme Programming |chapter=Historical Roots of Agile Methods: Where Did "Agile Thinking" Come From? |date=2008|editor-last=Abrahamsson|editor-first=Pekka|editor2-last=Baskerville|editor2-first=Richard|editor3-last=Conboy|editor3-first=Kieran|editor4-last=Fitzgerald|editor4-first=Brian|editor5-last=Morgan|editor5-first=Lorraine|editor6-last=Wang|editor6-first=Xiaofeng|chapter-url=https://eprints.soton.ac.uk/266606/1/xp2008camera_ready.pdf|series=Lecture Notes in Business Information Processing|volume=9 |language=en|location=Berlin, Heidelberg|publisher=[[Springer Science+Business Media |Springer]] |pages=94β103|doi=10.1007/978-3-540-68255-4_10|isbn=978-3-540-68255-4}}</ref> However, he commented that it had major flaws stemming from how testing only happened at the end of the process, which he described as being "risky and [inviting] failure".<ref name="royce" /> The rest of his paper introduced five steps which he felt were necessary to "eliminate most of the development risks" associated with the unaltered waterfall approach.<ref name="royce" /> Royce's five additional steps (which included writing complete documentation at various stages of development) never took mainstream hold, but his diagram of what he considered a flawed process became the starting point when describing a "waterfall" approach.<ref>Conrad Weisert, [http://www.idinews.com/waterfall.html Waterfall methodology: there's no such thing!]</ref><ref name=":inheriting_agile">{{cite book |last1=Lineberger |first1=Rob |title=Inheriting Agile: The IT Practitioner's Guide to Managing Software Development in a Post-Agile World |date=Apr 25, 2024 |publisher=Sandprint Press |location=Durham, NC |isbn=9798989149605 |page=36 |url=https://books.google.com/books?id=kTit0AEACAAJ}}</ref> The earliest use of the term "waterfall" may have been in a 1976 paper by Bell and Thayer.<ref>Bell, Thomas E., and T. A. Thayer.[http://pdf.aminer.org/000/361/405/software_requirements_are_they_really_a_problem.pdf Software requirements: Are they really a problem?] ''Proceedings of the 2nd international conference on Software engineering.'' IEEE Computer Society Press, 1976.</ref>{{better source needed|date=March 2021|reason=may have been? The use of a term in a paper doesn't mean it was the first use of the term.}} In 1985, the [[United States Department of Defense]] adopted the waterfall model in the [[DOD-STD-2167]] standard for working with software development contractors. This standard referred for iterations of a software development<ref name=":1">{{Cite book |title=DOD-STD-2167 - Military Standard : Defence System Software Development" |date=1985-06-04 |publisher=Department of Defence, United States of America |pages=11}}</ref> to "''the sequential phases of a software development cycle''" and stated that "''the contractor shall implement a software development cycle that includes the following six phases: Software Requirement Analysis, Preliminary Design, Detailed Design, Coding and Unit Testing, Integration, and Testing''".<ref name=":1" /><ref>{{Cite web|url=http://www.product-lifecycle-management.com/download/DOD-STD-2167A.pdf|title=Military Standard Defense System Software Development}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)