December 21, 2010

Is There a Place for Testers in an Agile World?

Recently I gave a talk at the winter TestExpo in London about the role of testing as organisations move towards more Agile ways of working. One of the main reasons I thought it would be an interesting topic to present was because of the dearth of material that exists on this subject. It seems to me that, while there is wealth of information available about how other roles need to change (e.g., project managers become Scrum Master, product managers become Product Owners, development teams become Scrum teams, etc.), no one is talking about what testers need to do. So what is the answer? Is it the end of testing as we know it? Is it just me who is struggling with this? Have most organizations already happily integrated their QA function into the Agile process? Judging by the reaction to my talk, and my experience with Seapine customers, I am not alone in seeing a lack of industry insight into how testing works in an Agile environment. Many organisations are struggling to work out how to reconcile the opportunity Agile provides to deliver business-focused applications much more rapidly with the stress that such a rapid pace puts on quality. The first thing to note is it is very clear that we still need testers—probably more than ever. Testers have unique capabilities and techniques to identify the test cases and scenarios that are required to maximise the quality of an application. Quality will suffer without testers bringing their unique qualifications to the project by writing and executing tests. I don't think that best practice in this matter is at all settled but I thought it would be useful to share Seapine's thoughts on what you should do if you are struggling to integrate testing into your Agile process.
  1. First and foremost, make testers part of the Agile team!
  2. Get testers involved as early as possible. They need to work directly with the business analysts and business representatives to fully understand and shape the user stories and acceptance criteria.
  3. Get testers to work directly with the developers so they can target the limited testing time to maximum effect and at the right time.
  4. Allow QA to define the test prioritisation strategy. This is meat and drink to testers and even more vital in Agile.
  5. Automate! You can't afford any inefficiency in your process so automate both the test process and as much execution of your tests as possible.
As I mentioned, what works best is far from settled so I'd be very interested in any thoughts or experiences you've had in integrating testers into an Agile development process. If you want to read more about this topic, download our Agile Development Methodologies for Testers white paper. Please leave a comment if you attended the talk in London or have thoughts on this topic!