1. Waterfall
<aside>
🌊 A linear, sequential process - more reliable
</aside>
- The project is split up into a number of stages.

- Sequential
- Usually used on larger projects.
- Impossible to move to the next stage if the current one is yet to be complete.
- Only goes one-way, you can’t go back up, so you need to make sure that everything is done correctly first time round.
- In reality, a lot of companies use a “modified” version of the waterfall where there is the opportunity to move between some levels to allow for some flexibility.
Advantages and disadvantages of a Waterfall approach
2. Agile
<aside>
🎛️ Modular, not as reliable
</aside>
- Usually used on smaller projects that aren't so clearly defined
- Puts more control in the hands of the developer, rather than focusing solely on the client - they are trusted to find a solution to the problem and code it without a detailed brief
- Devs are grouped into teams and given a part of the solution to implement
- The main project is broken down into "modules" that can be iterated multiple times based on who much work they require. Or they can be left for future iterations, based on priority
- A working model can be produced after the first iteration, unlike waterfall, where you have to wait until the end.