Waterfall method

This is the classic traditional methodology for creating software. It consists of completing the following best practices in the following order.

  1. Requirements.
  2. Design
  3. Code and Unit testing.
  4. Subsystem testing
  5. System testing

This methodology works well when you have complete knowledge of the problem and do not experience change during the development period. Unfortunately this is seldom the case. It is difficult and perhaps impossible to capture everything in the initial requirements document. In addition, you are usually working toward a moving target. What you wanted to build a year ago is not what is needed now. For most projects he requirements will continually change.

For these reasons the classic waterfall methodology usually breaks down and results in a failure to deliver the needed product.

We recommend that you use the spiral method, or better yet the RUP methodology for your project unless the requirements for your software project are well defined and likely to be static.