translation

This is an AI translated post.

꿈많은청년들

What is the Waterfall Development Method?

Select Language

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

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.

Image of stages descending like a waterfall

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.

Dreamyoungs Inc.
꿈많은청년들
꿈많은청년들
Dreamyoungs Inc.
What is RFP (Request for Proposal)? RFP is a request for proposal for a project, used by companies or organizations to select the best vendor by specifying project goals, requirements, and evaluation criteria to external vendors. When writing an RFP, it is important to set clear goals, defi

May 16, 2024

What is a Content Management System (CMS)? A content management system (CMS) is software that helps you create, manage, and edit website content without coding knowledge. There are various CMSs such as WordPress, Joomla!, Drupal, and Magento, and they are used for various websites, including blogs

May 18, 2024

What is a rule-based chatbot? Rule-based chatbots are chatbots that respond to user input based on pre-defined rules, suitable for simple questions or providing structured information. They provide consistent answers to specific situations, such as FAQ chatbots or customer support cha

May 16, 2024

[SI Developer Story] 09. The Start of Full-fledged Development After Joining the SI Project SI developers develop the functionalities specified in the RFP after joining the project, but frequent code changes due to additional requirements from clients make rapid development more important than efficiency. Therefore, development should focus on f
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

April 18, 2024

[SI Developer Story] 10. What is documentation in an SI project? Documentation is an essential process in SI development projects, but in reality, it is often done at the end of development. The reason for this is the pressure to shorten the project period and the need to respond to changes in requirements. Especially,
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

April 19, 2024

[Non-major, surviving as a developer] 4. What companies can developers get a job at? Companies where developers can get jobs can be broadly divided into SI, solution, and service companies, each with different characteristics and employment difficulty. SI is responsible for building customer systems and has a relatively easy employment di
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

March 28, 2024

[SI Developer Story] 12. Technology Stack Frequently Used in SI Projects SI developers in South Korea mainly use technology stacks such as Java-based Spring, Oracle DB, Mybatis, JSP, JavaScript, HTML, CSS, to develop efficient and stable IT systems, using Eclipse as their development environment. These technologies contribute
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

April 19, 2024

Relational Data Modeling Relational data modeling is the process of dividing real-world information into tables and data, going through the stages of requirement analysis, conceptual data modeling, logical data modeling, and physical data modeling. Conceptual modeling is visualiz
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

April 8, 2024

[SI Developer Story] 08. Understanding Your Role in an SI Project During Initial Deployment This guide is for developers who have been newly deployed to an SI project to help them understand their role. It is important to understand the overall framework and required functions of the project through proposals and RFPs, and to gain the necessary
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

April 18, 2024