Waterfall - mel2134/AgiilsedArendusmetoodikad GitHub Wiki

Waterfall SDLC

It is a linear process where each phase of development must be completed before moving on to the next. It is not agile because each step MUST be completed before changes can be made.

Steps

  1. The first phase of development defines and plans the project without mentioning specific processes. It also defines the project scope, team members and stakeholders

  2. The system specifications are analyzed to generate product models to guide production

  3. In this step, design requirements are set these include the programming language, hardware and data sources

  4. In this step the code is being developed using the requirements set before

  5. In this step unit tests are done to make sure the developed code is good. This step is also known as the "debugging" step

  6. In this step the code is implemented to a live production environment

Good Sides

  1. The waterfall model focuses on a precise and defined set of phases, resulting in a clear work structure. Teams must complete an entire phase before moving on to the next one

  2. The clear determination of goals to be achieved from the beginning

  3. Easy to manage, each phase has specific deliverables and deadlines making monitoring progress and allocating resources efficiently simple

Bad Sides

  1. Difficulty in making changes. The model is very rigid.

  2. Testing occurs later in the model. This can lead to the discovery of significant issues or bugs when addressing them may be expensive or time-consuming.

  3. Changes can not be made while the steps have not been finished, that means feedback comes at a super late stage and may slow down the whole development process

Sources

TutorialsPoint - Waterfall SDLC
TechTarget - Waterfall Model
Appvizer - Advantages Of The Waterfall SDLC
TeachingAgile - Waterfall