When an organization implements any change, there must be a preliminary understanding of what are the side effects may be on its teams. This is true for small changes and especially true in an Agile transformation, that impacts all layers of the organization.
From a tester perspective this is crucial, mainly because they will have to start collaborating with developers as their new teammates and adjust to a completely new testing mindset. Below are some of the common issues you can expect if the organization fails to address this part of the transition:
The team ignores their testers and sees them as the bottleneck of the development process.
Lack of automated tools that keeps testers stuck in an endless regression cycle.
The creation of mini-waterfalls that do not allow testers to test.
Programmers who do not participate in the testing effort.
Programmers who refuse to adopt critical testing practices, resulting in poor-quality code.
The following tips can help prevent or overcome these issues and help testers and their teams adapt to the Agile environment.
Knowledge Is Key
It is easier for people to embrace a change when it is communicated to them before its implementation. In an Agile transition, it becomes even more important as the uncertainty and anxiety of employees can become the Achilles heel of the transition.
To reduce these factors, and to ensure positive collaboration from employees, and testers in particular, it is important that the organization communicate not only the change itself but also other crucial information such as:
The reasons that led the organization to choose this new path.
How they will benefit from the change and why it is good for them.
What are the expectations, boundaries, and responsibilities of testers once they integrate into their teams?
How they can become key members in the process as active practitioners.
Set Expectations Up-Front
It is important that your teams understand what is expected of them once the organization starts the transition process. To get everyone on the same page, make sure to set the expectations up front. People will be more collaborative with the process once they know how moving to Agile development will affect them.
Be Tolerant of Mistakes
Testers are expected to have some major challenges as part of their changing role. As a result, both they and their colleagues in the team will have to adopt a collaborative approach, working together as one self-organized team. Until they do, chances are that they will fail to deliver on time, deliver products with poor quality or just go back to their old habits.
The key to handling these situations early in the transformation process is to be patient about those mistakes and use them as a growth engine for the team.
Professional Development Is Mandatory
I believe that in an Agile environment, testers must work harder than any other team members. Testers must always learn how they can improve to add value to their teams as equal team members.
Testers must learn new technologies, testing practices, coding languages and more. This is how testers can be more involved in development activities (writing tests, code reviews, pairing with developers etc.) and increase their value among their associates.
Let Them Fail Until They Feel the Pain
Sometimes you just need to let the team fail for them to understand that their current path is wrong. For example, I once had a case where a tester simply would not collaborate with his team because he felt that he’s the only authority for quality.
Although I tried to explain why this is not suitable for this type of environment, he kept up his behavior. The solution was to simply let him fail repeatedly until he started to feel the additional effort needed just to become the bottleneck of the team that continually failed to deliver.
Then, both he and the team started to raise their own ideas on how they can collaborate and what changes they want to make to increase the effectiveness of the testing process. This is just one of many examples on how we can use failures to drive a change within Agile teams, by simply knowing that there are some cases where the change can only come from the team itself and cannot be enforced by external stakeholders.
Promote the Change Through Collaboration
It is important for testers to become an integral part of the team. To do so, and to adapt to the new testing environment, testers should collaborate with their colleagues rather than become the enforcers for all quality issues that can easily be misinterpreted by programmers as an unwanted authority.
If a programmer does not collaborate and fails to follow the basic quality standards, testers can try to work with other team members and explain why ignoring critical issues is really hurting the team and their ability to deliver high-quality products. Testers can also ask for help from the team manager, Scrum Master or Agile coach to find solutions for this problem through collaboration and not by executive fiat.
Earn Your Respect
As a tester in Agile teams, sometimes you need to earn the respect of programmers who have not worked with you before or just cannot see the value you can add to the team. To change that, you must show them that you can contribute like any other team member.
There are some classic ways to do that, for example:
Help programmers design tests at lower levels (unit, component, and integration).
Make sure you provide constructive feedback about their code and do not just criticize.
Talk with them before opening bugs to understand the real problem.
Collaborate with them through code reviews.