Agile vs Waterfall

As a Tester there is a big difference in your approach when it comes to using different SDLC methodologies. From my experience, the two that are often used are Agile and Waterfall.

“One of the differences between agile software development methods and waterfall is the approach to quality and testing. In the waterfall model, there is always a separate testing phase after a build phase; however, in agile software development testing is completed in the same iteration as programming.” Wikipedia

For a long time my experience was within the Financial Sector, with very strict waterfall approaches that were decided at team/department level. We would produce full documentation with version control and seek sign off each time. Although the projects varied the majority were implementing Government lead scheme (such as FACTA) where very precise and strict requirements were defined.

Waterfall works very well for projects that have very clear requirements from the start and are unlikely to ever change, it works well for these types of projects as the requirements gathering is done at the beginning of the project (in my experience when HMRC announce a change in guidelines or a completely new legislation is passed). Then comes the design stage, the build stage and then finally along comes the Testers. At this late stage in the project, the Testers needs to test the software to ensure that it meets the original signed off requirements and that nothing has been missed or misinterpreted along the way.

Now I work for a Salesforce Platinum Partner Consultancy where customers will approach us for our expertise in the implementation of Salesforce into their company/organisation; this is very different to my previous role in the Financial Sector where the Customers require our input as experts to produce usable software that best suites their business requirements and will stand the test of time, be adaptable and keep up with the trends whether that be cloud, lighting or business growth.

Although I had previous knowledge, this was actually the first time that I had worked in an Agile (SCRUM) way and I must say that I am a huge fan of it. It allows for “the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change. “’ Wikipedia. Where QA is the forefront of every PBI (when I say QA in Agile I refer to the whole Dev team even if some member specialise in certain areas ie: Developer, QA Tester etc). You are part of every step of the process using the Agile process, whereas as in waterfall QA/Testers are very rarely brought on until the last phase of the project which ignores the huge amount analysis and input a seasoned QA can provide.

Agile QA Tester

Provides an overall Quality Assurance ownership and has input into the product and what the overall project goal is.

Waterfall QA Tester

Tests against a detailed requirement that was defined at the start of the project in most cases  prior to when the Tester was assigned to the project.