How to Use Scrum with a Decentralized Team
I started my journey into decentralized management in 2011, and I currently work with 15 people ranging from writers, designers, and developers. In the beginning, the challenge was recruiting talent worldwide, but lately, the obstacles revolve around management. Here are a few key things I've learned along the way.
Scrum works!
Anyone can learn scrum. Training and certifications are available in most major cities and require no more than a day or two of training. Scrum is critical for projects that require continuous maintenance such as apps, websites, or SaaS services but it also works for services and more. Since scrum enables clients (aka product owners) gain control of development by identifying and prioritizing the features that means most for their business, the only real friction is time and money.
Project management is about balancing time, scope, and resources. Through scrum, scope is given more importance. Similar to other business concepts such as strategy, scope is all about identifying what you should not do. Therefore, by structuring projects into an agile fashion (of Features, Bugs, or Chores), software projects have a better chance of successfully launching.
Managing Scrum alongside a Decentralized Team
Currently, my art directors are in Portland, OR, and Johannesburg. My full-stack engineer lives in Boston, one designer is in New York, three website developers in Ukraine, and one Android developer in Buenos Aires. At first glance, the task of managing across multiple timezones seems impossible, but six years later, I can no longer imagine working any other way of working.
Lessons Learned
Below are a few key concepts I find foundational for managing remote people. If anyone has other tools or ideas to share, please do in the comments section below.
Best Communication Tools
These are my favorite tools for getting teams to communicate online.
- Uber Conference is excellent for team meetings. The service allows you to either call in via phone or a browser, and you do not have to install annoying plug-ins or specialized software. The price is nearly free, and the upgrades are reasonable. For example, the premium service will allow you to record a meeting.
- Skype is useful if you're working with someone who has poor Internet. I trade-off between Uber Conference and Skype.
- Slack is better than e-mail. The key feature I love most about Slack is the ability to send large files and create private channels. Slack also integrates with Scrum tools such as JIRA, PivotalTracker, and Asana.
Best Scheduling Tools
Once you have an assignment and you've built your team, the next step is to set a schedule (daily or weekly) and stick to it. It's important to establish routines early on while the team is flexible.
- Google Calendar is your best friend. Everyone in the world has some form of a Gmail account, and it is brilliant at auto-adjusting dates and times based based on a user's local settings. If I send a calendar invite for 10 a.m. PST, someone in Istanbul can receive the invite with the date and time adjusted for their local time. Goodbye timezone confusion.
Prepare for all Meetings
Considering that your team may be calling it at midnight their time, it's good hygiene to prepare for all meetings. The last thing you want to do is waste their time by not having something made beforehand.
It's also a good idea to send a meeting reminder to all invitees before the meeting. I suggest Slacking, e-mailing, or text messaging people as a friendly reminder.
Finally, it's not sufficient to Slack someone a reminder and not get a confirmation. You should always know if someone will be able / not able to attend a meeting.
Tips for Running a Meeting
- Try not to ask people, "What did you do?" It sets the wrong tone.
- Meetings are an excellent place for people to bring up more issues, tasks, or wishlist requests. It's your responsibility to hear those tasks and itemize them into Features, Bugs, or Chores.
Itemize Everything
- If a Product Owner is making requests via e-mail, never let it sit there, input it into a feature, bug, or chore.
- If a customer calls to complain about something, track it.
- If an internal team member start venting, itemize it.
More to Learn
Although I've managed multiple teams for many years now, I still find myself learning new things. Lately, I've been spending a lot of time studying how people from different cultures interact with each other. As I continue assmebling teams worldwide, I realize that people from different cultures communicate differently and that we have to acknowledge concepts like punctuality, authority, and context differently.