How to develop and maintain the distributed team culture: the expertise of Dashly, Rick.ai & Uncrn.me
Like everyone else, we had to go remote and become a distributed team during COVID. To tell the truth, we managed to switch quickly our processes. However, the communication became less effective as we didn’t have much experience of talking to each other on the remote.
Ilya is a CEO and founder of the end-to-end analytics service with a robot analyst Rick.ai, a co-founder of Uncrn.me, the author of the Product Heroes course, and a methodologist at IIDF. And he’s an incredible pro in working with distributed teams on how to establish processes right while on remote. Our CEO & Founder, Dmitry, had a conversation with Ilya.
The key feature of remote companies is that without some rituals they can’t work at all or malfunction in terms of their effectiveness. We’ve gathered the key principles of remote teamwork and described particular ones in detail that help maintain the remote workflow.
For all the challenges that we had, there were solutions tested by the Rick.ai and Uncrn.me teams. We were happy to try them out, and we’ll tell you how we liked them and share cases where we apply these principles.
1. Assign tasks correctly
Incorrect task setting inevitably triggers extra work. A lot of it. The time of your team is wasted.
There are lots of possible solutions. And your task can be resolved much faster and more effectively.
Task setting through an algorithm generates extra work. A person considers possible solutions alone and then only communicates one of them to the assignee. And often this solution isn’t the best one.
So, an assignee can make a mistake at any stage of completing a task.
To avoid that, stick to the result, not the process when setting a task. Articulate what you want to get as an outcome (the result), not what needs to be done (the process). Tell a developer about your challenge and offer them to brainstorm solutions to it.
2. Design the anticipated result
Besides, when setting a task, you need to visualize and outline the anticipated result.
Draft the document where you want to see the result: create all the pages, rows, and columns yourselves.
This will ensure you will get the data in the exact way you want. Imagine that you’re used to working with spreadsheets or Miro boards, but you receive a simple text document. And you have to spend time on rearranging the information. Sounds disappointing, huh?
3. Break the task down into releases
Take an iterative approach to tasks. The first iteration is the anticipated result that you outline. Your expectations will change after the first discussion.
Let’s consider a hypothetical case: an analyst is assigned a task to calculate how many potential SDK users there are in your user base.
An analyst who knows how to distinguish faulty tasks asks who and what will do with this data later. And it turns out at the moment of task setting that you need two spreadsheets, not one. That’s because an analyst should deliver not only the number of users but the list of these users with their contact info to a product manager. The meaning of the task changes dramatically.
Another example is this article. It should have been a podcast, where Ann, Ilya, and Dmitry discuss self-organization. But it didn’t become one due to the poor recording quality. The next iteration is the first draft of the article. The next one comes after the text is edited. The next one — after internal approval. After that comes external approval. Lots of iterations. Do your best to keep in mind the number of possible iterations when planning.
4. Sync up verbally
What would help you stop these endless chats? Clearly transparent processes. Sync up regularly — both verbally and in writing.
At the company level:
- weekly meetings in different formats when different teams take the stage.
At Dashly, we’ve had the whole bunch of team rituals that we moved online successfully and they give us a helping hand:
- weekly morning demos at 10 AM on Mondays when Dmitry (our CEO) briefly talks about the situation in the company, shares our mutual plans for the week, and inspires the team to heroism;
- product demos at 5 PM on Mondays biweekly at the end of the sprint. Product managers, developers, and designers elaborate on what’s in progress and what is going to be released soon;
- Weekly meetings in Trurshays at 6 PM. Previously, each of our teams — product, support, marketing, sales, and Dashly teams took the stage on Thursdays. Now, during these meetings, we bring together all information from the “front line” — our sales team, support team and everyone actively communicating with our customers and partners — on what’s happening in the market.
The experience of the Rick.ai and Uncrn.me teams also proves the importance of team rituals.
At the team level:
- Daily meetings
It’s hard to work without seeing or hearing the team. On Ilya’s advice, we introduced regular daily team meetings.
Ideally, on daily meetings, you should articulate tasks and highlight those worth discussing in detail. And arrange a call for a smaller group immediately after it to brainstorm some possible solutions.
Discussing possible problems and bottlenecks is an important part of daily meetings:
Now every team in Dashly has daily morning stand up meetings. We aim to hold them at the same time so they can easily fit into each team member’s workflow. For example, the marketing team stand-ups start daily at 10:15 AM.
- Weekly meetings for wrapping up and planning
You need them to make sure your strategic tasks are not overwhelmed by routine ones.
We used to have stand-ups and retrospective meetings — at the beginning and the end of the sprint, respectively. With the impending crisis, the time shortened and we reduced planning intervals to one week.
- If two teams work closely with each other, they need additional rituals. In this case, team leads should join daily meetings of related teams.
For example, we have regular meetings of the marketing team with a product marketer from the product team. We’ve described in detail the synchronization process of the marketing and product teams in our article on how to level up your content marketing. The marketing team lead joins meetings of the sales team.
5. Sync up in writing
Most of the rituals described above have been with the Dashly team for a long time. But even they were not enough in an environment where we don’t see each other all the time. So we’ve added:
At the company level:
- writing down weekly plans of the team — in a resource open for other teams (the #weekly channel in Slack, a page in Notion or Favro);
- we have a channel where we share our success stories of the week — both team and personal — #fantastic-friday;
At the team level:
- writing down the daily plans of the team. We implemented this on Ilya’s advice. Messages are as follows: what was delivered (done), what’s in progress, what I’m doing right now, and what I’m planning to do. On Mondays, plans for the week come first:
Everyone describes their successes, processes, and plans before the morning team meeting. This practice makes each team member better self-organized and helps plan their working days clearly. Team processes also become more transparent: everyone knows each others’ tasks, and syncs take very little time.
An important bonus of written daily plans is that they decrease the stand-up duration (hi everyone who’s tired of video calls!) Stand ups are for discussing controversial issues and possible problems.
6. Don’t use the word “to do”
To avoid that, replace “do” with “deliver”. This word is clearer: you either delivered something or not. If the task is still assigned to you, it’s not accomplished yet.
7. Outline team communication channels correctly
Business messengers are great. But you need to use them wisely. People get tired of sorting out their emails and messages, and they spend a lot of time on it. Thus, you need to design your Slack channels so that people put as little effort into sorting out their messages as possible.
- It’s better to create many channels: thus, you don’t have to open each of them to see what it’s about as you already know it and can sort your chats by importance without opening them.
- Everyone should follow the rules: for example, only text about corridor tests in the channel devoted to corridor tests.
- Teach newcomers to use all channels correctly as it pays off:
- Create separate channels for cross-functional discussions. Through them you can contact another team.
We already apply these principles to channels. For example, we have these channels:
- #marketing — for redirecting all partnership requests, discussing inspiring projects, competitor ad campaigns, etc.
- #success-support — for syncing up actions of our support agents, implementation managers, and sales reps;
- #bugs — for bug reports and platform performance issues;
- #clients-hard-truth — for platform updates wishes
You need regulations and rules for channel messages. We’ll be talking about them in a while.
8. Learn and put Jobs to be Done into practice
Thus, chat communication breeds not only extra work but also frustration and conflict. And you can understand everyone: a person reporting a problem cares about users and wants to get a bug fixed sooner. Developers, in turn, want to help but cannot understand what the problem is and how critical it is. This happens because the problem is described without context.
The Jobs to be Done theory helps articulate requests correctly, including urgent ones. Make JTBD mandatory for your company. We’ve already described this approach in theory and told you how to put it into practice. Job stories are a universal framework for task setting. Both Ilya’s and our teams apply it. It helps you explore the context of your user/task author and describe the case and the required “job” precisely. That is, it helps make up a solution exactly for this “job” exactly in this context.
How to teach everyone to use it? Develop rules on how to write about problems and bugs, and pin them.
9. Automate simple processes
There are tasks that we do every day, right? They’re kind of simple, but they all take a lot of time together. And we spend a lot of internal resources on keeping them in mind. These are the kind of tasks that we should automate if possible. That’s where bots and integrations will give a helping hand.
Bots remind us of meetings and that we have to prepare for them:
They even check how the team is feeling:
Bot ran a Slack survey every day at 10:05 AM with three options:
- “I’m alive, working from home,”
- “I’m sick,”
- “I’m at the office”.
This simple mechanism helped us to establish certainty. Thanks to the stand-ups, we felt certainty within the team. And thanks to the bot — we even felt it between different teams: we knew whose help we could count on. When reactions to it started to look like this:
It became clear that it was time for it to evolve. That’s how it became a mood-checker bot.
In “peacetime”, you can use this channel as an alternative to writing if you’re sick or need a day off.
Integrations are great. They save time on manual navigation and copying information.
Here are a few Slack integrations that we use to simplify communication within the team:
- with Zoom:
We like it so much that we decided to develop our own integration with Zoom so that our customers can launch video meetings in our chat quickly and easily.
- with productboard — you can add messages from the #clients-hard-truth channel in the form of notes. This can be done in a couple of steps:
- with Google Docs — it makes working on texts much easier:
10. Manage your habits
In the office, the space itself establishes the working framework. There are fewer limits on remote. And it’s hard to focus on the work, get in the flow. And vice versa — many people start to work more and they cannot stop.
Learn to manage your own habits and the habits of your team. Make a work zone. Make the space so you don’t want to lie down, have fun, or eat. Surround yourself with something that doesn’t distract you. And never work from your bed.
Note: To understand how the decision to do something becomes automatic, we recommend reading “The Power of Habit” by Charles Duhigg.
Takeaways to remember:
- A team is people united by one goal. Formulate your goal.
- The goal requires planning. Allocate time for weekly planning.
- Synchronize all the time. The task is always becoming clearer: the more we work on it, the better we understand it.
- Daily meetings are for syncing up on the tasks. Hold them at the same time, so as not to align them each time.
- Daily plans should be written down before the call. It should be clear who will get what from the work that others will do.
- Bottlenecks are discussed at stand-ups.
- Set tasks correctly. Use Jobs to be Done for that.
- The word “deliver” eliminates all mess with the words “doing” and “done”: the task is only accomplished if you pass it to someone.
- An important rule of task passing: texting in a chat doesn’t mean delivering a task. The other person should react and accept the task and confirm that isn’t flawed.
- Show your intermediate results to the team.
- Create a cult for the final result. Any request should have a final result; a picture is the best option, so you can compare two pictures at the end.