We consist of a fairly small team with only four employees and one freelancer. Even though we have an office some of us work from remote locations on a regular basis. A few of us have lenghty experience of working with team members spread out across several countries and offices. So this way of working feels fairly natural. With that said, we´d like to share some of the benefits and obstacles that can arise through working across different locations.
Needless to say, there is a huge personal gain in being able to choose your own workplace. Even if everyone is based in the same city, it is great to be able to leave and pick up the kids from the school without stress and not having to spend time commuting. It is easier to take a break for exercising outdoors (depending on where you live of course) and get refreshed.
More flexibility can be a great way to increase enery and passion for your work, as you are allowed to perform your work tasks in an environment you prefer. Creating your own atmosphere can be a great mood booster. It can also greatly limit the amount of distracting elements, such as loud conversations, allowing you to easily find your focus.
Lack of social interaction
A CEO once told me that he didn't approve of too much work from remote locations, because people would miss the "watercooler moments". He basically meant that there are important and informal dialogues going on at the office. When people kick back, have a cup of coffee and just happen to stumble into meaningful conversations (a.k.a innovation!).
How we handle it
Some of us regurlarly play team based games during the lunch break. It is a way to increase cooperation, playfulness and inspiration. But most of all, it is fun and doesn't really serve any specific purpose. Actively supporting people to do fun things together is just something that makes sense when building a great team.
All of our team members have a recurring calendar event at 3 p.m. Everyone dials in to the video conference and have a Swedish fika. We allow ourselves to just chat about whatever we feel like, but we also have the benefit of making a turn based strategy game, so we always engage in a multiplayer session. Friendly banter and random discussions connects the team and builds the sense of belonging, even for those not physically present.
It can be easy to misunderstand a text, likewise it is easy to misinterpret the tone in a chat conversation. While someone might perceive a sentence as formal and to the point, another person might view the sentence as bossy and harsh. When team members works from separate locations it is important to minimize misunderstandings.
How we handle it
We emphasize the importance of structure, documentation and review in all of our work. Our "definition of done" includes the two following points:
- Documented where applicable
- Reviewed by another person (if it’s meant for production use)
This means that any part of the development that is considered to be "done" has been both properly documented AND reviewed by someone else in the development team. This helps us offset problems with misunderstandings of direct instructions for implementation, but not social misunderstandings.
We regard sprint retrospectives to be an excellent platform for feedback and dialogue. It allows team members to regurlarly discuss what works well and what doesn't, so we can find solutions to potential problems. It is a great way to ventilate frustrations and clear out misunderstandings. But as the retrospective only happens after a sprint ends we also advocate a healthy dose of daily discussions, between team members in all locations. We do this by letting all team members use the same communication and planning tools, not just only the ones working off site. Everyone should be on the same page and up to date of what's going on.
And, incidentally, this gives us an excellent transition into the next part.
Methodology & Tools
There are tons of more information about the topics below, so I won't go into great details. I'll rather focus on explaining how we use these tools in the context of having a distributed team.
Having the daily standup meeting as a natural meeting point and a way to kick off the day is great. It is also a regular appointment where people learn what others are working on and if they need help with something. Furthermore, we can also fall back on SCRUM as a framework for how we operate, meaning we have a solid foundation that we rely on as we grow.
Using Google Docs, Sheets and Presentations is amazing for collaboration. The comment functionality makes reviewing easy and you can also check for changes swiftly. We prefer to keep our design documentation across several folders and specify features in stand alone documents. We want to make it easy for others to dive into selected parts of the game design when needed.
Google Calendar + Google Hangouts
Great for setting up both team wide and personal appointments. We use the calendar to plan for daily standup, reviews, retrospects, etc. As our SCRUM team will never be more than 9 team members, we are not overly worried about the chat or video lines being too crowded.
A great way for keeping up the daily conversations. With multiple channels not everyone needs to see or react to everything. Works particurlarly well for our graphic freelancers who quickly can get feedback and bounce variations back and forth.
A digital SCRUM board allows everyone to see what the others are working on and who needs help with reviewing something. It is also a good way to spot tasks that have remain blocked for a long period of time.
Pair Programming is something we love, and try to engage in as much as possible. Working from a distance can make this challenging, but we've found Screen Hero to be an excellent solution.
A final note
Working from home, co-working spaces or cafés isn't for everyone. But allowing team members to pick their own location can be a great way to allow personal freedom and keep up motivation among team members.
You can find further insights into the topic in this great blogpost at Happy Melly.