Software testing during the transition to Agile is not easy. This fourth and final part proposes 7 practical tips for a smooth adoption of Agile software testing practices. From better communication to test automation, these tips should help to solve some of the issues that are naturally associated with this transition. Remember that it is up to you, as a team, to implement your kind of Agile and if you love it or hate it.
Author: Elizabeth Bagwell, Stainless Software
In this, the fourth and final section in this series on the transition to Agile, I’m wrapping up with seven practical ways to make the transition smoother for your team, including do-it-now suggestions.
An Agile Testing Approach. Source: http://pathfindersoftware.com/2011/05/functional-test-vs-technical-testing/
1. Find out why you’re adopting Agile
You don’t need to fully understand Agile to start using it, but you do need to understand the reason your company has adopted Agile. As the name suggests, Agile is intended to allow teams to be quick to react to changes of priority or direction. With a focus on modular coding and providing one complete feature before moving on to the next, Agile also has a reputation for allowing rapid prototyping and providing customers with bits of what they want quickly, all of which is very attractive to customers, sales teams and project managers.
Do it now: You’ll probably already have an idea of what problem your team are trying to solve by adopting Agile – if not, send one email today or corner one person by the coffee machine and start finding out.
2. Speak up
Start talking to your fellow testers, to the developers you’re working with, to any stakeholders involved in your project. Learn as much as you can about what they want from the process, and make the voice of the test team heard, too.
Do it now: volunteer to be part of the planning team or send feedback on the latest round of process notes.
3. Work to your strengths
Agile provides opportunities to learn outside your established role. Start during the transition by using talent where you find it.
Do it now: select one or more test team advocates. Not everyone will be happy or confident speaking up, and that’s OK. If the newest member of your team is a great advocate for the team, send them along to process planning meetings and let the test manager focus on other priorities.
4. Share
Agile assumes that all programmers are equally able to fix a bug, and that all testers are equally able to find it. This lack of specialization and increased knowledge sharing has enormous advantages – you can take a holiday without checking your email, for one – but it can be hard to give up domain knowledge and to learn something new.
Do it now: offer to swap skills with a colleague or start a shared resource (such as a wiki or folder on a shared server) with key information about your specialist areas.
5. Reassess your quality standards
A major problem for test teams during the transition to Agile is that suddenly everything is in flux, yet they don’t want to let standards slip or change. Accept that you may have to relax or redefine quality standards, at least during the transition, and focus on creating a new, more responsive, testing environment.
Do it now: each report you write, ask yourself – and others – if it’s really necessary.
6. Fix nagging problems
For developers, Agile typically comes with a suite of new guidelines, toys and tools, which they may or may not appreciate. Each change affects test teams, too. Embrace the change as much as you can, and take advantage of the opportunity to guide development teams towards tester-friendly solutions and perhaps fix some nagging problems.
Do it now: start a private grumble list, so you know which problems you want to fix.
7. Automate regression testing
Exploratory testing is a key feature of Agile testing and a poor candidate for automation. Automating regression testing – something that can be done by testers or developers, or both working together – improves release testing speeds and frees up testers for more valuable work.
Do it now: ask the development team about their automated (or unit) testing efforts.
A final thought
At its best, Agile allows rapid, responsive programming and testing, and can create a relaxed and pleasant work environment where everyone knows they can rely on the team around them. It can be used to drive a further wedge between developers and testers, or it can create a sense of unity where none existed before. Agile is a process, an ethos, and the people are key – it’s up to you, as a team, what kind of Agile you implement, and whether you love it or hate it.
Further reading
1. Software Testing Magazine’s Agile section
2. Agile Testing: A Practical Guide for Testers and Agile Teams, Lisa Crispin and Janet Gregory, Addison Wesley, 533 pages, ISBN 978-0-321-53446-0
3. The Agile Manifesto provides a short but more complete introduction to Agile.
4. XP Testing Without XP: Taking Advantage of Agile Testing Practices
Previous Parts
1. Transition to Agile Testing – Getting Started
2. Transition to Agile Testing – The New System
3. Transition to Agile Testing – The New Processes
About the Author
Elizabeth Bagwell is a professional writer and a qualified software tester. Having spent much of her working life doing one or both for large companies, she is now working as a freelancer. Co-founder of Stainless Software online consultancy, she blogs about things other than writing or testing at www.elizabethbagwell.me.uk