June 20, 2012
Agile testing is the emperor’s new clothes
The terms ‘Agile’ and ‘Agile testing’ are widely used in the world of IT today. For better or worse, Agile has become a buzz word. Something becoming a trend is not in any way negative, but if Agile was supposed to gain a solid foothold and a dedicated following, enough people will need to take interest in the true agile approach.
When something becomes a trend the way Agile has become, more and more people see it as a potential business and want to cash in on that. If there is money to be made, everyone will want to get a piece of the cake. Nothing wrong with that, but these circumstances also create a higher risk of inflation of the very concept of Agile.
With more and more wanting to get a share of the market, new subgroups and new concepts are also created. Agile testing is just one of the many new roles grow and flourish in the agile sphere.
Do not get me wrong, I am a firm believer in agile testing and I am constantly trying to further develop my own skills in the area. However, I can see many problems with the role agile testing, especially as it feels like no one really knows what the role says and means.
A classic example of this happens when companies are looking for agile testers, but do not really know what they’re looking for, and usually just mean that they want someone that has been working in a Scrum team. Of course, there are countless companies and organizations that have a very good grip on what is meant by agile testing, but there are also too many who just use it as a sales ploy.
Agile Testing – why is it the Emperor’s New Clothes?
An Agile tester should always base their work on agile values and keep these values as a mindset, constantly. I have talked with many prominent players in the agile school and all seem to be in agreement that Agile is a way to live by in their professional lives.
You can not work just as you did in the past and add the name Agile in order to become a good agile tester. There are too many actors today who say they work with agile testing, but rather use it as a facade to find new business opportunities.
Unfortunately, I think that many have completely misinterpreted what quality assurance means in the agile working seat. Agile testing is not something that should belong only to the specific role of the tester. Testing and Quality Assurance in Agile work is something to be shared between all those concerned, be they customers, the dev team, testers and the rest of the organization.
What many people do today is to continue using their usual test techniques, and adding testing stages late in the chain, and making this stage of testing responsible for the quality. This is not in keeping with Agile at all.
Testing must be included in all stages, from requirements and proposed solutions, all the way to maintenance and as long as the system is used. Agile testing is not only focused on verifying a product and finding defects, but to constantly improve the work process thus minimizing the risk of defects arising. Whether this is achieved by using Scrum, pair programming, continuous builds or any other approach doesn’t really matter, the important thing is to try to evolve into something better.
Agile technical testers
Slowly but surely, more and more requirements are being piled onto the tester’s technical skills, even if programming skills are not are needed in all situations. Of course not everyone can be a technical tester, and there are other skills that are equally important, such as usability, business knowledge and a deep understanding of the methodology.
However, I think it’s hard to be a skillful agile tester unless you have a good technical understanding.
Agile QA architect
I think we’ve all been through a project in which tests have become constrained. Often this quandary is solved by hiring more testers. While it certainly is good for job hunters if more testers are needed, I do not think this is the right solution.
Instead of hiring more testers, I think it is wiser to educate and develop testing within the organization. An Agile QA architect can focus on educating the team to get a better quality awareness and thereby improving the quality of the product being developed. A QA architect can work to identify quality guidelines and criteria for the development and to support programmers with key risk areas and test areas of the system.
By training the entire team and designing test strategies, the challenge of trying to test everything at the end can be addressed. Sure, it may be that it is not possible to write code at the same rate as before, but does it really matter if it still contains a great many defects? The best programmers I know have a huge quality awareness and take pride in their work, so they do not want to introduce defects.
An Agile tester is not just a “regular” tester. Agile testing is something that can and should involve everyone in the team.
An Agile tester is proud of their profession, and never stops trying to develop themselves and develop their teammates or employees.
About the author
Jagannath Tammeleht has worked in quality assurance with a focus on agile and process improvement and skills development for many years. He runs a test forum and is a regular contributor in trying to develop the industry forward though his commitment. Jagannath is driven by all that is challenging and stimulating. For more info on Jagannath or to get in touch, go to his LinkedIn profile: https://www.linkedin.com/in/jagge