Definition
Related Definitions
Waterfall Concept
What is a waterfall model?
The waterfall model is a sequential and linear approach to the life cycle of software development. It is popular in product development and software engineering. The model follows a logical progression of the development stages. The direction of the waterfall model is similar to the direction of the waterfall. Goals are set at each phase of the product life cycle and the goal cannot be visited after its completion. Dr. Winston W. Royce introduced the term waterfall model in 1970 through their research paper and afterwards the term is used widely in industrial design.
Summary
- The waterfall model is a sequential and linear approach to the life cycle of software development.
- The model follows a logical progression of the development stages.
- Goals are set at each phase of the product life cycle and the goal cannot be visited after its completion.
- Winston W. Royce introduced the term waterfall model in 1970 through their research paper and afterwards the term is used widely in industrial design.
Frequently Asked Questions (FAQs)
What are the stages of a waterfall?
In the waterfall model, there are seven non-overlapping stages –
- Stage 1 – Requirements: The guidelines, deadlines and the potential requirements of the project are determined and functional specification is given. In this stage, the project is defined and the plans are mentioned, however, the process to achieve the stated plan is not specified.
- Stage 2 – Analysis: The specification stated in the previous stage are analysed and the business logic and product model are created which will guide the production. In this stage, the technical and financial resources are assessed in terms of their feasibility.
- Stage 3 – Design: A document is created which specifies the design requirements and outlines the technical specifications such as hardware, architecture, data sources, programming language and services.
- Stage 4 – Coding: By utilising the logics, requirements and models which were specified at the earlier stages, the source code is developed. The system is coded in smaller parts or units afterwards implemented together.
- Stage 5 – Testing: In this stage, the unit, assurance, system, beta and quality tests are conducted to identify the issues which need to be resolved at an earlier stage. In this stage, the coding can be repeated for debugging purpose. In case, all the tests are cleared, then further stages are undertaken.
- Stage 6 – Operations: After testing, the product is deemed fully functional and therefore it is deployed in a practical environment.
- Stage 7 – Maintenance: Perfective, adaptive and corrective maintenance is undertaken to enhance, update or improve the product before marketing it or presenting it to the client. The maintenance stage also includes releasing a new version or introducing updates in the launched product.
Image Source: © Bakhtiarzein | Megapixl.com
What are the advantages of the waterfall model?
The waterfall model has some advantages over the other dynamic and agile methods:
- The planning stage and the upfront information empowers the team to move towards a common goal.
- Discipline is maintained within the organisation.
- The forces are structured.
- The model allows ease in understanding and arrangement of tasks.
- The management can be controlled as per the deadlines and the schedules.
- The model reinforces good coding habits which are first to be defined and then coding is done.
- The model allows the developer to make changes in the design at an early stage.
- The deadlines and the milestones are defined clearly.
What are the disadvantages of the waterfall model?
The waterfall model only faces issues because of the risks associated with the lack of preparedness or revision, it can happen in the following cases:
- When any flaw is identified in the design then the whole projects need to be started from point one.
- When the creator does not welcome the feedback from the stakeholders and the client in the mid of the process or ignores the feedback received from the clients.
- If the testing is delayed until the competition of the development cycle.
- The waterfall model does not work if the error correction procedures are ignored.
- The change related requests are not handled adequately or the project’s updates are ignored.
- The efficiency of the overall project is reduced as the overlapping of processes is controlled.
- No prototype of the product is made available in the market until the later stages of the product lifecycle are reached.
- The waterfall model is not appropriate for high risk, ongoing, complex or object-oriented products.
When to use the waterfall model?
The waterfall model can be utilised when –
- Projects are for a shorter duration.
- The requirements of projects do not change frequently.
- When the application is not big and complicated.
- The requirements are clearly stated.
- The environmental conditions are stable
- The resources are trained and available.
- The tools and technologies required are stable and not dynamic.
What are the documents required while applying the waterfall model?
A list of documents is required and some requirements need to be fulfilled for starting a project –
- Project scope – It is considered as one of the most crucial documents of a project which highlights the goals which the project developer aims to achieve. It includes the features, deliverables, costs, deadlines and so on.
- Expectations of the stakeholders – To raise funds for the projects and ascertain the long - term success of the project, it is important that the project scope is aligned with the stakeholder’s expectations. The developer or creator should conduct interviews or surveys to determine the expectations of the stakeholders.
- Research – To achieve the project goals and objectives, it is important to conduct market research. The research should include customer’s needs, current market requirements, knowledge about the operations of the competitors and all the areas that should be covered which impact the project directly or indirectly.
- Team creation – After fulfilling the previous requirements, resources and human resources are required and need to collaborate for designing, programming and creating the app.
- Kickoff – Kickoff is a meeting in which the idea developer meets with their team and the stakeholders and all the ideas, information gathered after conducting research and other crucial information is communicated within the team and the stakeholders.
Source: Copyright © 2021 Kalkine Media