The freelance economy continues to outgrow even the most optimistic estimates. The latest research states that, within the next decade, freelancers could actually be the largest group in the US workforce! Currently, the 57 million freelancers contribute $1.4 trillion to the economy. A jump of 30% since 2016. If we extrapolate this to a global workforce, there are millions of people willing to work within distributed teams. The best talent doesn’t reside in one location: it’s more distributed than ever.
Highly skilled and talented individuals 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 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 mean 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.
Distributed Teams. 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’ve been using the Agile distributed team approach since 2010. For us, creating productive distributed teams is key to client satisfaction and talent retention. Even more important is being able to deliver valuable applications and projects – on time and on budget.
The secret to success with a distributed team approach is not far off from traditional agile methodology – but there are some unique characteristics that need to be adopted.
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.
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, and 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. In turn, this 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 printouts 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.
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 the 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.
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 distributed teams. Teams should be designed to run autonomously. Direct communication between team members should be encouraged over top-down management. Every distributed 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. Slack and group chat tools enable easy communication with people outside of the immediate working team.
Culture
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 hang out 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 having loyalty to an exciting project.
Here are a few tips on building a culture with distributed teams.
Get to know people personally. Spend time with your distributed 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 both the ridiculous and ridiculously interesting. Once we started doing this, a culture started to emerge. 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 of the latest techniques and 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 these 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 training 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.
Conclusion
We’ve listed many techniques that are helpful for running an agile distributed team. Remember, however, that the most important thing for a team is to have a positive, safe environment to express themselves in. Without the right culture as a foundation, tools and processes won’t get you very far.
The exact formula will be 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 an agile distributed team model, there will be clear improvements in communication and collaboration, These translate into better delivery of valuable products to end users and stakeholders.