Skype games. On effective distributed teams.
Twenty SoftwareMill employees create and provide software to customers from Europe, the US, Australia and South Africa, working from their desks in eight Polish towns. Their work is effective thanks to an efficient model of work in distributed teams.
The remote working model is selected by more than one in five people who have the opportunity to do so, according to a study by Global @dvisor. Telecommuting (Ipsos, 2011) Such an option is offered primarily to software engineers. When they start operations in a distributed model, companies do not only expect to avoid overhead costs (mainly for the office). The distributed model allows them to employ the best specialists, without being limited by their location.
This is also what motivated Tomasz, Adam, Paweł and Jan — three programmers and a management graduate who had experience working in a distributed model. When they founded SoftwareMill in 2009, they specifically chose this form of operations.
However, they did not expect how hard creating a company with a distributed team and on a very competitive market from the ground up would turn out to be.
A story of effective communication
Just after the first few weeks it turned out that the key to productive operations of the whole company is working out efficient forms of communicating. The communication environment that is generated naturally when people work from the same location was entirely missing.
For the foreign client how and where the team worked was not important, but getting the expected results required faultless communication.
As the starting point, the company adopted agile, a software production methodology that involves short iterations, close cooperation with the client, and prioritises interactions over processes and tools.
The actual communication methods and tools now used by the team were developed over the years and mistakes were unavoidable…
Meeting for coffee — remotely
One of the first challenges for the new company was establishing a method of daily communication between all the team members, who numbered seven people at that time. This was not only about exchanging information on the current state of progress in individual projects, but also about making conversation opportunities.
For the first year and a half, daily meetings followed Scrum methodology. Each week a different team member conducted the meeting, naming the next person to speak. Everybody answered three questions:
- “What did I do yesterday?”
- “What will I be doing today?” and
- “Is there anything blocking my work?”
Over that year, the team grew to ten people, so the conversations took longer and longer. The team got bored during the meetings, and people did not get to know each other better at all. At that point, there was a crisis in one of the projects which highlighted the gaps in communication.
Finding a solution required the participation of the whole team and took four of the monthly face-to-face meetings of the whole company.
Typical scrum methodology works for a team of up to 5 people. Furthermore, it is not a good way of building communication within the company as a whole.
Remote conference room
First of all, the team replaced the previous questions with less formal ones:
- “What is the mood in the project?”
- “Is there anything blocking the project?”
- a random question thought up each time by the person conducting the meeting.
The role of the last question was to create an opportunity for all the members to get better acquainted and to start talking about things unrelated to work.
The questions that started to appear turned out to be quite diverse, from “What are your plans for your holidays?” and “Favourite food”, to “Who was your greatest childhood influence?”
These types of conversations are not just a good way of getting to know a given person or facts from their life: they also reveal their personality, their attitude towards various issues, and the values they believe are important. And these are the aspects that allow us to understand one another and communicate better.
The way meetings are conducted also changed — people volunteer to lead, and participants speak when they choose. This allows everybody to feel responsible for the meetings and encourages them to listen to each other.
Each daily meeting ends in talk on random subjects, which turn into an opportunity to share any concerning issues. Despite the change in the formula and the increasing number of people taking part in the meeting (the team now has 21 people), they last 20 minutes.
Daily meetings of the whole company should be as little formalised as possible.
When Skype is not enough
At first daily meetings were held via Skype, but this only allowed for audio contact, and when the number of people rose to over five there were technical problems with even this one channel. This definitely made communications poorer and soon one of the basic principles of meetings lasting over five minutes was that visuals are also required.
The team found out in practice that non-verbal communication — gestures, expressions and the simple fact that people can see each other — makes the exchange seem much more like a real conversation.
The problem was finding a tool allowing almost twenty people to communicate daily using the two channels. Finally, after almost a year a combination of two different tools was selected. Audio is provided by TeamSpeak, and parallel to that visuals are shown via BigBlueButton. This allows all the people in the company to see each other and at the same time for a conversation to be held freely, without interruptions.
One standard tool is not sufficient for a larger number of people to communicate remotely.
How to maintain contact and work at the same time
Creating an environment for random conversations at work turned out to be another challenge.
A virtual office was formed, for which Skype chats were used. Virtual chatrooms were created: for each project, for the whole company as well as… thematic rooms, e.g. for motorcyclists. The conversations are text-based, so they do not require constant attention or get in the way of everyday work.
The general channel allows people tell others when they go out to lunch, for a walk or take a coffee break. These types of messages are sent more quickly thanks to abbreviations: for example “o” means lunch (from the Polish obiad), “brb” is “be right back” and “out” tells us that this person is done with work on that given day.
A useful move was setting up an artificial account: a robot present in each of the rooms, installed on a server that operates around the clock. This way, everybody gets all the messages sent — including those written while a given person was offline.
Not everybody thought the chat to be sufficient. One team in particular pushed for a solution to be found that would allow its members to feel as if they were in an office, remotely — that would allow them to start a conversation within the group at any time. This is what rooms created using TeamSpeak are for.
Each team has its own room. The tool works on a push-to-talk, basis, which means that the others can hear you only after you press a given combination of keys. This allows noise heard from other people to be reduced, and simultaneously allows for instant communication, as if everybody were in one room.
Conversation — also when not project-related — helps build efficient communication within the whole team.
How to record team operations
In addition to synchronous communication, it was very important to find an effective means of convenient asynchronous communication available to all.
A way of recording the tasks performed, discussions, arrangements and project progress was needed. Email exchange undeniably turned out to be ineffective. The emails reached different groups of people, but there was no record of them that would be accessible to everybody and at any time.
This is why the team started to use Confluence — software initially used in the creation of Wikipedia. It became a record of the whole know-how on the functioning of the company, individual teams, the projects carried out and the employees.
Its key advantage is that it sends email notifications of changes, allows viewing of each person’s activity stream and commenting on documents. It is the most convenient way of recording issues that need to be written down and easily found again at any point in time.
In remote work, many more issues need writing down than in the traditional model. It is important to use an easily accessible tool that everybody can edit and which shows the history of changes.
When Skype, wiki, TeamSpeak and email are not enough…
Teams that work in the remote model on a day-to-day basis need the feeling of community and identification with their organisation more than teams that operate conventionally. For this, real-life meetings, with their very important element of informal conversations, are necessary.
Initially, monthly company meetings lasted morning to evening. They were filled with presentations and working together. There was no time left for real integration.
However, with time the team found out that the real value of time spent together does not lie in joint work on projects, but in getting to know the team, making relationships and relaxing together.
This does not mean the team meetings are limited to going out for a beer.
The team have had the opportunity to play a cult computer game, bake Christmas cookies and go on a trip to Berlin together. We also sometimes introduce playful elements to online meetings.
One of the most interesting games involved each of us telling a story — real or made up — from their life. The task for the others was to guess whether it really happened. The team try to do unconventional things together that allow them to get to know each other better within a short time.
The true value of time spent together by a distributed team is creating relationships.
In the case of SoftwareMill, the model of distributed teamwork has undergone a significant evolution. This is how the company’s CEO, Tomasz Szymański, sums it up:
“Over four year of working together remotely showed that we have made a lot of mistakes. We tried to formalise our ways of communicating too much, the team did not have the sense that they could contribute to it or influence its shape.
One of the key decisions was to go for self-organising teams, that is ones that define their own work methods, and for establishing company-wide means of communication together. Employees who have a real influence on the company’s functioning try to achieve the best solutions and feel responsible for them.
Proof that the company’s current style of communication and its model work can be seen in the fact that nobody on the team — which now has 21 people — has decided to leave their job since the company was founded.”
Tools used by SoftwareMill
Skype - basic tool of communication involving chats and conversations by up to three people
BigBlueButton — tool providing visuals for a large number of people
TeamSpeak — audio channel for a large number of people. Option of creating virtual rooms. Complements BigBlueButton well. Want to know what is the most popular keybind for push-to-talk? Read this article.
Confluence — tool for writing down pages, similar in structure to Wikipedia
Trello — flexible tool e.g. for creating task lists
Corkboard — virtual notice board
join.me - screen sharing, which is particularly useful for working with clients
Jing- application for making screencasts
TinyPM — agile project management application
Our way of working still evolves and we're still improving it!
In the meantime, how's your remote work? What challenges did your team face and how did you deal with them?