Pages

Scrum with Remote Workers - My Experience

About a year ago, our operations team took a cue from our developers and moved to a Scrum framework to manage infrastructure and monitoring projects.  If you are unfamiliar with Scrum, it is a set of processes usually used in software development that takes an iterative approach to building a product. The team works from a "backlog" of features, or User Stories, and each iteration in Scrum is referred to as a Sprint.


It turns out that this agile, iterative process works quite well in the operations world too; however, there were some difficulties for me personally - being the only remote member of my team.

One of the core tenants of Scrum is a highly communicative team, and this is reinforced through the daily scrum (or stand-up) meeting. The rest of my operations team is located in France, so I am separated by 4000 miles, 7 time zones, and 1 language. This certainly hinders communication and many of the standard tools used by Scrum teams.  Over the past several months, we have overcome these hurdles and found some solutions that work well to integrate a remote worker, myself, into the Scrum process.

Daily Stand-up

With the time, distance, and language barriers, participating in the daily stand-up meeting just isn't possible for me.  It would require moving the meeting to the afternoon for my French colleagues which defeats the daily planning purpose of this meeting, and performing the meeting in English for my benefit would slow down and lengthen the meeting.

In lieu of the daily stand-up, at the end of my day I supply input for the following day's stand-up in France - what have I done today, what am I planning for tomorrow, and are there any impediments. After their meeting, the same information from the rest of the team is provided back to me.  This all done through a shared OneNote notebook, which makes it easy for any team member to see the information, and our Scrum Master takes on the responsibility keeping things up to date.

We have tried some other alternatives to the daily stand-up with less success. At one point, I was doing daily calls with our Scrum Master, but this turned out to be too time intensive for both of us, and many times it was too difficult to schedule the call when we only have 3-4 hours of overlap in our work days.  Additionally, we tried send the updates via e-mail but inevitably, I or the team, would miss an email putting everyone out of sync.

Sprint Task Board

The sprint task board is central to the daily stand-up and it allows the whole team to see what stories are in progress, and the status of each task. The board needs to be a dynamic part of the meeting which means it really needs to be a physical board.

Unfortunately, camera technology has not evolved to the point were remote workers can see a "live" version of the task board, so we keep an electronic version of the board in Excel too. This allows the physical board to be used during the daily stand-up and planning meetings, but I also get up-to-date information showing the current status of the sprint and all tasks.

Updating the Excel version of the task board again falls on the Scrum Master. As you can imagine, in order for this whole process to work, having an invested Scrum Master is essential!

Handling Communication

HP Webcam
In the pre-Scrum days, I relied heavily on instant message and e-mail to communicate with the rest of the team.  While these tools are useful, they certainly can't replace a face-to-face meeting to hash out a complex issue.  With Scrum, we were finding that IM was still too slow and clunky for communication and have since moved to voice and video calls.  Each member of the team is now outfitted with a webcam and headset allowing for quick and productive calls.

There are many benefits to using video over IM or a phone call, but the key is that a video call is much more personal. You can see facial expressions and hand gestures, and see if the other person is distracted or being interrupted by someone else.

Keep All Information Visible

The whole Scrum team has to be aware that not all members are working in the same room. In order to keep everyone up-to-date on a task, we cannot rely on chit-chat across a desk - instead, everything has to be written down somewhere. Of course, there is more information passed along during the day than what is mentioned at the daily stand-up, and that information needs to be captured.

The primary tool we use to store information on stories in the current sprint is, again, OneNote.  It allows for quick cut and paste of screen shots or information from other tools, and really has a low barrier for use.  However, our sprints only last for 2 weeks, so for less ephemeral documentation, we rely on an internal wiki running MediaWiki. Again, this is another place where email fails at having much utility.

As a remote member of the team, if something is not written down, then for all intents and purposes, that information doesn't exist.  This is something that the whole team has to keep in mind.

To Summarize

Having a remote worker in your Scrum team is not always easy, but it is doable.  It requires a commitment from the whole team, and a Scrum Master willing to invest the extra time.  I am lucky to work with a great group who's willing to take these extra steps!

The tools we use to accomplish all of this are:
  • OneNote, it is the lifeblood of our Sprint and stores information on the current tasks along with the inputs and outputs of the daily stand-up meeting.
  • Excel replicates our Sprint task board allowing it to be visible remotely.
  • Lync allows us to communicate quickly and easily through IM, or more importantly, video chat.
  • MediaWiki contains our team's documentation, and keeping this updated is usually one of the outputs from our stories.
The tools we use are Microsoft-centric, but there are many other alternatives that could be used like Trello, JIRA, Skype, and Google Hangouts. Pick what works best in your current environment, and don't try to fit the environment to the tool - but the other way around.