How to Deliver Agile Software Projects with Remote Teams

How to Deliver Agile Software Projects with Remote Teams

At Big Red we work extensively with software companies that utilise remote development teams. When hiring managers are building a project team, they often have to consider the challenges of a remote team structure. We asked our clients how they have successfully achieved this.

In today’s working environment it is common for a software team to be distributed across remote offices, often globally. This is sensible considering projects can make the most of the best talent without the restrictions of geography. Work can continue around the clock and most businesses have some or all of their teams this way. Talent is also better retained when you remove the commute or an unattractive location. When you look at it pragmatically, all teams become geographically split from time to time, when travelling or working from home for a better work/life balance.

Agile was designed to be based on face-to-face interaction and teams were supposed to be clustered or located in the same office. Multiple time zones, building and maintaining rapport with team members, as well as differing development cultures all present challenges to an agile project team.

So how can an agile culture thrive in a distributed team environment?

1.      Get the structure right

Breaking a project team into self-sufficient modules neatly echoes the modular design of good software architecture. If each office is self-sufficient with a single piece of technology, the reliance on other teams is minimal and work can continue autonomously.

When a specific project requires teams to work together, they can then focus on their integration points and APIs. Having code reviews also helps as it encourages knowledge sharing across different locations, and ensures that other offices can step in and support production issues when they arise.

2.      Focus on relationships

Agile development projects are built on robust relationships, personal connections and solid rapport. Teams thrive when there is trust and self-organisation. You can focus on this by getting to know all the people you work with in remote offices, visit and video conference or get face time wherever possible.

Another way to maintain relationships is to encourage weekly one-to-one video chats. A more casual chat encourages better knowledge sharing. You could even think about seconding team members to other teams for anywhere from a few weeks to a year to establish and maintain relationships.

It’s important to be mindful of the limitations of video conferencing though, as it is scheduled rather than spontaneous chat and can have frustrating connectivity issues. Video conferencing is designed to only allow a short window of communication, so you will need to make the effort to maintain a culture of using video chat to have spontaneous conversations. 

3.      Unified culture

Promoting a unified culture is challenging when working with various remote teams. There are a few approaches to take.

Ensure that your definition of done is well defined in order to manage expectations when delivering a release which involves multiple teams. This means there shouldn’t be any ambiguity across a project team.

Over communicate until the teams find their right level of interaction. It needs to be super transparent to all remote teams when even small decisions have been made. You could use a content management system to share decisions that have been made and the reasons why. Avoid email where information is easily lost, and be proactive in sharing information. Communication is hugely important – those hallway conversations and local individual team meetings will be missed.

Create clear guidelines for bug reports and troubleshooting guides. When time zones mean that teams are online at different times, anyone can track issues as long as code reviews and a good testing process is in place. Sharing knowledge in this way should prevent any team from becoming a blocker and be empowered to fix changes efficiently. Create a ‘Getting Started’ guide to encourage consistency.

4.      Make the most of common time zones

The golden hours for a distributed team are those common time zones where all teams are in the office. Make sure you use this time for stand-ups. If you’re sharing work between time zones, stand-up is your time for a slick hand over. Doing this via video conference also means questions can be raised and addressed rapidly, and work can begin as soon as the meeting is done, rather than waiting for clarifications. It may seem obvious, but if you have tricky time zones to coordinate, we suggest a rotation system so that everyone takes a turn with that out of hours meeting.

Remember stand-up doesn’t have to be a morning routine, nor does it have to be daily. Keep an eye on engagement of all team members too - we don’t want team members to disengage and stop sharing.

By addressing these four aspects of a project, agile really can thrive in a dispersed team. Business travel and working from home means that at some point or other everyone is dispersed, even a single team in a single office. By considering these points, when projects and business scale up, the culture will be ready to grow with it.

What challenges have you experienced as part of a geographically dispersed team? Do you work from home or manage an overseas team? Let us know in the comments what worked for you. 

Jon Coldridge

Founder at Perpetual Equity

6y

Great article Pete

Like
Reply
Stephen Wileman

Implementing significant improvements to streamline business processes.

6y

All of the best articles remind you of the obvious and what you already know. This is one.

Like
Reply

To view or add a comment, sign in

More articles by Pete Lishman

  • 10 Ways to Improve Employee Wellbeing

    There’s no doubt that the modern focus on wellbeing is a great thing. National campaigns raise awareness of mental…

    3 Comments

Insights from the community

Others also viewed

Explore topics