Last week was a planning week where we prepare for the next milestone. A milestone for us is a well-defined period in which we do work. It is part of a larger cadence that structures how we work at Memri. Since there is not too much technical work to discuss this week, we'll use this post to share the way we work and how that helps us being effective as a diverse and remote working team without strict hours and while practicing self-governance and adhering to deep democratic principles.

Six weeks milestone

Inspired by the folks at basecamp we have a six week cadence for which we do planning and set a clear goal. We call this period a milestone and after each milestone we aim to reach completion of a deliverable. We describe the goal in a way that is SMART and singular. Here are some examples of our last goals:

  • Enable a first user to use Memri for editing Notes
  • Enable our team to dogfood the Memri application
  • An application that users are willing and able to pay for

These clear goals help us to focus as well as share responsibility for success across the various domains that we are working in. For instance, if I'm already working on nice-to-have features while my colleague is struggling to finish their deliverable, then it is smarter for me to help them in order for us all to reach the milestone goal.

The six week cadence also works well because its long enough to actually complete real work, while not too long to make planning unwieldy.

Daily standup

We plan our milestones using a GitLab board and look at the board at every daily standup. Only the folks that are working that day (or sometimes that worked the previous day) show up and we spent about of 15 minutes together.

Because this may sometimes be the only video interaction we have with some of the colleagues, we start with a short check-in to see how everyone is doing. The check-in is a way to share any emotions, thoughts or circumstances that may be relevant for others. It may be that you are feeling happy or annoyed, sleepy or not well, or that you just got new chickens in your garden or that its your spouse's birthday. Whatever it is, it is a way for others to know what is going on in your world.

We also share what we've been working on the past day and our goals for today and if there are any blockers. Often others have short questions and sometimes some of us take the discussion offline after the standup. Often we have a group discussion after the standup on a specific topic that is relevant for the day, such as architecture design, a hiring decision or an update on fundraising.

Bi-weekly update & Retrospective

Every other Thursday we come together as a group and take a birds-eye view of where we are, beyond the gitlab tickets. We inform each other on a qualitative instead of quantitative level how things are going. This really helps staying in tune with the overall goal of the milestone, instead of being bogged down by a specific issue. This is important because in the end the goal can often be reached in various (and sometimes non-obvious) ways.

We also hold a retrospective in which we evaluate how we have been working together as a team. We discuss in a group setting what went well, what could be improved and what solutions we can come up with for those things we feel can be improved. In the next days and weeks adopt the solutions we have come up with. We write down clear action points and assign them an owner.

Two-week Planning week

After each 6 week period we take two week for reflection, planning and potentially finishing up some loose ends. We usually have many of our 1:1s in this week and when possible we try to spend more time at the same location.

During these two weeks we have the following recurring meetings:

Pre-planning and Planning meeting

During the pre-planning meeting we define the goal of the next milestone at a high level. We aim to have a singular description of success that we can all stand behind. We then plot a (still high level) path within the different focus areas (e.g. marketing, front-end, back-end, legal, etc) to get to that goal.

Armed with this information we go back and work out which tickets we'll need to get done to achieve the goal. In the planning meeting we discuss the issues that we add to the next milestone and have a healthy discussion about them as well as align dependencies. We are then ready for another six week period.

Team Retrospective

During the two week planning period, we also take time to reflect on the milestone and how we collaborated on a more personal level. Moving away from the process and focus on the persons. During such meetings we share our highlights, things we're proud of and things we want to improve, and it is also a place where feedback is given and received. The feedback is always focused on trying to help the other person by not just giving feedback, but also offering some potential solution. The receiver can of course decide if they want to copy that or come up with something themselves.

Show & Tell

In the middle of the planning week we come together (via zoom) to present to each other the results of our work during the last milestone. We discuss the goals we set out and what was actually achieved for each area. This is usually a combination of demos and slides. Some go deep into technical matter, others are more from a user perspective. We record this meeting for anyone that cannot attend and it is usually a great joy and a burst of energy for all of us. If we do happen to be together in the same city we usually go out for a meal together.

Appreciation

Often immediately after the Show & Tell we spend 30 minutes together to appreciate each other. We believe that well functioning teams are great at giving each other appreciation as well as (sometimes hard to hear) feedback. And although feedback is better given privately, appreciation is best shared in a group setting. These 30 minutes are often wonderful as we all share in hearing how others and ourselves are appreciated. The compliments we give are thoughtful, specific and informative. They are a great way to feel being seen, that others care and for the listeners to know what is appreciate amongst the group. The only valid reply to receiving appreciation is: "Thank you".

Assembly

Last but not least is the Memri Assembly. This meeting defines one of the pillars of our democratic organization. Any member is able to speak up and bring up a topic or a proposal during this meeting, to be discussed in the group. Of course we use asynchronous communication tools such as slack to communicate, and it is true that many proposals come up and are voted on there. However we noticed that there is a need to bring things up in person, and in way that is outside of the more focussed meetings like the ones mentioned above. All sorts of things have come up here such as unclarity about the systems we use (especially for non-programmers) and concerns about inconsistencies in remuneration, just to name a few.

As we grow we will iterate and find new cadences that work for us. In our short existence we have updated and improved many times already.

We hope that sharing this may be useful to you and we would love to hear from you!