You are on page 1of 1

Let's suppose that some developers want to create software for a traffic light.

1) Requirements analysis

Check with the client and confirm the product specifications.


2) Design

Decide on the software architecture, or the big picture/skeleton.


State-machine architecture would make sense for a traffic light, if you're curious.
3) Implementation

Write the actual software itself.


4) Verification

Same thing as testing.


5) Integration

Release the software to be used for traffic lights.


Sometimes, this step is merged with or implied by step 4.
6) Maintenance

Fix any bugs or issues that come up during operation.

It's a straightforward linear progression, as its name implies. However, the downside to this is
that it's inflexible. Not every client will know the exact requirements at the start. So there will be
conflict if requirements change later, because the waterfall model isn't meant to go backwards.
Plus, there may always be new difficulties later on that weren't apparent from the start.

You might also like