The modified waterfall uses the same phases as the pure waterfall, but is not done on a discontinuous basis. This enables the phases to overlap when needed. The pure waterfall can also be split into sub-projects at an appropriate phase (such as after the architectural design or detailed design). It gives more flexibility than the pure waterfall model. Also if there is a personnel continuity between the phases, documentation can be substantially reduced. Implementation of easy areas does not need to wait for the hard ones.
Benefits
Risk reduction spirals can be added to the top of the waterfall to reduce risks prior to the waterfall phase. The waterfall can be further modified using options such as prototyping, JADs (Joint Application Development) sessions or other methods of requirement gathering done in overlapping phases.
Phase 1: Requirement Analysis
This phase would start capturing the functional and non-functional requirement. During the functional requirement phase the team understands the business process and record them in a document. Once the business process flow is captured, cases are developed. In parallel, page flows can be analyzed and documented.
Phase 2: Test Case Preparation
Once the functional requirement is approved, the test team starts capturing the test case scenarios.
Phase 3: Design Phases
This phase includes high and low level design which included UI design, database design and class design. This phase starts once the requirement analysis phase ends. Rapid prototyping can be used to iterate faster on requirement analysis and design phases.
*Phase 2 and Phase 3 can run concurrently.
Phase 4: Development
This phase includes code development and unit testing.
Phase 5: Testing and Deployment
This phase includes internal testing, user acceptance testing and deployment. Documentation is part of this phase. This phase is initiated during the development phase. Individual modules are tested separately before integration testing is done. UAT will continue once the internal testing team certifies the application.
|