Mijn werkgever Sogeti is een marktleider op het gebied van testen.
Vandaag heb ik een stukje geschreven voor een nieuw Agile magazine.
Hieronder wat ik schreef:
Is there such a thing as an Agile tester?
There has always been one aspect I have found obscure in Agile. Even though everyone knows it is part of the package, Agile testing has always been somewhat of a mystery. Agile is a very natural approach to our daily work in software engineering. It is also a very attractive approach and oftentimes it becomes a way of thinking.
With the advent of test awareness, with this i mean the realization testing is not something trivial anymore, we also realize that Agile testing has still not come of age. Even though testing itself has become a mature element within our field.
As software engineer and project manager I have seen this develop from the sidelines (yes, I used to work in teams where testing was mainly the work of testers and as software engineer you passed your package to a tester, not doing more than the happy flow yourself).
When I joined Sogeti I slowly realized how professional testing had become. Being an Agile advocate I now feel Agile testing has to develop along.
But with multidisciplinary teams within Agile, does the average team member also have to be able to do everything a tester does. Does an Agile developer also have to be an Agile tester?
This question has kept me busy a lot as I worked on developing my workshop and while I coached and advised clients on the Agile approach.
For myself i have developed the following view:
Within Agile, the teams are indeed as multidisciplinary as possible. Yet i have found in practice this means there's still a high level of differentiation within the team. This is only natural as every individual has different interests, passions and experiences. This is also beneficial to the project they are working on. Most of the time the experience and knowledge is part of the domain they work in, but sometimes it is more generally defined, like architecture, infrastructure, databases and of course testing. Within traditional approaches testing has been an underappreciated activity. Most of the time testing was the last part of a project for which not much time had been reserved on the planning or which, being the tail-end of the work, time had been cannibalized by more "important" activities.
I personally think differentiation within a team is not to be avoided. Within Scrum for instance a team is not larger than 9 people and with many disciplines needed to resolve complex problems it seems logical that one or the other will know more on certain subjects than others.
Due to previous approaches within information technology we have many specific differentiations, one of which is the tester.
Let's be honest, many times a tester is a different type of person. They are usually more precise, more consistent and analytical. Most are pitbulls and can be very stubborn when it comes to preventing the slipping of quality.
Within Agile the discipline testing has a very wonderful best practice that I am really fond of "Test Driven Development" it shows a very clear image of what position testing should take within a software engineering project. It has to saturate it, to be there from the beginning to the end.
Within an Agile team that is what i see for a tester, assisting and educating the developer. Especially the latter seems to be very important in current day and age.
An experienced tester within your Agile team is something that is needed for it to not fail. You can see it when you play planning poker with a new team. The developers, having done the task they see on the list before, estimating it to be inconsequential. Testers sometimes realize the importance of the change and will estimate it to be significant. This has opened the eyes of many developers. Within Agile things get more visible, also the consequences of the actions of a developer. This is usually very educational for the developer.
So to answer the title I gave to this piece. Is there such a thing as an Agile tester?
Yes, an Agile tester is an indispensable part of a team, and acts as a coach to the team concerning testing and quality.
What I expect for the future of Agile teams and the role of testing in it is that testing will more and more become a part of the work of developers. A dedicated tester within a team may more and more become a differentiation of a team member. With this I mean that every member of an Agile team will have to know more about testing than they currently do, but there will always be someone who knows testing as his or her speciality, as a passion . Will the Agile tester be replaced by a multidisciplinary teammember, who knows every aspect of software engineering and can take over from another teammember? This seems very unlikely. After all, one of the Agile principles is "Individuals and interactions over processes and tools", the word "Individuals" sticks out in this matter. Lets not lose that.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment