(Hosted by Declan Whelan - Caveat: I am not a tester and claim no expertise on testing)
Question: How can we engage testers to help an agile team deliver better value and quality?
There are two main forces driving testers differently than on traditional projects:
- testers should be able to spend less time finding the stupid bugs and can focus on higher value QA activities
- testing is driven to a more rapid pace by short iterations and being able to release at any time
Context: There are obstacles that are context dependent:
- there can be a strained relationship between developers and testers
- developers are trying to deliver and often feel "nagged" by testers
- testers are trying to ensure quality and often feel developers are just throwing stuff over the wall
- testing can be viewed as a cost reduction and risk mitigation process and therefore does not directly drive immediate value
- development and QA are often operational silos
- testers are often viewed as second class citizens in organizations
- testers may not have the training or domain expertise to test effectively
Therefore:
Testers needs to be first class citizens on the agile team infusing quality throughout the iteration and release cycles and they must have clear responsibilities and authority.
Testers should be part of the "customer team" to improve their domain expertise and to enhance stories:
- clarify stories by annotating "test ideas"
- help specify story tests by describing important scenarios and "test conditions"
Testers should be part of the "whole team":
- pair testers with developers for:
- exploratory testing
- testing bug fixes
- recreating newly found bugs
- automating tests
- fixing and testing "trivial" bugs as they are found - avoids the waste of tracking bugs that will only get fixed in geological timeframes
- have testers report on overall product quality (I was recently introduced to "Low Tech Testing Dashboards" by Paul Carvalho that is perfect for this)
- use testers as "consultants" and treat them as experts
- shift testers to a lead role directing whole team testing close to release
- use cards to drive exploratory test sessions
- consider bringing in "outside" testers for fresh perspectives
Further references:
I found it interesting that 3 of the above are Canadian ... eh?