Recently, my colleague Preet Sandhu and I gave a talk at The Lead Developer conference, held at the QE II Conference Centre on 11th September 2015. The whole day was absolutely amazing – with brilliant talks – and we were honoured to have a speaking slot. Our talk was titled “Adaptive Testing”. You can see the video and the slides that accompanied this talk.
Overview of the Talk
One of the issues that we have come across during our careers, is that everyone has a different opinion of what “perfect” looks like for a team that wants to incorporate testing into their process. None of those opinions are wrong necessarily, it’s just that testing can be arranged in so many different ways and one approach that works perfectly for one team, can completely fail for another.
When we were preparing this talk, we sat down and had a think about all the different teams we’ve worked in and how we approached testing for those teams. We realised that for each team we were in, we displayed very different behaviours. For some teams we were hands on: creating test frameworks and writing automated tests; with other teams we were guiding the team towards testing solutions and best practices.
We settled on the idea that we were adapting our testing approach to suit the team we were working with. We found that we adapted based on some different factors:
- What kind of people were in the team
- What stage of maturity was the team’s process at
- What skills we had at that point in time
We believe that Adaptive testers need to have a few different skills:
- We need to be able to communicate, persuade and negotiate. We need to be able to communicate effectively weather is something simple as pairing with developers on writing tests, it could be updating management on the status of a build, it could be convincing a team of people who have been burned by bad testing to give you a chance.
- We need to be able to lead without authority. If we need to implement lasting change in a team, then we need to win trust and confidence of the team, so that they listen to us and are receptive towards the changes we suggest and see the value we add.
- We need to be able to coach, mentor and enable. Whether it’s training people on how to write tests, helping teams to stand alone, working with individuals to help them see the value of tests.
- Technical understanding is very important . You need to understand the impact of changes made to a code base,you need to understand how the releases work for a given product, you need to know how environments work, and how components interact with each other.
One of the key differences with testing as opposed to other disciplines is the fact that it’s highly likely you will be a minority within a team, and even if you are not that senior in your own field, you may still need to implement change in your team without always having the support or authority needed to make those changes. That’s why from the start of a testers career, it’s important to help them develop not just the ability to test, but also how to understand the holistic view of where a team is in terms of their journey towards testing. We need to avoid shortcutting our teams to their end-goal, and instead should take the time to help the team get there themselves in a sustainable way.
Massive thanks to Ruth at White October Events, who did a great job of arranging the whole conference, to Meri Williams (@Geek_Manager) for chairing the conference and finally to Russ Miles (@russmiles) who made all of our nerves disappear by playing electric guitar on stage, giving his talk and THEN proposing to his partner on stage! 🙂