What is waterfall methodology?
The waterfall model in software engineering is a traditional and somewhat “old-fashioned” project management approach. It is called waterfall because it is linear and sequential. Just like waterfall it always moves forward, not a single step back. Each waterfall phase has strictly defined goals and deadlines and takes place one after another. The primary goal of the waterfall method is to gather and make clear all the requirements upfront, to prevent the development from going ‘downhill’ without the possibility of making changes.
Waterfall methodology phases
Requirements determination phase
Sometimes this waterfall methodology phase is called Planning & Analysis. The Project Manager gathers detailed requirements, analyzes them and plans the whole development process. From this pivotal point onwards, development moves like waterfall – down and forward.
Design phase
This waterfall phase can be divided into two stages: Logical Design Stage and Physical Design Stage. At the Logical stage, analysts design the system based on the requirements, without regards to hardware and software. Afterwards, at the Physical stage, they transform it into a practical design according to hardware and software specifications.
Implementation phase
According to the waterfall approach, that’s when the actual code is written. The programmers simply create the application code according to previously defined requirements and specifications.
Verification phase
At this waterfall phase the project is tested to check whether it meets the requirements of the customer. This is when the QA engineers appear on the scene.
Deployment phase
Once all the necessary testing has been carried out, the product is deployed in the target environment or released on the market.
Maintenance phase
The customer is using the application eventually. During this phase, the modifications that may occur due to changes in requirements, are implemented.
When to use the waterfall approach
- Waterfall methodology is your best solution when the requirements are clear and won’t change
- You know the technology well
- The requirements are unambiguous
- The project is short and predictable
The waterfall model of software development is best suitable for:
- Developing commercial projects
- E-commerce portals
- Creation of software for network protocols