The Role of Quality Assurance in an Agile Environment

0 Likes

  The Agile Manifesto seems to go against the traditional role of Quality Assurance (QA). The Agile Manifesto (from http://agilemanifesto.org/) states

We are uncovering better ways of developing software by doing it and helping others to do it. Through this work we have come to value

  •     Individuals and interactions over processes and tools
  •     Working software over comprehensive documentation
  •     Customer collaboration over contract negotiation
  •     Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

However with traditional QA

  •     There is a QA phase that is defined within the overall project plan
  •     There is a QA process
  •     Specifications (documentation) are required
  •     Test case and test plans are documented

  So we have to ask, is there a role for QA in an Agile environment? The answer is yes, however the role is somewhat different. In an Agile environment, QA engineers should be involved from the start of a sprint. They can

  •     Help to determine if stories and their acceptance criteria are well defined and if they satisfy customer requirements
  •     Ensure that unit tests are written
  •     Provide developers with high level test cases for the stories before code is written
  •     Perform exploratory testing on early builds
  •     Organize usability testing
  •     Demonstrate the stories during Sprint Review

  All of these things are important for the quality of the product. By having QA involved from the start of a sprint there is no need to have neither a defined QA phase nor a formal QA process . By having QA work with the developers early on, there isn't a need for formal specifications (although some documentation is still useful). Of course QA engineers will still execute tests to verify implementation of a story as well as regression and performance testing.
    So there is definitely a need for Quality Assurance in an Agile environment, it's just that the role is different than what it is in a traditional environment.

  As a QA Engineer, when you first switched to Agile, what did you think? How has your role changed after transitioning to an Agile environment?

Tags:

Labels:

Other
Comment List
Related
Recommended