WaterFall – real life problems

by daniel on October 18, 2008

WaterFall – real life problems

Waterfall is a method for software development process devised in the 1970’s. This model has been used by many companies and is used in the company I work as well. This method is very simple and assumes that each step is done sequentially and fully.

Waterfall in theory can work if:
1.      Complete information is available
2.      Requirements are constant
3.      Finish design before implementation
4.      Implementation will not change design
5.      There is enough time to finish design before implementation
6.      Perfect communication of design

Unfortunately, the theory and life don’t really match because :
1.      lack of information
2.      requirements not clear and volatile
3.      you cannot design without trying and prototyping first
4.      there is no enough time

This is the actual status in most of the software companies, because it’s the real imperfect world we live.
There are several things to be done in order to alleviate the problems:
1.      Requirement management and last moment to change – have a defined method for keeping track of requirements and whe is the last time to change them.
2.      Decomposition into subsystems that can be prototyped and verified – if something seems as a risk, develop a prototype and verify the solution.
3.      short development cycles and feedback from requirement – develop in short bursts and show everybody the result. If the requirements are not met, you can still change
4.      rapid development techniques – try Agile methods, according to the suitable of your company.

We are trying to implement some changes: reduce the design phase and include it in the prototyping phase, have requirements minimized and flexible to suit available time, etc.

In the future I would like to add more agile methods for improving communication and to try to expand the agility of our development process – not by changing methods, but by improving methodology away from WaterFall into the Agile world.
No tags for this post.

Comments on this entry are closed.

Previous post:

Next post: