The world is a village, albeit one with many tribes that have their own languages, cultures and identities. Technology is bringing the world closer, resulting in project teams that can be spread across the globe.
Agile software development has given way to Distributed Agile, where teams are spread around a country or around the world to leverage expertise and speed to market in a way that also can save money. We use Distributed Agile at Pyramid Solutions as one of the ways we deliver projects to our clients.
I recently led a lively discussion on the topic during a meeting of the Technology Association of Georgia’s (TAG) Product Management Society. I’m grateful for the opportunity and want to share much of what was discussed during the event.
A survey from Projects at Work showed that communications among Distributed Agile teams was the top concern of respondents, with more than one-third reporting that challenge. All other challenges ranked below 15%, so this issue far outstripped any others.
Fortunately, the fix is simple – be hyper vigilant that your teams are communicating effectively. Virtual communications is the new human face. Use videoconferencing, Skype, Hangouts and other face-to-face communications and incentivize team members to participate.
There are other challenges that companies must consider, but each can be overcome by thinking through project teams from the very start. Here are some other issues to consider:
1. Build Trust. Without trust, teams can start playing the blame game, which can slow the project and introduce errors. Being open and honest about the work, the team and expectations – along with communications – can help build trust.
2. Address Cultural Differences. You need to be aware of the cultural differences among teams. For example, Americans and Australians generally don’t beat around the bush when speaking, which can be upsetting in cultures where conflict is to be avoided at all costs. On the flip side, those in high-context cultures may not be able to get their points across as effectively. Other issues in this category include time differences. Teams based on the East Coast have an easier time working with Asia/Pacific teams than do teams based on the West Coast.
3. Think through technical alignment. Open source? Microsoft? Something else? When teams are spread out, there can be a challenge committing to the same resources and same priorities. A coder may think the project is complete when the code is written, but a tester won’t think so until the application has been thoroughly tested. The end user won’t considered it finished until it is functioning properly. Again, this is an issue you need to think through at the beginning, specifying the technology to be used and establishing milestones that everyone can agree on.
4. Distribute technical expertise. Teams in one location should bring a range of skills to the project. You don’t want all of your coders in one place or all of your project managers. Having a range of skills in one location allows for effective communications on a particular piece of work, while larger project questions should be addressed more widely across geographies.
When managed properly, a Distributed Agile environment is elegant, putting the right people on the project at exactly the right time to deliver value to the client. Projects get completed faster, better and at a lower cost when the work is spread out.