Agile or Waterfall?
By Ray Claridge
As a tester who's worked on agile and waterfall projects, I think both methodologies have plus and minus points. However, I am starting to side with Agile.
Testers are a methodical breed, we feel more comfortable when we are: given a functional requirement document (albeit rip it to pieces), plan detailed step by step test scripts and then finally test against these scripts.
The problem that I see with this is: how many times have you spent weeks planning, only to find that the business requirements are the same but the functionality has changed and all your test scripts need rewriting? This has happened to me on 80% of waterfall projects I have worked on.
Whereas, in an Agile environment the business requirements are agreed up front (very similar to waterfall), but the functional solution is done in the development phase. As a tester, you might not know how the requirements are going to functionally work until the code is delivered to test. This makes planning detailed test scripts a no go.
From early on, I was told that the most important part of testing is making sure the requirements are met (which I agree). The problem with Agile is: without knowing how the functionality is presented to the end user, it can be very difficult to plan complex scenarios and you end up having to ad hoc when delivered. As a tester, you have to be aware of these risks and have a flexible approach. If you can adopt this, agile might be for you.
What do you think?


Waterfall and agile are two unique development models used in interactive and software production. It's likely the debate over which is better will continue indefinitely, but in reality, both approaches boast significant but different benefits. It's generally accepted that agile, specifically, lends itself well to software development and large-scale website projects. Although a novice Project Manager may feel more comfortable working with a waterfall approach because each step is predictable, letting go of the familiar may well be worth it to make the move to an agile model. The collaboration and flexibility that agile brings can result in a better end product for your client, and a more engaged, harmonious internal team.