There are many real problems and challenges for remote software development teams such as coordinating across time zones and trying to schedule meetings or less formal conversations when teams are online at the same time, building rapport when everyone is not in the same office, loss of spontaneous face-to-face communication and nonetheless, collaboration among different development cultures. However, it’s always all about the compromise since this kind of working model obviously works and is here to stay. Some of the benefits are reduced operational costs, access to a wide range of people and specialist skills, proximity to customers or internal business units and many more.
On the other side, Agile development was initially created for teams physically located together but having in mind that today most businesses have several distributed teams – Agile and Scrum need to be included in this working model too.
For example, for many in-house software development teams, a standard practice of the Scrum methodology is the daily stand-up meeting – a brief team meeting being held for the entire team to stay up-to-date and to quickly resolve bottlenecks. The common practise is that everyone involved answers three standard questions: What did you do yesterday? What will you do today? What is blocking your progress?.
However, most remote teams are distributed across multiple time zones and what is 9:00 AM in one location is for example 7 PM on the other location, making this kind of meeting nonsense. Luckily, there is Slack and number of other specialized tools being able to ask team members to inform their colleagues about the work-in-progress, at a time that makes sense in their own time zones. All of this combined resulted in the fact that many distributed teams have ditched their daily meetings entirely. This seems to work just as well and costs people much less time.
So, the question is whether is Scrum incompatible with fully distributed Scrum teams and is there a way to make this work.
There is definitely a way to make it work. However, some rules would need to be broken and other newly created. This new and modified Scrum would need to based around several key
➔ Establishing purpose, having in mind teams are more productive when they understand the business context of the task at hand
➔ Staying on top of replying to people, whether it’s via email, Skype, Slack, Trello or any other tool the team is using
➔ Documenting, although Scrum should be a low-documentation process, distributed teams require frequent and thorough documentation
Other suggestions would be:
➔ Using the right set of web-based tools
➔ Receiving live feedback via video conferences
➔ Being highly collaborative
Either way, it is up to the company to consider various factors with regards to implementing the Scrum: organization, team members, tools and demands in resources, and assess the risk.
In case your company needs a team, we can help you execute projects by providing trusted developers who can join your team and immediately start delivering high-quality code.