“More and more, in any company, managers are dealing with different cultures. Companies are going global, but the teams are being divided and scattered all over the planet.” – Carlos Ghosn
While Ghosn was mainly talking about automobiles, the software development business is one that has really taken to this distributed, global way of working. Software maker Atlassian surveyed 1300 companies engaged in software development and some of the results suggest as much. 72% of the companies confirmed that their software teams were spread across multiple locations and as many of 17% of the surveyed companies said that more than half of their entire team was remotely located. Given the rate at which companies are setting up offshore development centers and outsourcing to locations like India, it’s fair to assume that the locations being spoken of include some global ones. So, when software development, and by extension software testing teams, are global, what can you do to ensure they function effectively?
Here are some things we pay attention to – chances are you will find them useful too. By-the-way those looking for a list of the technical skills that go into the making of a global QA team are likely to be surprised by this post – our experience is that while tech skills are mandatory, other things make the crucial difference.
- Clear direction:
If everyone knows exactly where the destination lies it’s more likely they will tread the same path to get there. This identification of the strategic direction and business objectives and a clear articulation of that to the entire team will help ensure that everyone pulls in the same direction. In approaches like Agile or Continuous Development, where the product under development goes through many iterations in short spans of time, it is even more critical that everyone has a clear understanding of the strategic objective that are driving all the smaller changes.
- Unified team:
The teams and individual members at the global locations have to feel like they are part of a unified effort and not bit contributors at some outpost. This means that special effort has to be made to make them feel that way. One good way to do that is to apply similar policies across the locations for things like measuring effectiveness and productivity standards, rewards and recognitions, training opportunities and yes, even seemingly trivial things like availability of “swag” from the logo store – this really works. One note of caution, though, there are cultural issues specific to each global location and it is important to make allowance for those while defining.
As must already be apparent from the earlier points, communication between the engineering and business leadership and the remote teams is critical. The communication between the development teams and testing teams across locations and even between the elements of the testing team itself that may be spread across global locations has to be clear, frequent, structured and goal-oriented. If the efforts of everyone across the locations has to be aligned, it’s imperative to keep everyone updated on progress, possible obstacles, changes in strategy or operational tactics and especially with follow-throughs on actions involving contributions from other locations. Everyone should be clued into what everyone else is doing – just as would be the case if they were all located at the same place.
The engineering leadership needs transparent visibility into what’s happening at all times across teams and the teams themselves need help to be able to steer a common course, irrespective of location. Defining (and of course, following) a clear process for all the testing teams to follow and including regular milestones and touchpoints to objectively measure progress along the way is the most effective way to help address both those needs.
- Give Ownership with Accountability:
Talking about achieving milestones, something we have found essential always is to inculcate a sense of ownership in the remote, global team. That means they have to own the milestones, along with the accountability for achieving them. This would require an effort to make the remote testing teams relatively self-sufficient or autonomous in day-to-day decision-making and making them responsible for the results they are expected to deliver.
- Leverage technology:
Technology can be an extremely valuable tool in achieving each of the points mentioned above. Great tools exist for everything – version control, test-case management, bug tracking, collaboration, and even communication. Many of these tools can be integrated with each other for greater effectiveness. In the Atlassian study quoted earlier, 82% of those surveyed, had integrated their source code management with a build system, issue tracker or both. Whatever be the technology chosen, it is important to bring teams across locations onto the same platforms in the interest of consistency.
Working with global teams are a foregone conclusion today – chances are if you aren’t already working with them, you soon will be. While the factors highlighted here could help those starting out on this road, let’s ask those who have been doing this a while what are their secrets are? How did you make it work?