Oct 16, 2014
– updated on October 28th 2014 –
During the past year at eNovance I have had the chance to discover and experiment the joys of managing a multi-continent distributed team of engineers, France and Montreal for now and Asia in the near future. It is on purpose that I did not call the group an “engineering team”, but team of engineers; putting the emphasis on the group of individuals. As I have been managed (and still am) by my managers over the years, I have learned many things that I would like to do and others that I didn’t want to replicate when my time came to manage a team.
Little did I know that the challenge was far from being the easy task that I was expecting from my own management!
I was about to write an article about the day-to-day rules that I try to live by, but I thought it was important to share one of my team’s major achievements: our weekly open meetings.
This article will explain the tools, steps and rules to follow in order to make these open meetings a reality. But first, let me give you some context…
Weekly team-leaders/management meetings…
About two years ago, in order to cope with the growing number of clients and team sizes, we split our big “eNovance Operations team” in smaller teams, ~25 engineers team was split into 3 teams of ~8. It was also decided that team leaders and management would get synchronized during weekly meetings where they discussed all sorts of production and team related subjects. This helped a lot in managing decisions for the teams, but resulted in less transparency and more top-down decision making.
While this was not all bad, it did exclude from the discussions the people that were actually affected by these decisions.
Last but not least, keep in mind that our team is spread across multiple continents with many remote members, which makes clear communication trickier. Coffee break decisions can easily exclude a big part of the team.
.. became weekly open team meetings!
One of the major changes we went through this year was to open our weekly team-leaders/management meeting to everyone in the Operations team.
This means that once a week, there is an open team meeting, during which the team members share their thoughts about all the topics that used to be discussed behind closed doors.
You would think that with ~25 people these meetings would end-up being a big meeting-mess (sometimes they actually do.. :)). People tend to have their share of doubts. Isn’t it a waste of time? Doesn’t it become chaotic? How is that useful for the team? Isn’t discussing everything slowing things down?
Before diving into drama, let me describe the tools we rely on in order to make this happen.
- Trello is web-based project management application, that uses a method for managing projects known as kanban. The projects’ workflow is represented by boards, each one containing a list of tasks associated with that step, and each task is in turn represented by a card. Cards are supposed to progress from one list to the next (via drag-and-drop), mirroring the flow of a feature from idea to implementation (partly quoted from Wikipedia). You can find more information about Trello in this youtube video. We use this tool in order to organize, review, comment, follow-up on the tasks that need to be worked on by the team. This is, for now, the most efficient way we found to easily exchange progress status and information on our common todo-list.
- etherpad is a web-based collaborative real-time editor, allowing authors to simultaneously edit a text document, and see all of the participants’ edits in real-time (quote from Wikipedia). We use this tool to write down live comments during the meeting session, that we then send by email to the whole team.
- email: I suppose that the reader already knows about emails. One specificity, is that our mailing list is publicly accessible company-wide, and archived, so that anyone as well as new members are able to dig into our exchanges.
- Mumble is a voice over IP (VoIP) application primarily designed for use by gamers (quote from Wikipedia). It has a very simple administrative interface and features high sound quality and low latency. All communications are encrypted to ensure user privacy. This is the best tool we found for a +10 people voice meeting.
How it works
Now let’s dive. :)
1. Meet once a week, for one hour. Every Tuesday morning, we meet on mumble. Everyone in the team is invited. Usually ~60-70% of the team attends the meeting, most of them are there to listen; even though anyone can talk at anytime.
2. During these meetings, review all the prioritized tasks that have been assembled by the team on Trello. This includes:
- tasks that have been accomplished during the past week
- new items that have been added, and tagged as urgent
Our Trello board has 5+ lists:
- Todo: where we put our undiscussed tasks and nice to haves
- Pending/Blocked: where we have pending/blocked tasks to be worked on
- Doing priority 2: where we have the low-priority/background on-going tasks
- Doing priority 1: where are the cards with the highest priority, to be worked on and discussed as soon as possible
- Done – week DD/MM/YYYY: where we stash the cards that are considered done within the past week
3. At the beginning of each meeting, a leader and a scribe volunteer (or are chosen). The first leads the team through the subjects to be discussed while the scribe updates the Trello cards, and takes notes on our internal etherpad log. Roles are rotated to encourage everyone to take responsibility in making this happen.
4. At the end of the meeting, the scribe sends the summary of the meeting by email for all to read. This also helps to dig into the archives, later.
5. Any member of the team can, and is encouraged to add tasks to the Trello board at anytime. We are all implicated for the well being of the team.
6. When a new Trello card is added, an email is sent to the team to make sure that everyone is aware of the new subject to be discussed. A discussion can follow by email, there is no obligation to wait for the weekly meeting, of course.
7. In order to encourage and facilitate the communication within the team, always make yourself available to discuss any topic with one or more teammates.
8. Almost every one-to-one discussion can be made public. Every time it is possible, turn your private discussions into cards to be discussed openly during the next team meeting.
9. Every 2-3 weeks, share your vision about the strategy of the team and/or the company. There are many things that you are aware of that your team isn’t. Don’t wait for a certainty before sharing; this nearly never happens! Share early, share often. If things change in two weeks, share the reviewed version of your vision. The people you work with don’t expect you to always be right, they know you are a human and expect you to be transparent. This was found to be very useful in times of more turbulence (e.g. after the company’s acquisition).
10. All team decisions must be discussed during these meetings. This means that any “top-down“ and“bottom-up“ decision must be openly discussed with the team before putting it in action. I repeat, every decision has to be discussed with the team, even when you find that it is an obvious one. When team members are involved in the decision making:
- many ideas/improvements are discovered during the discussions
- every person on the team knows that they can make a difference
- team member are increasingly responsible
11. When there is a general lack of interest for a discussion, even if it is considered important by one of the team members, let it rest. Keep it there, and bring back the subject during the next meeting. Plant a seed, wait for the plant to grow.
12. When a card generates too much entropy and emotions, let it flow; everyone should be able to express their thoughts. If no consensus is reached within 15 minutes, jump to the next task, and bring back the subject the week after. This gives time for everyone to take some steps back, and think about it.
13. Last but not least, in order to have a clear picture of the individual status/vision of each member of the team, we, the team, have written a set of questions to guide individual interviews. We call them “desiderata” latin for the things that are “considered necessary or highly desirable” for someone. These questions were asked to each team-member individually. The reports are made public in order for everyone in the team to be aware of the desiderata of their teammates.Follow-up should be done every 2-3 month. Spoiler alert – this will be the subject of a separate post.
With all this in place, I find that the results are simply astonishing. Why?
- the team is much more in sync
- there are less obfuscated management decision that pop-up randomly
- everyone is encouraged to openly discuss anything
- problems are solved openly, as a team
- the best ideas are born from/during our group discussions
- it implicates the team in discussions about their own future
- when team members feel trusted, they feel more responsible and in control
- remote workers are able to follow-up on discussions
- trust is built and consolidated
It takes time to achieve such openness in the team. Time and energy. It is not always easy to have people participating, especially in a young environment where meetings rhyme with “corporate waste of time”. It is not always obvious to spark a discussion. It is sometimes hard to get the discussion going as we would have liked it to. Some subjects just can’t be discussed publicly, but we work hard to minimize their number.
In the long run this definitely pays off, and helps build towards mutual respect, transparency, shared effort and knowledge.
I hope this helps anyone out there. Please do comment if you feel like it.
— Ignace M
(This blog post has been reviewed by my team, before publishing it. Special thanks to Rafael Rosa who thoroughly reviewed, commented and corrected this post.)