Best Practices for Implementing Agile Testing Across Distributed TeamsCigniti Technologies
Listen on the go!
Businesses and institutions globally have time and again realized the significance of collaborative outcome. This gets amplified by the fact that enterprises are globally scattered and there is a desperate need to connect for effective business delivery and sustained growth. Agile and DevOps testing/development methodologies have been endorsed for their intrinsic features that reinforce collaboration and speed.
A case in point is the recent Rio Olympics 2016, where globally distributed teams technologically powered the show with Cloud technology and much more. With Digital Transformation on the agenda at Rio 2016, for the first time the Technology Operations Center (TOC) in the host city was remotely supported by a new permanent Technical Technology Operations Center (TTOC) in Spain.
As a practice, this operating model will be adopted for Olympic Games in the future as well, where the support will be provided in SaaS and over the Cloud. Cloud services and Agile approach not only reduced infrastructure costs, but also created a long term sustenance process.
The global delivery model has further emphasized the need for working and operating across remotely located teams. At the same time, an Agile approach makes everything tricky, as it demands more collaboration and communication amongst teams that could be remotely located.
For instance, globally distributed agile teams can be designed in various formats:
- The client is onshore and the team is offshore
- The delivery team could be split across two or more locations
- The client could be at a different location and both the delivery teams could be distributed across time zones
Agile testing adopts the Agile software development practice that involves stakeholders/members of cross-functional agile teams, and testers with specific expertise, ensuring that the expected business value is delivered to the customer at frequent intervals and at an acceptable or sustainable pace.
Though there are some strong benefits of this approach, there are still a lot of flip sides to it. Let’s look at some best practices in Agile Testing that can help distributed teams deliver effectively and bring value for the customers.
- Designating a leader
In Agile, the team works with smaller and shorter goals. So, leading the team towards achieving these delivery/testing goals on a consistent basis is important. Designating a leader at every site can make communication effective and focused.
The onsite lead can guide the onsite team by communicating in person and serve as a single point of contact for the main project lead as well as the client on some occasions. As expected, the lead will manage the communication channels and ensure that the team receives required guidance to remain focused on the deliverables.
- Assign ownership to every individual
In an Agile set-up, work is assigned on the basis of skill, capacity, and overall sprint goals. It is not necessarily based on the location of the team. In an ideal situation, all team members are equipped to perform various tasks – analysis, design, development, and testing. So, the work can be assigned and re-assigned to different members.
This can avoid backlog and speed up the process, offering variety of tasks to all the team members. At the same time, it is important to assign ownership of those tasks to each team member. This will reduce the load on the team leader and bring accountability.
- Implement testing best practices and development standards
The team should build common understanding and agreement on the best practices and development standards to follow throughout the project. Best practices like development procedures, code standards, pattern and any practice that ensures quality.
These practices or standards could be at the industry-level or it could be developed and considered by the team as well. Most importantly, it should be accepted and implemented unanimously.
- Acknowledge time zone and cultural diversity
Agile involves daily stand-up meetings, where people across various time zones will have to compromise and be available. The timing of the meetings should be mutually discussed and decided. At the same time, the cultural differences imply that there will be different holidays across countries. It is important to respect the same.
- Online tools for Agile
Using online tools to keep the distributed teams informed and connected is absolutely crucial. A number of resourceful tools exist to create and maintain backlogs, organize and plan sprints, manage task boards, monitor burn-down, track bugs/issues and any other tasks.
Building this kind of mechanism is critical to keep the project going and ensure on-time delivery. This tool can be used to maintain best practices and standards implemented for the project as well.
- Build effective communication channels/methods
Communication is key in an Agile set-up. Real-time communication across teams is important to get work done and resolve issues quickly. Online meeting and instant messaging tools have video/voice/text/audio features to connect various teams and share screens simultaneously.
You must remember that whichever tool you decide to adopt, it should be available and acceptable for all the team members.
- In person meetings and interactions
Working remotely and connecting via technology works, but it is important to connect and meet to share the learnings and bring innovation to the project. So, the teams should decide on milestones and make it a point to meet at least once in a year.
This applies for meeting the client as well. It is important to connect in person and discuss the developments and key concerns regarding the project. It will bring sutained growth and value for the project.
- Effective on-boarding and training
On-boarding the team is crucial. It might involve visiting the client-side or the company headquarters. Later, a structured on-boarding and training plan has to be devised to educate the person/team about the project, tools, key requirements, expectations, and the overall working patterns.
This provides the required support and guidance for the new team members, and further informs the teams about the testing best practices, that will be adopted through the project.
- Demos and reviews
Every team should share the progress regularly and showcase the work done. On the basis of these learnings, cases can be built that would help other teams as well. For instance, if a prototype is built, the teams should share design plans, create demos and have sprint review.
Digital Transformation poses distinct and fresh testing/development challenges. Agile testing and working collaboratively across teams can build better capabilities. The key is the process and discipline that the team decides to follow.
Many IT organizations around the world are adopting Agile for their SDLC, Quality Assurance, and testing teams. It helps them evolve and strike the right balance between application stability and time-to-market.
Connect with us to effectively adopt Agile testing practices – supported by variants of Agile, be it Scrum, ATDD, BDD etc.