I work with Atlassian, so no one would call me an objective third party, but the honest truth is this: I’m blown away by how my team – and this company – collaborates. Whether you use our products or not, this company has some great ideas on how remote teams can collaborate. At Atlassian we’ve found that technology plays an important role in establishing a collaborative culture amongst distributed teams, and we’ll take a look at that in this post. Once we understand how groups grow, we’ll explore Atlassian products can help facilitate and empower your teams.

Understanding team development

As Agile software professionals, we’re all focused on making our teams the most vibrant, productive work environments they can be. Great teams don’t happen overnight, though: Teams are built by establishing relationships, a shared culture, and common values. Borrowing from Scrum’s methodology, let’s take a look at Tuckman’s stages of group development. He outlines four major phases through which groups grow:

tuckman_team_development

Once teams move into the norming and performing stages, any changes to the team structure then revert the group back to the forming and storming phases. When the team changes new relationships and processes, they need to develop further to support those changes. Changes to team structure can be as simple as changing the team members, expanding or shrinking the size of the team, or adding a new remote team to the larger organization. Remote teams come in many different forms; sometimes it’s an existing team member that needs to work remotely for an extended period of time. Remote teams may be in the same city or state but in an different office. Other remote teams can be larger organizations on the other side of the globe. Your remote team may be inside or another organization completely.

Despite the parameters, remote teams make going through the stages of group development harder.

So why is working with remote teams so hard?

working_with_remote_teamsTeams thrive on shared culture and values. They set the foundation for how the team will work together and ultimately dictate the health of the team and the quality of deliverable that come from that team. For culture to grow organically, the team needs regular contact with one another to feel connected and to establish trust and effective relationships. Regular communication is critical in keeping the team growing, and face-to-face communication is critical in moving the team through the forming stages of development. Good tools and infrastructure help them prosper through the storming, norming, and performing stages.

When considering tools for your larger teams you’ll want to ensure the highest fidelity of communication possible.  Communication happens in organizations in a number of ways:

  • Face-to-face conversation (video or in person)
  • Email
  • Shared online tools like wikis, chat, and project trackers
  • Source code (for software teams).

As a team scales, the culture needs to be reproducible and well established for the organization to grow well. Remote teams push the team’s culture to become reproducible faster. While hallway conversations can be great to keep everyone locally in the know, the remote team quickly becomes out of date, and culture suffers.

Getting the best remotely and locally

1. Make communications persistent

At Atlassian we have teams working the world over: Sydney, San Francisco, Amsterdam, Sao Paulo, Gdansk, and Kuala Lumpur. Our product managers are often at the hub of several types of communication: between departments like engineering and design, as well as across locations. Finding the right method of communication is critical in ensuring that conversation is efficient and persistent. Every sprint on the JIRA team involves engineering in Sydney and Poland, marketing in San Francisco, and support in many locations around the world. We will be focusing on three of Atlassian’s products: JIRA, Confluence, and HipChat.

Let’s hear from Shihab a PM on the JIRA team about how he uses Atlassian tools to work across a diverse landscape.

 

There are lots of real-time chat products out there, from Adium to IRC. We use HipChat (of course), as it seamlessly integrates with many of our products to support rapid software development. HipChat is great for working with local and remote teams, since it allows individuals and teams to collaborate in real time to quickly get consensus. Instant messaging is great for making decisions in real-time, but the outcome of those decisions – and conversations that led to the decisions – should be captured elsewhere. For this we use Confluence, our content development and publishing software, or JIRA our project tracking software. The others can then follow the conversation using Confluence and JIRA rather than surfing through email.  For example in a conversation around search, we wanted to persist that decision for the rest of the team to follow.

 

confluence_and_hipchat

Also, HipChat keeps a transcript of conversation that’s easily searchable by team members involved in the conversation. When collaboration happens across many time zones, it’s easy for the other team to review the conversation as they start their day with a cup of coffee.

2. Make direction clear

The second challenge about working with remote teams is that team direction and responsibilities can get out of sync across geographies. With e-mail, everyone has individual copies of the project plan and it’s hard to track threads of conversation. @mentions in JIRA and Confluence work well as they direct a single conversation across many people. Thus, everyone stays on the same page.

Agile teams often use a wall board with sticky notes to track progress through a sprint. A wall board shows all the tasks for the team during the sprint. Some teams use a physical representation of their wallboard.

remote_teams_scrum_board
When remote team members join they are not easily able to contribute to the board. As the team starts growing someone on the local team serves as the liaison to manage the affairs of the remote team. Since the teams cannot directly collaborate with one another, it’s hard to keep each other on the same page. While well meaning, the liaison becomes blocking for many of the interactions and hand offs that need to happen for everyone to be successful.

remote_teams_non_optimal

 

Anything you can do to make the team interactions simpler will make it easier for any team to work, both local and remote. With JIRA, a team can have a common wall board that shows the complete status of the entire project. Local employees see the activities of the remote team without needing to ask a manager and can easily collaborate on complex tasks as everyone knows what they need to deliver.

optimal_remote_teams

So how does JIRA make the entire team more productive? Put simply:

  • The whole team uses the same tools (and optionally the same process)
  • No one person on the team has to manually give context to the rest of the team.  Everyone stays up to date in real time.

Are you new to Agile? Take a look at Atlassian’s ninja training to learn more about maximizing your team’s agility. Agile boards in JIRA are like their physical counterparts. Teams can flexibly create workflows which map to columns to track their projects. JIRA supports teams that want to work in Scrum or Kanban. For example, the product growth team uses a kanban board to track their work. Product growth works with every software team in most geographies across the globe.

remote_agile_board

 

A JIRA Agile board easily shows metrics a physical board cannot:

  • Highlighting all the experiments for a specific product
  • Showing only tasks that are waiting on me
  • Showing flow problems like too many or not enough work in the pipeline

Having everyone use a scalable set of tools keeps everyone on the same page. Confluence and JIRA can alert users via HipChat with user defined events. For example, when a high severity bug fails verification JIRA can send a message to the team’s HipChat room letting the team know there was a problem. For teams that have differing working hours, HipChat can ease the cross time zone notification and communication.

3. Embrace the forming process

Adding a remote team to your organization pushes the local team back into the forming phase. Take this time with the team to draft out new goals for the organizations shared values and goals. Why is the company adding this remote team? What common goals can both teams embrace during this new growth phase of the team. Your team has a rare window to raise the bar on its culture.

During the forming process one of the most often overlooked skills is to listen. As humans we sometimes have a tendency to want to talk more than listen. When having an important shift as expanding the team to multiple locations, listening is really important. Confluence’s threaded discussions help capture feedback on important issues for everyone (individuals and managers alike) to contribute and listen to the conversation. Confluence tracks how a page or it’s comments resonate with the organization. Readers can like content or comments to focus other readers on the most important parts of a conversation.

At Atlassian we had a post go out that generated a lot of feedback about a product decision. You can see thumbnails of the conversation below. All in all 62 likes in the post to direct the decision makers on how the team felt about the proposal.

social_currency_embrace_collaboration

As new ideas come up for the teams to work more effectively together, Confluence can provide an open forum for all team members to help grow the team culture. This is the perfect time to think about a more sustainable tooling strategy for everyone in the organization. JIRA, Confluence, and HipChat can free teams from the constraints of geography and make the teams interactions more cohesive.

We are curious: What are your ways to work effectively with remote teams? Let us know in the comments!

About Dan Radigan

Software has been a passion since the days of the floppy disk (you know, the actual 5.25 inch floppy ones). Agile has had a huge impact on me both professionally and personally as I've learned the best experiences are agile, both in code and in life. You'll often find me at the intersection of technology, photography, and motorcycling. Find me on twitter @danradigan.

View all posts by Dan Radigan »