![translation](https://cdn.durumis.com/common/trans.png)
This is an AI translated post.
What is the Waterfall Development Method?
- Writing language: Korean
- •
-
Base country: All countries
- •
- Information Technology
Select Language
Summarized by durumis AI
- The Waterfall development method is a traditional methodology that sequentially progresses through the software development stages, completing each stage before moving on to the next.
- The advantages include a clear structure and ease of management through documentation, but the disadvantages include inflexibility to changes in requirements and a high probability of schedule delays due to the dependencies between stages.
- Currently, Agile development methods, which are more flexible to frequent changes and customer involvement, are more widely used than the Waterfall development method.
Waterfall development method
The Waterfall Model is one of the oldest methodologies in software development, which refers to an approach that progresses a project through sequential steps. This model has a structure where it moves on to the next step after fully completing each step, like the characteristics of a waterfall (waterfall) flowing from top to bottom. In this article, we will take a closer look at the definition, key features, pros and cons, and use cases of the Waterfall development method.
Definition of Waterfall Development Method
The Waterfall Model is a methodology that sequentially steps through each stage of the Software Development Life Cycle (SDLC). This model was first introduced by Winston W. Royce in the 1970s and has been used in many projects since then. The Waterfall Model includes the following steps:
1. Requirements Analysis: This is the stage where project requirements are gathered and clearly defined.
2. Design: This is the stage where the software's architecture and detailed design are performed.
3. Implementation: This is the stage where actual code is written and software is developed.
4. Test: This is the stage where the developed software is tested to identify and correct errors.
5. Deployment: This is the stage where the software is deployed to the actual operating environment.
6. Maintenance: This is the stage where the deployed software is maintained and improved.
As shown in the image above, once the planning is completed and confirmed, design is done, and once the design is completed and confirmed, the next stage of development is carried out. Once development is completed and confirmed, it is then tested, and if there are no errors, it is launched. Multiple revisions may occur within the planning stage, or multiple revisions may occur within the design stage.
However, like water flows from top to bottom, development does not suddenly change or modify the development once it has entered the development stage, even if the plan is changed.
Characteristics of Waterfall Development Method
- Sequential Progression: It has a structure where each stage moves on to the next stage after it is completed.
- Emphasis on Documentation: Detailed documentation is provided at each stage to leave clear records.
- Fixed Requirements: All requirements are clearly defined in the initial requirement analysis phase, and changes in requirements are difficult in subsequent phases.
Advantages and Disadvantages of Waterfall Development Method
Advantages
1. Clear Structure: Each stage is clearly separated, making it easy to track progress.
2. Documentation: Thorough documentation at each stage makes it easy to track project progress and decisions.
3. Ease of Management: Planning and scheduling are easy, and clear goals can be set for each stage.
Disadvantages
1. Difficulty in Changing: Since requirements are fixed in the initial phase, changes in requirements later on are difficult and expensive.
2. Stage-by-Stage Dependency: It is not possible to move on to the next stage until one stage is completed, which can lead to delays in the schedule.
3. Lack of Customer Involvement: Customer participation is limited after the initial stage, which can lead to the final product not meeting customer expectations.
It is a term used when talking about development methods, and it means developing according to a step-by-step procedure.
❗Good to Know Information
The opposite method is theAgile Method, which is a method that launches a prototype and continuously modifies and adds features by constantly fixing problems and improving it. This method is mainly used when creating your own services, as it can increase the quality of your service and manage the staff capable of continuous modification.
If you use the Agile method to develop a client's service (SI outsourcing), you will have to develop the service by paying the labor costs and operating expenses (monthly rent, management fees, etc.) from the client every month. However, it is very rare in reality to develop a fixed amount, such as 2 months of development, 5 months of development, etc., because the client pays a fixed amount every month without knowing the end, since it is not realistic.