Much is said about agile approaches mostly in contrast of conventional waterfall methods. This blog is just a quick side to side comparison, but I would like to show you on when to apply them and when not. Both waterfall and agile approaches can be used for software development, infrastructure engineering and even any other project which needs to manage problems into solutions in a controlled way.
Both of the method types can be used with great success and don’t believe in the fact that one is better then the other, it is just the environment that might prefer one above the other.
Waterfall
Waterfall is a method where all steps are done in a sequence, these phases are defined and when one is done the other takes of. Of course they can be used with techniques as iterations to go back to earlier phases to refine the work, but once the phase is closed the next one starts. Normally in organisation different departments sign of these phases to all commit on the contents. Basically the process moves from collecting requirements, to specification and design into the solutions area for implementation and operating. Each step moves more towards realisation and operating, or from problem definition into solution.
Waterfall is a great approach when both the problem and solution area are predictable and stable, that means that with defined steps it is possible to properly select solutions. This approach requires environments where problem areas are also stable, meaning that requirements won’t change over time. The picture below shows the approach in the dimension of problem and solution area.