The Tester’s Role in Agile
With the coupling of and loss of specific roles in software development teams, how can testers remain relevant?
Testing in Agile Methodologies
With the implementation of Agile methodologies and the coupling of roles in software development, the tester has been lost in several moments since integrated roles started to emerge, such as the Full Stack Developer.
Companies are looking for people capable of performing analysis, design, architecture, development and testing, grouping these skills into one single specialist. Don’t all these roles have to be taken into account for software development? Although there are these developers with extensive knowledge and are capable of performing functions in each of these areas, there is always a role that loses some importance.
Due to this coupling, knowledge in each specialty is lost. That’s why you’ll hear things like it isn’t necessary to do documentation and it’s unnecessary to carry out tests.
Take for example, one of the most popular Agile methodologies these days: Scrum. Let’s show what its manual says about this topic:
“Development Teams have the following characteristics:
- They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality;
- Development Teams are cross-functional, with all the skills as a team necessary to create a product Increment
- Scrum recognizes no titles for Development Team members, regardless of the work being performed by the person;
- Scrum recognizes no sub-teams in the Development Team, regardless of domains that need to be addressed like testing, architecture, operations, or business analysis; and,
- Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.”
So, in the agile methodologies, it isn’t stated that some role should cease to exist, but each team is organized as it deems necessary.
The tester should not disappear, nor should it be excluded from the development of the project, because, with the development of Agile testing, this function is not shown as a separate phase of development, but as an integral part, where it “shifts left” as shown in the graphic below.
Testing is done at each stage of development and other activities, providing continuous feedback. By using various techniques and integrated into the business team and development in each iteration, as a result, the time spent on bug fixes and their cost is reduced.
The role of the tester in an agile team is that of an expert. Opposed to the conventional role (in which the tester is in charge of elaborating test designs and then being a simple executor of pre-established scripts), it is of greater technical specialization, capable of handling automation tools, agile management and methodologies, becoming a quality engineer. The tester also has greater interaction with clients and developers, so he or she needs to be a good communicator.
If you are a “robot tester” who likes to only execute what others study, analyze, execute… then you have fallen behind. You run the risk of not adding value, the work will be dismissed and you might think that you can be replaced by an automation tool or by devs who carry out testing. To keep afloat and not disappear, the testing role should be given the importance it deserves.
The work is also on us testers to take responsibility for learning and keeping up with new technologies.
As agile testers, we can’t blame the change, we must change to evolve.
What Does Software Testing Help to Do?
By having testers, software development teams can:
- Decrease costs
- Prevent failures
- Inspire confidence in customers
- Improve the user experience
- Increase customer satisfaction
- Promote organization, productivity and efficiency
The Agile Tester is one more component in the mechanism of software development, being a fundamental part of the team. By being innovative and not letting ourselves get crushed by the wheel of change, the tester’s role will acquire greater importance and will help produce sustainable and reliable systems.