-
The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.
The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps.
The disadvantage of waterfall development is that it does not allow for much reflection or revision.
Once an application is in the testing stage, it is very difficult to go back and change something that
was not well-thought out in the concept stage. Alternatives to the waterfall model include joint application development (JAD), rapid application development (RAD), synch and stabilize, build and fix, and the spiral model.
 |
Getting started with the waterfall model |
 |
Learn more about Traditional software models (RUP, V-Model, CMM, Waterfall) |
| Can traditional project management and agile development coexist?: Are traditional project managers and agile practitioners fundamentally at odds? Or can they live together and even complement each other? |
| Survey: Agile interest high, but waterfall still used by many: While there's a strong interest in new software development techniques, SearchSoftwareQuality.com's recent survey found that many still follow traditional development practices. |
  |
CMMI: Good process doesn't always lead to good quality: Having a process such as CMMI in place doesn't guarantee quality software or systems, says Bill Curtis, co-author of CMM. You can still have defects. |
| Addressing software quality issues with development models, methods: Each development model has its own practices for building quality software. The challenge is determining which one fits your needs. The resources here can help you decide. |
| Testers debate differences between waterfall, Agile test automation: Two professional testers continue the timeless debate, agile vs waterfall, which is the best methodology for test-driven software development. |
| Test-driven testing face-off: Waterfall vs. Agile: Most software test pros pick a preferred methodology and stand by it, in this tip two testers square-off, one advocating for agile development, the other in the waterfall corner. |
| Solving problems with session-based test management: A veteran software tester gives real-life examples of using session-based test management in Scrum, RUP and in a completely ad hoc environment. |
| Best practices for moving testers from waterfall to agile development: Software testers moving from a waterfall environment to the agile development model don't have to be driven to the head-banging stage of frustration. |
| LAST UPDATED: |
13 Nov 2008
|
 |
Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com
|


');
// -->



|