Over the past twenty years, the agile method for digital engineering has become the standard for creating and implementing digital projects. The agile movement focuses on cross-functional teams, smaller groups, flexibility, collaboration, trust, and gradual improvements since its inception. When the Agile Manifesto was released in 2001, the work environment was quite different from what most of us know today. Although agile does not require team members to work in the same place, it assumes that collaboration, trust, and brainstorming are more effective when people can meet in person. In the years since, the work landscape has changed significantly. Remote work has become more common, which means that practicing agile now involves considering various office locations, time zones, countries, and continents in the workflow.

At Infostretch, we have plenty of experience with distributed agile: our teams are spread across three continents and several offices. When asked, our clients point out the high skill levels, the quality of our team members, and the positive results they achieve. Adjusting our work processes, policies, behaviors, and habits to match a distributed agile model is not only smart for business; it also improves our work culture.

Here are ten tips and tricks we’ve learnt along the way to ensure organizations stays agile in a distributed environment:

  1. Pin down the strengths and challenges in your particular environment – Distributed teams vary a lot. It matters which roles are co-located and which ones are distributed, so a distributed agile model that worked for one team may not fit the distribution of another. With each engagement, it is important to examine the size and complexity of the team and project. For instance, how many locations and time zones are involved? Is the majority of the team co-located with only a few distributed workers, or is the distribution evenly spread?
  2. Build better teams – Talent, skills, availability and of course the scope of work all dictate how teams are constructed. Creating the perfect match is possible if you are careful about how you assign roles. For instance, features-based work is often easier to fit into a distributed working model, rather than more horizontal tasks. Recognize which team members need to work most closely. That might mean product owners being co-located with the dev team, while some roles might need to be juggled or swapped to ensure efficient team working. Other, softer skills are also important, so aside from core technical expertise, consider the person’s motivation levels and if they can build trust or promote collaboration.
  3. Mapping workflows – Related to how teams are structured, it’s important to have a clear understanding of how the project will run. This means mapping your activity and your goals to the intended workflow. It’s an opportunity to spot any obstacles that would prevent a team from working in an agile way and deal with them. It’s also an opportunity to discuss and gain buy-in from the whole team of the short, mid, and long-term goals and deadlines.
  4. Communications – Systems of engagement that facilitate communication and collaboration between team members take on new importance when the work is complex and the teams distributed. While application lifecycle management tools can take care of logging a project’s progress, teams also need to be able to discuss, brainstorm, and communicate easily. Collaboration technology comes in many forms (chat platforms, video conferencing, distributed source-code management, etc.). It’s worth experimenting until you find what works, or be guided by what the team already works with. We love Slack and Zoom, though every company has its preferences.
  5. Keep communications simple – When cities, countries, and time zones, separate team members, cultural and language barriers can turn seemingly minor misunderstandings into major issues. The clarity in communications becomes paramount. In the distributed environment, nuanced comments or office politics can be lost in translation. Instead, prioritize transparency, because this is how you rapidly build trust in distributed teams.
  6. Teamwork makes the dream work – Trust and respect are the foundations of a high-performing team. It’s a small matter of phrasing, but working as a team rather than with a team can significantly impact team dynamics. Treat team members equally and with consideration. This might mean thinking carefully when scheduling calls to find a time zone that works for everyone, for example.
  7. Recruit with distributed agile in mind – Distributed agile skills include being highly motivated, a team player, and a clear communicator. Team cohesion is important to great distributed agile practitioners, which means they’ll go above and beyond their own personal scope of work to facilitate the team working as a whole.
  8. Knowing when to bring teams together physically – Consider in advance when it makes sense to bring team members together in the same location, and budget for it. We often work alongside our clients in their offices because it’s so beneficial for getting us up to speed with all the minutiae of the engagement. Sprints are also an obvious candidate for co-located working, especially at the early stages when team members really need to get to know one another and build trust.
  9. Work time zones in your favor – If it isn’t practical to meet up, often due to distances or time zones or budget, use the fact that the team is geographically dispersed to your own advantage to create round-the-clock progress. This is also good advice because, without sensible planning, time zones can actually hold up a team as members wait for co-workers in other time zones to start their day before they can progress their own work.
  10. Set aside team time – With the distributed working of any kind, but especially in software development, there can be a tendency for team members to zone in on their own piece of the puzzle and lose sight of the whole. Agile working relies on cross-functional teams collaborating closely. To improve collaboration and team spirit, we hold regular get-togethers both in person and virtually that enable people to get to know each other. For specific projects, we ensure we set aside time to check-in with team members individually, to offer an opportunity to raise issues or ask questions, and crucially, we listen. Not only does it increase trust and respect between teams, but it also improves outcomes by heading off potential issues before they blow up into problems.

We’ve been practicing agile since the company launched over 16 years ago, and we’re always learning new ways to hone our skills. Distributed agile is an approach that ensures we take the best of agile and map it onto the digital requirements of a new age. If you have a digital challenge, share it with us, and we will solve it for you. Get in touch using the form below.