Agile – in all it’s variations – becomes an increasingly popular process for realizing software. The roles testers and testing plays in these projects is challenging and new. Testers are no longer considered code-killers, but can play – and are expected to play – a very pro-active role in agile projects.
Although all agile process agree on the importance of testing, unfortunately many of these agile processes do not elaborate much on the specific role testers have. Testing is often referred to in unit testing, which is really a developer technique. Much less attention is given to true functional testing, performance testing, integration testing and acceptance.
Tester and developer closely collaborating
To investigate where testing and testers can play this vital new role you will need to see what it means for projects to be agile – beyond the scope of the processes available, such as XP, Scrum, Lean, Kanban and Smart. It’s about close collaboration of all different roles, finding the right unit of work (that also needs to be testable), defining short iterations, celebrating feedback and delivering fast and early.
Testing from day one
When introducting agile and testing to each orter, in short a number of questions pop up:
- What is this agile stuff anyway? To traditionally organized projects and organizations it is not self-explinatory that testing and testers will be in the project from day one.
- How does an (a)typical agile team look like? Many agile processs do not include the roles of testers, but rather stick to the traditional agile Bermuda triangle of coach-customer-developer.
- What can be the role of testers in agile projects? In my personal experience, that comes from doing projects in all kinds of processes, testers do play a vital role in almost all activities in a project. Testers can influence projects positively during software estimation (test effort is always underestimated), requirements gathering (what scenarios apply to a use case?), (test) design, and even development in agile projects. There are very good reasons for have an explicit test role in agile projects, as the somewhat more structured agile process such as Smart and DSDM emphasize.
- What’s a good unit of work in agile project when it comes to functional testing? Do we apply user stories, features or smart use cases? In my opinion, adding some structure is not too bad, especially when it comes to larger, more complicated projects such as service oriented or cloud oriented projects. User stories will be a to adhoc techniques to deal with in such projects. Features, but especially smart use cases add this little bit of structure and reuse that make life easier.
This is why I created a new talk titled Beyond agile testing. Or: how to become a pro-active tester. The talk is aimed at audiences of testers, but even better would suit audiences of managers, developers and customers already in agile projects.
Becoming a pro-active tester
It addresses a number of topics, including:
- What is this agile stuff anyway?
- How does an (a)typical agile team look like?
- What can be the role of testers in agile projects?
- It’s all in a day’s work – where does testing come into play?
- User stories, features or smart use cases? Adding some structure is not too bad
- Live examples of pro-active testing in agile projects – in estimation, design, build, test and acceptance.
During this talk, using many examples from everyday agile projects, I attempt to visualize how testers influence software estimation, requirements gathering, design, and development in agile projects. Then I will discuss how testers can deal with user stories and (smart) use cases in agile projects, and even how testers accept deliverables in complex service oriented agile projects. The presentation (of course) contains many photo’s taken in real-life situations.