ACROSS THE GREAT DIVIDE:
EFFECTIVELY MANAGING YOUR DISTRIBUTED AGILE TEAM
How do you successfully use an Agile methodology when the team is not co-located? |
Managers can be expected, due to budget constraints and corporate policy, to manage a distributed Agile team comprised of both onshore and offshore resources.
Yet a primary tenet of Agile processes is the co-location of team members in the same work area. Ideally developers sit a few feet away from the Product Owner or business partners, which facilitates frequent communication and feedback, a sense of ownership, and team building—all cornerstones of Agile success. So how do you successfully use an Agile methodology when the teams are not co-located?
Whether your team is distributed in another state or continent, with some adjustment in your Agile practices you can avoid common communications challenges in the distributed Agile team. Here are some best practices from those with experience leading Agile processes using onshore and offshore resources.
Establish a Strong Foundation
- Appoint an Agile-experienced Tech Lead or Scrum Master for your off-site team in the role of “Facilitator”. The Facilitator acts locally as a proxy for the Scrum Master, leading local Stand-ups, giving guidance to the team, removing roadblocks, and ensuring the groups work as one team.
- Bring the groups together to work co-located for some period in the beginning of the project. The benefits will outweigh the costs; time spent in building interpersonal relationships among the team will be less than the costs down the road of increased communication risks, documentation and bureaucracy. Co-location of key personnel during launches is also highly recommended.
- Look for ways to continue to develop relationships in your team and don’t overlook the simple gestures that can have a big impact, for example, discovering the birthdays of all team members and sending an e-card on their big day or mentioning it during the Stand-up.
- Aim for a 2-week Iteration schedule. Whenever you have the Demo (Sprint Review), Planning and Estimation, and Retrospective with the Product Owner, have the onshore and offshore teams present to listen and ask questions (by phone, WebEx, or video conference). Their presence cannot be substituted with emails or post-meeting summaries.
- Be mindful of time-zone differences and the sacrifice of your people who may need to come in very early or late to accommodate these meetings. Recognize their sacrifice by thanking them at the start and conclusion of each meeting. Also make sure that the offshore team members have transportation to get home from the meeting and you schedule time for a dinner break.
- While the team should jointly create the high-level feature point estimation with the Product Owner, the actual details engineering task breakdown (e.g. creation of Data Access Objects task) can be completed offline and communicated and reviewed via email or during the next Stand-up.
- Daily Stand-ups with a distributed team are impractical. During the initial Iteration, the onshore and offshore teams should have local Stand-Ups twice a week led by the Scrum Master or Facilitator, respectively. Joint Stand-ups (with onshore and offshore present typically via phone) should occur the other three days of the week, led only by the Scrum Master. Joint Stand-ups will require both teams to agree to a common meeting time. Explore allowing flexible hours, such as your offshore team starting at noon for appropriate overlap.
- Being observant “of the clock” is critical to preventing team burnout. Keep the amount of sacrifices limited to critical junctures--the exception rather than the rule. Teams and individuals have a natural desire to do the best they can, which can slide into making themselves available at anytime and working longer hours to meet deadlines. At all costs prevent a “death march” organization; death marches may seem beneficial at first, but in the long run you are merely creating a self-imploding team.
Facilitate Communication
- Communication starts with the manager or Scrum Master setting forth the vision of the company, so team members can guide their actions appropriately.
- Select an offshore team that is reasonably fluent in the same language as the onshore team.
- Choose offshore team location so there are more overlapping hours with the onshore team, such as Latin America or Eastern Europe for a U.S.-based onshore team.
- Diligently establish lines of communication and set guidelines on how and when to use them.
- Have peer code inspections and formal reviews involving the entire team. Before checking in any code, the developer should have another team member inspect their work. Encourage cross-site inspections.
- Continue to build interpersonal relationships, learn about each others’ interests, send ambassadors to each other’s location, and use video conferencing during demos to put a name to the face.
- Regularly allot time, at most 30-45 minutes, for further joint discussions following a bi-weekly Stand-up for general team discussions.
- Strategically increase the amount of documentation, to a degree, to reduce complexity challenges. By creating appropriate documents, the team can better communicate designs, work-flows, issues, etc. But do not treat the documentation as Waterfall documentation that needs continuous updates; once the usefulness is outlived, abandon the document.
A Happy Team is a Productive Team
- Treat every team member equally, respectfully, and professionally.
- Remove preconceptions that offshore can’t do the complex coding, for example, or that offshore resources are fungible. The team is a cohesive asset and should be treated as such. Teams self-organize around goals, so focus on the goals and let the team break down the responsibilities and tasks.
- Autonomy is a great motivator--allow people to be both more productive and able to grow into greater responsibility, e.g. rotate the presenter of Demos to provide learning opportunities.
Use Technology Efficiently
- Distributed Agile teams typically rely heavily on tools to facilitate communication and the broadcasting of ideas. Pick the best tool for the job. Experiment and discover what works and what doesn’t work during a Retrospective.
- A common Retrospective item is the distributed team having different system set-ups or connectivity challenges. These types of challenges, no matter the difficulty, must be resolved. If left to fester, the project will potentially require an enormous unplanned time commitment and the team will become increasingly frustrated.
Honor Cultural Difference
- Cultural practices, social norms and ways of respecting authority can be very different. Realize that Agile’s practice of open communication and team member equality may be daunting for some. At Joint Stand-ups, some off-shore members may not be comfortable giving their status and voicing dissenting opinion. Their local manager/tech lead might provide the status on answer questions on the whole offshore team’s behalf. Therefore, it is the duty of the Scrum Master or manager to help all team members act pro-actively and voice their opinions and create a safe and open environment where dissenting opinions, new ideas, and participation are not only welcome but expected. Push back if you sense the team is passively acquiescing. Make sure every individual speaks his or her task estimation and you may well find that the consensus wasn’t a consensus after all.
- Respect for your team’s traditional and cultural practices can go a long way. Scheduling a Demo on a major holiday is disrespectful and will irk the offshore team. On the other hand, remembering and asking about their plans for the holiday shows respect, understanding of the culture and creates a stronger team bond. Try it and you may even be treated to some wonderful cultural sweets.
Applying Agile in a distributed environment creates a unique set of challenges. You can be proactive in creating an environment for success by understanding the complexity that results and applying new strategies with forethought, structure and diligence.
Contact Software Consortium or call 1-877-850-9393 to discuss how to leverage our top-level talent to empower your business.
Subscribe To InSIGHT
A Monthly Knowledge Sharing Resource for Business and Technology Leaders
|
Enter your email address to sign up now for the InSIGHT newsletter
|