Top 4 Recommendations for Successfully Scaling Agile with Distributed Teams
Scaling Agile is no easy feat. Successfully scaling Agile when your developers are dispersed throughout New York, Atlanta and San Diego, coupled with testers in Houston and Vancouver, supported by a Scrum Master in Phoenix and a Product Owner in Denver, all the while making sure to provide continuous value? That’s a beast of a different color.
Enterprises successfully scaling Agile must focus on lean thinking and adhere to agile values. And while the key structures and processes from the Scaled Agile Framework (SAFe) apply, here are four suggestions to help mitigate the potential risk of scaling Agile with distributed workers at the team-level.
1. Find the Right People for the Team Agile teams need agile people. They require leaders and members who are knowledgeable of Agile processes, who advocate for Agile benefits, and who are eager to play their role in successfully scaling Agile within the organization. They need workers who are a great cultural fit; workers who will increase morale and buy-in for enterprise-level change. Moreover, agile teams need knowledgeable workers with the right attitude and skillset; workers who are intrinsically motivated, driven to self-organize and committed to continuously delivering value.
The ongoing synergy created by having the right group of distributed people and leaders working towards the common goal of delivering value in the scaling enterprise will often outweigh the benefits of energy harnessed by having a centrally located team comprised of only some of the “right” people.
2. Organize the Team Around Feature Areas When scaling Agile with distributed team members, effort should be made to build teams around feature areas, as opposed to location, components or architecture. Building teams based on feature areas helps minimize cross-team dependencies, which can become increasingly complex to manage as the enterprise scales, especially with distributed team members. By organizing around a feature area, distributed team members can better align on a common vision. This shared vision helps the distributed team more proactively respond to change; thus decreasing development delays and related costs, and providing higher value and satisfaction to the customer.
The nature of cross-functional teams created by organizing around feature areas typically provides opportunity for the quickest delivery of value and joy for the customer, as opposed to teams built on proximity, components or the like.
3. Use the Best Communication Strategies
Distributed team members in organizations scaling Agile must realize and acknowledge that effective communication is a potential risk. By putting more thoughtful effort into communicating well, distributed Agile teams can actually turn a potential communication weakness into a valuable strength.
Working agreements for open, honest and fair communication need to be in place for high-performing, distributed Agile teams. Dependable collaboration tools, such as screen sharing, teleconferencing, instant messaging, video chat, webcams, and others, must be tested and easily accessible to all members of the distributed team.
_“As a [development] example, tools such as Bitbucket or Github provide advanced workflow with version control. A common source code management technique we use is GitFlow. This involves developers working in their own branch (_version of the code base) and then submitting a “pull request” to other team members who review the code submission and ultimately merge the code changes into the main development branch of the code. The pull request workflow ensures that code changes are reviewed by other developers before they become part of the product. This workflow technique also powers large open source development efforts on well-known projects like Linux. The developers who contribute to these projects are located all around the world. The same tools which enable their success can work for your projects as well.”-Peter Traeg, Solutions Architect at Universal Mind
Sharing ideas using on-screen communication tools builds trust among distributed team members and facilitates alignment. This transparency helps protect against dependencies and delays in the project, and thus increases the overall flow and delivery of value.
With thought and effort put into the mode and tempo of communication, the awareness and openness with which distributed teams electronically collaborate will likely overpower any potential gains of having disengaged communicators on the team sitting face-to-face in the same room.
4. Prioritize the Team’s Continuous Improvement The challenges of working on a distributed team usually surface more quickly than traditional teams, giving distributed teams the opportunity to build in strong processes from the onset. For this reason, Agile Retrospective meetings are critical for teams with distributed members. These sessions must include specific discussions about how having a distributed team may help or hinder the ability to achieve goals. Teams must adapt quickly and data should be used to support these decisions. The best metric remains the continuous delivery of value via working software, all with the sustainably shortest lead-time.
Also critical to continuous improvement is making sure whole project teams meet in person for key events or at important milestones, such as release planning events (RPE) and training; as well as for periodic retreats and other special events to foster cohesiveness and build team morale.
These built-in Agile processes, combined with an increased focus on ongoing improvement of the distributed team, leads to better team cohesiveness, throughput and flow.
By following the Scaled Agile Framework (SAFe), along with finding the right people, organizing around feature areas, using the best communication strategies, and prioritizing the team’s continuous improvement, organizations will find themselves better positioned to successfully scale Agile with a distributed workforce.
Still not quite convinced? Some of the best technology products in the world have been built by distributed teams with remote workers, especially with the success of open source software. Take a look at Linux, Apache, Firefox, and Wikipedia just to name a few.
Ready to start your Agile Transformation? Download our free white paper now to learn how to leverage the power of experiences and a proven execution engine to both drive business and become more agile.