Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Waterfall model
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf }}</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>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Waterfall model
(section)
Add topic