Thursday, July 26, 2018

The agile testing mind-set | SupremeAgile

To understand the agile testing mindset, we first need to determine what makes a team "agile." To me, an agile team is one that continually focuses on becoming self-organized and cross-functional to be able to complete any challenge they may face during a project. In addition (and based on the agile spirit), the team must put the customer first and ensure that at the end of each iteration the customer receives the best possible product.



In my experience, there are some aspects that differentiate "agile" teams from other teams, such as:

Continuous learning. As in any other field in life, agile team members must grow as individuals to be able to contribute to the team effort to succeed. They must learn agile practices, new technologies, tools, and technical excellence as well as master all aspects of the product.

Discipline ensures that each team member will follow the rules and guidelines of the agile manifesto and the organization (as each organization has its own rules, boundaries, and goals).

Great HR skills that will allow team members to work with one another, help in case of trouble, and most importantly, allow for team dynamics that focus on both the team and on the individual.

Embracing continual improvement that will allow the team to improve the process and product each iteration.

Sharing knowledge to promote team members who do not have the relevant skills, knowledge or experience that the team needs to complete their goals.

Trust and respect, which are fundamental aspects we want to see in any team and in agile teams in particular. Team members who do not trust and respect their co-workers will become the biggest impediment of the team. 

Now that we understand the characteristics of a great agile team, we can see that successful agile projects are the result of teams built from great people who have the freedom to utilize their skills to generate great work.  

The new tester in agile teams

Agile teams are built from both developers and testers that work together towards a common goal. (The best teams I created were built without testers at all, but this is for a more advanced article.) Now that we’ve discussed the characteristics of a great agile team, it’s time to define the same thing for testers and ask what makes someone a success as a tester on an agile team? The basic answer is that what makes a tester succeed on an agile team is usually the same characteristics that make a highly respectful tester on any other team.



An agile tester doesn't see himself as the team’s quality authority (for more information: What does it mean to be an agile tester?), protecting the customers from the programmers as he did back in the old days when he worked in a dedicated test department, usually at a separate physical location from the development teams (for more information: Testers are not the "Quality" officers in an agile team). 

For me, there is no difference between tester and developer; they are all equal and should follow the same team culture, mindset, and principles. Based on that, I can say that great testers that really succeed in agile teams are those who are willing to share their knowledge and test experience among other team members. They are willing to work hand in hand with developers and the product owner to promote the team and the overall quality of the product, using a collaborative approach that states that the entire team is responsible for quality.

Agile testers (and probably any other testers) that have the right HR skills, technical skills and mindset promote the team and themselves by providing continuous feedback about the overall quality of the product. This allows the team to see the big picture and what should be done to increase quality.

In addition, agile testers are continually searching for new ways to help the team increase their efficiency and produce high-quality products. What does it mean to search for new ways? Here are three examples:
  1. Testers can search for new technical tools that will improve the efficiency of the testing process and reduce manual efforts (such as automated frameworks that will shorten regression cycles).
  2. Testers can create local group meetings or roundtables with other teams to learn and adapt success stories that worked in their team.
  3. Testers can share their knowledge with the rest of the team to increase the quality ownership. During this process, the tester can act as a quality consultant that will help other members remove quality barriers they are unfamiliar with. 
The bottom line is that testers in agile teams should have a different mindset than the one they had in the environment of traditional software development. They must understand that their agile teammates (which include more programmers than testers) share the same goal as them. Testers should like their teammates and enjoy learning from them (especially coding skills that will help them add more value). Testers should never limit themselves to solving only quality issues.

But wait, there’s more. Agile testers should also help the team address issues that arise during the iteration and afterward, especially regarding technical aspects of the product. In addition, testers should know that the team trusts them to understand the big picture of the whole product, rather than concentrating on a specific component.

Great testers are the ones that the team rely on because they know that they have an instinct and knowledge for where and how software might fail and what solutions the team should implement to reduce the risk of failure.

But wait, I think that testers can do even more! Testers should use their expertise, knowledge, and experience in testing and help the team in other layers of the development process. A great tester isn't afraid of being involved in design discussions, giving suggestions that will improve testability and reduce future risk.


Thanks to Tally Helfgott for proofreading :) 


Linkedin Profile

1 comment:

  1. Hey Found your blog though those carnivals and gotta say you produce some excellent articles. Really liked this one for its list of activities.…some of these are repeats but a number of them are new.

    Regards


    software quality assurance companies

    ReplyDelete

My Presentations