How to Manage Distributed Teams Using Agile Techniques
According to Forrester Research 34 million Americans work from home today. This number is set to reach a staggering 63 million by 2016, comprising 43% of the US workforce. If we extrapolate this to a global workforce, there are potentially hundreds of millions of people willing to work as part of a distributed team. In the new world order, the best talent doesn’t reside in one location: it’s more distributed than ever.
Highly skilled and talented distributed workers know that they can work just as effectively from anywhere while also attaining a better work-life balance. Employers should consider this a win. According to IBM, people who work remotely are 50% more productive. This sentiment is also shared in the video by application development phenom @DHH, creator of Ruby on Rails and founder of 37signals (makers of Basecamp). Organizations that embrace distributed teams are also able to break free from the geographic limitations of sourcing talent, and are able to cast a wider net to attract and retain the best quality talent at lower costs. Take for example hiring a junior engineer based in the San Francisco Bay Area. Intense competition, the high cost of living and other in state and government mandates means hiring an inexperienced coder will probably cost you over a hundred thousand dollars per year. Add in the cost of leases, office infrastructure and paying for services like mobile devices, and costs quickly spiral.
While some might argue that distributed teams make communication harder, inhibit collaboration or never allow for a company culture to form, the trend still points to a future of managing a distributed workforce. We should learn to embrace it.
The Distributed Agile Approach — Think Global. Code Global.
Companies like WordPress.com, Basecamp, Github, Treehouse, Upworthy, Stack Exchange and many more are 100% distributed. Over 150 startups are 50% distributed with less than one-third of them having a presence in Silicon Valley. At Scalable Path we are a distributed, agile team of over 1000 developers, designers and marketers. We’ve been running and improving Distributed Agile since 2010, and over 25% of our clients have been running remote teams for at least 18 months, while 80% of our talent has been with us for over 2 years.
For us, creating productive distributed agile teams is key in client satisfaction and employee retention, and even more important in being able to deliver valuable applications and projects — on time and on budget. The keys to success of a digital agile approach aren’t far off from traditional agile methodology, but they do have unique characteristics that make them work.
Communication and Collaboration
Ask any practitioner of agile and they’ll tell you that communication and collaboration are probably the most important attributes to delivering projects on time. With distributed teams, being good at this is even more pronounced. Fortunately, the tools and technologies available today to distributed teams can nearly match the ultimate communication and collaboration tool of meeting face-to-face. But as we know, distributed workforces are the future so you’ll probably being seeing less and less of your colleague in person. Communication and collaboration tools for the Distributed Agile team include:
- Online task tracking and project management tools. Choose your tools wisely. Physical backlogs with sticky notes are great in some cases, but don’t translate well to a distributed team. Use online tools to enable smooth and dynamic project and task management, easy prioritization, visibility and transparency and better collaboration. Project and Task Tracking Tools: Trello, Jira, Pivotal Tracker, Basecamp
- Virtual Meetings and Collaboration. In-person exchanges are special, allowing people to be fully in each other’s presence, and communicate with voice, facial expressions and body language. These nuances usually get lost in with emails and text communications, which can lead to miscommunications and disagreements if not handled correctly. However, modern communication tools enable easy and seamless voice and video calls, which means we can approximate in-person meetings with regards to what we hear and see in people’s faces. As a bonus, many tools also enable other forms of collaborative features such as screen sharing, which makes passing around print-outs and huddling around a single computer a thing of the past. The prevalence of these tools is making their cost zero in some cases, meaning that teams and individuals can spin up ad-hoc meetings to resolve issues or discuss a topic. Meeting and collaboration tools: Google Hangouts, GoToMeeting, Skype, appear.in, Room
- Group Chat, Not Email. At Scalable Path, we communicate with our clients, teams, and third-parties via Slack instead of email. Slack is one of a new breed of organizational chat tools which allows groups to have text conversations and collaborate in an effective and efficient manner. You can set the context of channels to discuss particular projects or topics, and people can communicate directly if needed. There is also the notion of public channels, where the whole organization can communicate, and private channels, where only invited individuals can chat. Instead of having many email messages and threads, it’s much easier to see the history of a conversation and collaborate. We see an increase in communication and collaboration within organizations where we implement Slack. Check out Slack, it’s free to get started. Another great tool that accomplishes a similar goal is HipChat, but the barrier to entry is larger for organizations. Other Tools: 10 alternatives to Slack
- Work with teams with high time zone overlap. Working with teams with significant time zone overlap allows tight collaboration without affecting work-life balance. Having distributed teams with large time differences negatively affects team dynamics and in the long term is unsustainable, and usually requires duplicating leadership for each time-zone isolated team. Scalable Path assembles project teams with healthy overlap in working hours so that teams members can work with each other.
- Build self-sufficient teams. Teams should be designed to run autonomously. Direct communication between team members should be encouraged over top-down management. Every team should include people with all of the skills needed to develop the product they are working on. Try avoiding splitting individuals’ time across different teams as this leads to unnecessary bottlenecks and inefficiencies due to context-switching. Teams needing outside support should be free to seek it as long as the impact to other people’s productivity is not affected, or if it is, get the proper approvals. Slack and group chat tools enable easy communication with people outside of the immediate working team.
Doesn’t culture develop from being physically together? Admittedly, it can be difficult for a team to build a positive rapport when members are unable to catch up at lunch or hangout after work. But culture goes beyond meals and libations. It’s also about seeing a vision, aligning to a mission, creating a sense of community and belonging and having loyalty to a project that gets people excited about work. Here are a few tips on building culture with distributed teams.
- Get to know people personally. Spend time with your team members before or after calls. Get to know about their interests, books they’re reading, things they’re doing offline. Building personal relationships helps build trust and bridges cultural differences which leads to people being more open about their opinions. It helps build relationships that go a long way in retaining employees. People like feeling appreciated, and sharing their passions. As social media sites like Facebook show us, people are willing to share their lives virtually.
- Create a place for people to share interesting or funny online content. At Scalable Path, we have #frontend, #backend, #design, #random and #general channels in Slack where people share ridiculous things and ridiculously interesting things like news, new technology, and ideas. Once we started doing this, a culture started to emerge and people working on different projects started to get to know each other. It’s like having a virtual water cooler where impromptu conversations happen and it’s been great!
- Create room for innovation. We encourage everyone within our organization to work on personal projects. Some of our leaders are actually using our developer network to build their side projects. It keeps their creative juices flowing and makes them more effective with client engagements.
- Be introspective and iterate. In Agile fashion, organizations should be open to change and ask themselves what’s working and what’s not working, and aim to iterate and improve over time. You are probably not going to get everything right the first time around, but it’s possible to improve over time.
- Guest appearances by non-team members. At Scalable Path, we have webinars featuring thought leaders and experts once a month. It helps our team stay abreast with the latest techniques and a gives the team a sense of what’s happening around the world. Within client projects we encourage cameos from other people, for example a VP/CTO/CEO to share updates, insights, news. Best of all, through hangouts, we are able to get thought leaders from across the world to talk about their experiences.
- Have once a month inter-team meetings. We have monthly updates with our leadership team to share learnings, developments and goals. It makes everyone feel they’re part of a bigger mission. During these meetings we encourage the sharing of ideas and giving feedback on ways to improve.
- Invest in personal development. Offering free trainings and reimbursements for personal growth go a long way in developing culture. It helps employees make leaps within their professional life and keeps them happier.
We’ve listed many techniques that are helpful for running Distributed Agile teams. It can’t be stressed enough, however, that the most important thing for a team is to have a positive environment where people feel safe to express themselves and try new things. Without the right culture as a foundation, tools and processes won’t get you very far.
The equation is different for every organization, but the points outlined above are a great place to start. We find that these concepts are not just applicable to application development teams, and work well for many other businesses. Once the organization is comfortable with a Distributed Agile model, there should be clear improvements in communication and collaboration, which translate into better delivery of valuable products to end users and stakeholders.