꿈많은청년들

What is the Waterfall Development Method?

Created: 2024-05-14

Created: 2024-05-14 09:50

What is the Waterfall Development Method?

Waterfall Development Method

The Waterfall Model is one of the oldest methodologies in software development, representing an approach that progresses through sequential phases. This model follows a structure where each phase is fully completed before moving to the next, much like a waterfall flowing from top to bottom. This article will delve into the definition, key characteristics, advantages and disadvantages, and use cases of the Waterfall Model.

Definition of the Waterfall Model

The Waterfall Model is a methodology that progresses through each phase of the Software Development Life Cycle (SDLC) sequentially. This model was first introduced by Winston W. Royce in the 1970s and has since been used in numerous projects. The Waterfall Model comprises the following phases:

1. Requirements Analysis: This phase involves gathering and clearly defining the project's requirements.

2. Design: This phase involves carrying out the software's architecture and detailed design.

3. Implementation: This is the phase where the actual code is written and the software is developed.

4. Test: This phase involves testing the developed software to identify and rectify errors.

5. Deployment: This phase involves deploying the software to the actual operating environment.

6. Maintenance: This phase involves maintaining and improving the deployed software.

Image of stages cascading down like a waterfall

As shown in the image above, once planning is finalized and confirmed, design begins. After design is completed and confirmed, the next development phase commences. Following development completion and confirmation, testing occurs. If there are no errors, the software is launched. Multiple revisions can occur within the planning and design phases.

However, just as water flows from top to bottom, once development begins, sudden changes to the plan that necessitate modifications to development do not typically occur.

Characteristics of the Waterfall Model

  • Sequential Progression: It follows a structure where each phase is completed before moving to the next.
  • Emphasis on Documentation: Each phase involves detailed documentation to maintain a clear record.
  • Fixed Requirements: All requirements are clearly defined during the initial requirements analysis phase, and subsequent changes are difficult to implement.

Advantages and Disadvantages of the Waterfall Model

Advantages

1. Clear Structure: The phases are clearly distinguished, making it easy to track progress.

2. Documentation: Thorough documentation in each phase 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 phase.

Disadvantages

1. Difficulty in Making Changes: Because requirements are fixed in the early stages, making changes later on is difficult and expensive.

2. Phase Dependency: It's not possible to move to the next phase until the current one is complete, increasing the risk of delays.

3. Limited Customer Involvement: Customer involvement is limited after the initial phases, potentially leading to the final product not meeting customer expectations.

This term is used when discussing development methodologies, signifying that development proceeds according to a step-by-step procedure.


Good to Know

An alternative approach is the Agile Methodologywhich involves launching a prototype and continuously refining it by addressing issues and implementing improvements, adding features as needed. This method is often employed when developing in-house services because it enables the enhancement of service quality and supports continuous modifications with dedicated personnel.

If the Agile methodology is used to develop a client service (SI outsourcing), the client would be responsible for paying monthly personnel and operational costs (monthly rent, management fees, etc.) throughout the development process. However, in practice, development is usually carried out for a fixed amount and duration (e.g., 2 months, 5 months), not as a continuous open-ended process where an undetermined amount is paid monthly, as this is uncommon.

Comments0