DEV Community

Cover image for Development methodologies - Waterfall
Nima Akbarzadeh
Nima Akbarzadeh

Posted on

Development methodologies - Waterfall

Waterfall image from [Here](https://thetravelauthor.com/why-do-we-love-waterfalls/)

As a software engineer, you must have a good sight of development methodologies.
I always keep this sentence in my mind "Learn concepts, not languages".
So It gives you a great view when you learn and know the concepts.

What is development methodology? The software development methodology is a process or series of processes used in software development

You can do this process in different ways, but why reinvent the wheel again?

There are several methodologies to use, one of the most traditional methodologies is Waterfall.

Why waterfall? when a water from waterfall comes down, there is no way to get back, and it passes through some big rocks (Here we say stages).

In waterfall methodology, there are 5 stages:

  1. Analysis
  2. Design
  3. Implementation
  4. Testing
  5. Maintenance

Analysis

It's rooted in sequence and logic, and it has a cycle. So when you complete a stage, you can not get back, you need to completely finish a stage to continue.
In the first stage (Analysis), developers must write down all the requirements they need inside a requirement document.
The document is about what the system is going to do, but not necessarily how it works. The document contains the future of the software.

Design

Developers use requirement documents to research and make decisions on how they should design the system, but without considering costs like hardware or software.
And also at the end of this stage, developers must make sure it works and it is not impossible with chosen hardware or software tech stacks.

Implementation

In this stage, the project enters the coding and implementing level, and developers write the actual code.

Testing

When coding is finished, the releases should test by beta testers, so they can report the bugs they face.
Developers patch and fix these bugs in this stage.

Maintenance

Deployment and review happen in this stage, some people consider two stages (Deployment - Review) for the last but it depends on you.
This stage is where you release the stable version of your product, support your customers, maintain, and so on …

Top comments (0)