This isn’t a new question but Matt Heusser recently wrote a blog post that got me thinking. My question here is, what is it that differentiates agile testers? Specifically, what skills differentiate agile testers? Surely there must be something specific about them aside from the environment and ideology or the term wouldn’t exist, right? Let’s see…
A question to think about in the mean time: is it possible to be an agile tester while not working on an agile team?
Agile Testing by Crispin and Gregory discusses this topic in quite a bit of detail. Topics such as tools, what a tester should be doing at a given point in an iteration, the whole team approach (though, I’m not sure what this means exactly), and the quadrants of agile testing are discussed. I suppose these things are in addition to the normal things that define agile teams such as daily stand-up status meetings, short development iterations, short feedback looks, and whatnot. There are five principals according to the book that define agile testers: continuous feedback, direct communication, simplicity, response to change, and enjoyment. What I see here for the most part is process definition and a little ideology, but nothing that uniquely defines what an agile tester is.
Bret Pettichord wrote his Schools of Software Testing article almost 6 years ago now. Some people find the method of defining a school in this manner decisive, but I think it may be useful for this conversation. His article pretty succinctly describes the ideology of agile testers, though I rarely see people that self-identify into this school. Some defining characteristics are heavy emphasis on tool usage (specifically automation), defining when something is done through acceptance tests, and a lessened emphasis on documentation. The linked paper goes into more detail on this topic.
I came across a recent linkedin thread talking about this very topic although there has been no clear conclusion yet. The million dollar question that I have so far been unable to answer nor have I seen anyone else answer. There is a distinct emphasis on tool usage among agile testers. There seems to be an emphasis on programming skills among agile testers. But what about specific testing skills? Critical thinking, modeling, systems thinking, observation, various testing techniques, bug reporting (RIMGEA for you bug advocacy folks out there), the list goes on. Is there some skill that is unique and highly developed among agile testers? Some skill that defines them?
After I started writing this, Shrini and Kulkarni and Lisa Crispin had a conversation via twitter about this very subject.
Ideology can’t be the only thing that defines agile testing, can it? What do you think? Help me out here…