Choosing a project management framework for distributed teams on a global scale is a matter of balancing people, process and product.
There is a surge in development organisations turning to scrum as their preferred agile process methodology (and with both great success and good value).
Not only are they getting better quality, higher productivity and easier management of projects but also equally important, more satisfied developers.
Coming from a world of waterfall projects, it may seem like agile turns the process upside down. Even with the promise of great benefits, it can be hard to determine the extent of disruption and how the transformation of process may impact productivity.
For development projects of all kind, there is much to be gained in the fast-growing world of remote development. Scrum delivers the framework and set of tools needed to support the collaboration between team members spread out all over the world.
Considerations before using scrum
For organisations still considering the move to not only scrum but also remote development, there are a number of things that are important to keep in mind.
While it’s true that scrum is ”just” a framework, it does require a minimum of artefacts, roles and meetings before you can start to get the full benefit.
(Even more so: don’t try to change or add anything to scrum before the organisation is intimately familiar with how scrum works and affects work in their particular context.)
This will also take time as there’s no simple or easy shortcut to achieve scrum proficiency.
For developers, scrum can appear as a more complex and interrupted process than ‘classic’ iterative waterfall projects with smaller timeboxes, shorter deadlines and a stream of meetings to take away attention from the core development.
From a technical perspective, it’s also challenging as it requires much knowledge on how to work on a daily basis.
Advantages to using scrum agile
That said, some of the most important advantages of using scrum agile include:
With constant tracking of progress, documentation is always updated and is accessible for the whole team.
Depending on tools, all communication with the team is ”on-demand”, relieving stress, uncertainties and helps with setting expectations.
Low fixed scope helps tame complexity and reins in the ”creeps” and keeps horizon in clear sight.
Moving to remote scrum
If the organisation isn’t already using scrum, there are still great advantages to not only making the move, but adding remote development too.
For anybody familiar with working as a team member on a scrum project, the basic ceremonies could appear as the hardest part to transition to a remote environment, but the reality is that it is no more than a force of habit. For teams going to scrum, it is an opportunity to develop some good habits from the beginning.
Reasons to do remote development are countless, but taking just one aspect, we can see how the structure of scrum fits very well: freedom for the individual developer.
A team can separate work from geographical constraints providing the freedom to potentially work non-stop if developers are globally distributed.
The developers themselves could also self-organise his or her own work as it fits personally as long as it is aligned with team’s needs. Even if scrum does mean more collaborative activities defined by the artefacts such as standups, grooming, demo and retro – these are never required to take place in any certain physical room.
Rather, scrum can serve as a supporting structure for a wide range of the virtues that are sought-after in remote development:
The daily standup provides regular updates across the team an opportunity to air issues and challenges.
In scrum agile the small team size commits developers to project goals – daily tracking exposes progress across the team and helps facilitate collaboration.
“Sleep can wait”
In a globally distributed team, the sun never sets on progress – even if ceremonies require a fixed time, tools exist that can help developers to submit contributions even when done asynchronously.
Planning a daily life balancing personal and work time can be stressful – remote development lets the individual developer manage their own time without losing sight of progress goals as defined sprint by sprint.
On scrum teams, the standard is using web based tools to support the process.
Although the whiteboard dotted with post-it-notes still exists and thrives in many places, it lacks the flexibility to support the structure of teamwork as they mature with their scrum processes.
Whether to use a single consolidated tool or a suite of “best practice” is a matter of temperament, wallet and organisational requirements. There is no single ‘covers all’ solution, so making the right decision does require proper preparation – what is most important is to strive to achieve the most coherency between different tools, ie. through simple integrations or workflow-based usage.
At time of writing, these tools are worth considering:
An enterprise-grade suite of tools that not only covers project management, but the full suite includes Jira (PM), Bitbucket (VCS), Confluence (Docs) and HipChat (IM).
Definitely one of the most advanced and complex systems available and can be customized to fit the need of almost any organization.
A real fan-favorite. Has a very wide user base and with a few add-on tools it handles scrum in smaller teams quite well. Is supported by very good apps for mobile and tablet.
A relative newcomer that offers some nice features out of the box. Not as feature-rich as Jira but more advanced than Trello. Also, very nice mobile apps makes it a good choice for digital nomads.
The hacker’s combo. Really stripped to the bone. Put a waffle on your git-repo and you can be up’n’running in literally minutes. Great for fast teams and small projects.
So with many factors to consider with regards to both organisation, team members, tools and demands in resources it may seem that scrum agile still poses too high of a risk.
Objectively this may very well be the case, but considering the potential benefits for further evolving both people and product in an ever more complex environment, it would be a mistake not to consider implementing scrum agile, even with a remote team.
And if not, then at least use any of the alternatives, ie. kanban or extreme programming.
This is the blogpost-version of a talk at DrupalCamp Spain 2016 which can be seen here: