Highly Effective Agile Testing – Agile Testing Principle 5
Since my Keynote at TestIstanbul on the Seven Habits of Highly Effective Agile Testing, I’ve covered the first 4 habits in depth:
- Proactively Be Efficient and Effective
- Treat the User as Royalty
- Sustain an Improvement Frame of Mind
- Be Agile, Then Do Agile
At PNSQC 2017, I had the opportunity to present my 7 Habits Talk which continues to morph and improve as I gather feedback on the talk and work with our clients on implementing agile. Each organization is different of course, and there is no recipe, but I think the 5th Habit, “Think Tasks, Not Roles” represents core agile values centered around small teams getting stuff done rather than worrying about their job titles. Moss Drake did a sketch from my talk, but this blog focuses only on Habit #5; Think Tasks Not Roles. By the way, I have changed these to Principles rather than Habits because I’ve started to believe that Habits if practiced in the long term, become principles to live by.
No Testing Phase
Firstly, there is not testing phase. Testing happens all the time, but different things happen and by different people. There should be flexibility in roles but with clear responsibilities; QA ‘people’ are part of the team from start to finish with no ‘testing’ roles, but ‘testing tasks’.
Testing Tasks Change Focus
Testing tasks prioritized according to what information they can provide relating to the health and quality of the software. This may not be pass/fail information or how many defects you find. The goal is to prevent show stoppers and defects from ever happening in the first place. This puts more emphasis on understanding user stories clearly, not only from the business point of view, but also from the developer point of view. By understanding both, QA can make sure that there is a connection between the two. This is the main tenet of agile, building the right software. This means not only understanding stories but understanding and welcoming changes in user stories as the software morphs and the users/product owner understands their own needs and wants better.
Adapting Your Processes and Habits
This may mean adapting your processes to really dig deep and understand requirements as quick as possible but also providing a structure for requirements to change quickly. And this brings up another agile principle, collaboration. Get out of your chair and go talk to people. Take initiative to eliminate a misunderstanding or ambiguity before it happens. Sit with programmers, work with business analysts and don’t be afraid to invite yourself. Experiment with what you do and learn new things as you work with different members of your team. You may find that you like what they’re doing better than what you typically focus on and ask to switch tasks.
And lastly, all of these tenets requires “Sharpen The Saw”, one of the original habits from Stephen Covey. As a QA engineer or software tester on an agile team, that means continuous sharpening via new tools and methods. This could mean automation tools such as appium, selenium, winium, jmeter or many others that that will enable you and your team to get faster and more agile as iterations require you to automate more. It also means working working on your communication skills. As introverts, we like to sit in our little spaces and put on our headphones, but challenge yourself to get out there, share your ideas as well as learn from others.