What is Waterfall Model?
Waterfall Modal is a traditional model and it is a sequential design process. In Waterfall Model. we can’t do backtracking i.e. if we once freeze the requirements then we can’t go back and we can’t add a new feature in same development cycle and process. If we allow backtracking than in between if we have misunderstood the requirements then there will be a downward flow of defect.
Requirements Collection: – It is done by Business Analysts and Product Analysts. It is a process of gathering/ collection of requirements from the client side in the form of CRS (Customer requirement specification).
Feasibility Study: – It is done by software team consisting of project managers, architects, finance guy, HR, developers but not testers.
Architect – Architect is the person who makes the decision as per the technical point of view. The architect thinks about operating system and language that should be used to develop the software or product.
HR – HR will make decisions about the resources. Resources are available for decided technology or not which we are going to use while developing the system or product.
Finance guy – Finance related person think about the financial aspects of the project, regarding profit and loss.
Design: – There are 2 stages of designing in which we prepare
- HLD – High Level Design
- LLD – Low Level Design
HLD – It is a basic representation of product or software. In this design, there are no detailed descriptions of the features and product.
LLD – It is done by senior developers and it is a detailed description of a product. It describes how each and every feature in the product should work and how every component should work. This design is based on feature separately.
Coding / Programming: – Coding done by all developers – seniors, juniors, fresher that exist in the team of product development. This is the process where we start building the software and start writing the code for the product as per requirement specification.
Testing: – In this phase testing performed at developed software to check where the software is useful or not. Testing is done by test engineers.
Installation: – Installation done by installation/Release/Senior Developer engineers, to install the product at a client’s place for using after the software has been developed and tested.
Maintenance: – Bug fixing and changes like addition, deletion or modification of any feature in the software product is involved in this process.
Advantages of Waterfall Model: –
- Easy to understand and implement.
- Since the requirements are fixed we can expect a stable project.
Disadvantages of Waterfall Model: –
- Since requirements are fixed, is not a flexible model we cannot add new features in between them.
- If we don’t freeze the requirements there will be a downward flow of defect.
- Testing is a small phase, only takes place after coding.
- Can be applied to a simple and small projects.
Can be applied only when requirements will not change in any case.