I was examining the Agile Manifesto the other day looking for some guidance on Agile QA, but found none. Many of our clients who are moving to agile from waterfall are wondering how to handle QA, so I had thought I would look at the famed manifesto to see what it says. Nowhere does it mention QA or testing.
I then began to look for mention of people or different roles in any way, and here’s what I came up with:
- Individuals and interactions over processes and tools
- Customer collaboration over contract negotiation
- Our highest priority is to satisfy the customer
- Agile processes harness change for the customer’s competitive advantage
- Business people and developers must work together daily throughout the project
- Build projects around motivated individuals
- Give them the environment and support they need, and trust them to get the job done
- The sponsors, developers, and users should be able to maintain a constant pace indefinitely
- The best architectures, requirements, and designs emerge from self-organizing teams
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
The roles or pronouns mentioned are: individual, customer, business people, developer, they, and team — all in italics.
I suppose that QA is somewhere in individual, they, or team. So it now makes some sense to me that the literature suggests everyone should be responsible for “working software” and be working toward the same goals, but that there is no Agile QA or testing role specified. I’ve even heard it said that everyone is QA.
However, the fact remains that certain skills are required for QA, just as certain skills are required for developers, and you can’t expect developers to do QA work nor expect QA folks to be developers. Could they possibly do the work of another role? Yes. Would it be in the best interests of the team? No. That would be like having Tom Brady play lineman because he has a few free moments rather than having him do what he’s best at.
And despite the movement toward being multi-disciplinary, I still believe that everyone is different, brings special skills to the table and often likes to do different things. Why not take advantage of those differences. I think this is an area where people misinterpret agile and believe that roles can still be the same as waterfall. The difference is in communication, collaboration and connection to the customer.