Agile QA Emphasizes Results over Process

  • Posted by Gustad Mody

While waterfall (SDLC) QA methodologies are widely used in the software development process, many organizations are looking to make the shift to Agile QA methodologies in the Scrum process. Implementing Agile QA enables rapid iteration and continuous delivery, leading to overall better quality controls while accelerating time-to-market for new applications. Despite its advantages, moving from the traditional waterfall model to Agile can take some getting used to but is well worth it from a results standpoint.

Waterfall methodologies are famous for front loading planning and prioritization while giving project leaders highly granular – some might say micromanagement – control over project contributors. In contrast, Agile is designed to enable independent decision making and rapid response based on conditions on the ground. Project contributors drive the “how” through collaborative execution while project leaders define the “what” through user stories.

User Stories Drive Actions

Rather than plodding through predetermined and – often – rigid test plans and strategy documents, Agile QA’ers utilize user stories to determine if an application is operating as expected. QA will then provide feedback to the product owner based on their interpretation of the user stories and suggest any changes that need to be made. The process is very collaborative and eliminates siloing.

Because user stories are to-the-point and easy to understand they typically do not require the extensive test coverage and planning that waterfall methods require. Testing requirements flow from sprints – short, focused working periods bookended by planning & retrospective sessions – that eliminate the need for large testing periods at the end of the development lifecycle. From an efficiency standpoint, sprinting eliminates much of the rework that typically delays waterfall driven software projects, allowing projects to get out the door faster.

Agile Delivers Continuous, Holistic QA

Using Agile, QA plays a much the larger role in the overall software development process than in traditional waterfall models. With Agile, quality assurance is extended throughout the entire development lifecycle with QA taking on the role of chief quality evangelist, ensuring best practices are followed, and effectively distributing QA processes throughout the entire project team. The end result is fewer defects during testing and ontime, pristine production releases.

From a continuous integration perspective, Agile has enabled my project teams to put high quality, iterative builds out the door in a shortest amount of time possible – sometimes even hours or days. The Agile paradigm builds tightly integrated teams, where individuals and interactions are valued more than process and tools . Daily scrums, colocated teams, and story boards all help QA to work closely with developers to remediate defects, identify correct functionality behaviour, and ensures quality is at the heart of all development activities. This is in sharp contrast to the 4-6 months waterfall methods would require.

Transitioning to an Agile QA Methodology

Transitioning to Agile QA isn’t as tough as you might think. For starters, you don’t have to be a subject matter expert in the Agile methodology to get started. I made my transition from rote waterfall to loosely used scrum processes and now fully functioning iterative Agile over a period of time. While I can appreciate all the formalities of the waterfall approach, I like the flexibility that is found in Agile. As a tester, I no longer have to heavily invest in being a system expert nor constantly update stale documentation. Instead, I can rely on the entire team for the system and business knowledge.

Overall, Agile is more focused on delivering results than adhering to top down processes. For many enterprises, this is a big change because it challenges deep seeded organizational structures and belief systems. Still, it is critical that enterprises begin or accelerate their adoption of Agile practices in order to maintain their competitive advantage in the marketplace – or risk going over the waterfall.

Tell us what you think @finoconsulting or by email.