Ask HN: As managers, how do you make sure your distributed team is aligned?

138 points by type12 ↗ HN
We use Slack for internal comms, but it's used mostly for chit-chat conversations and real-time issues. Is there a product for slow-thinking updates where I can share teams news and align my +40 people team? How can you be sure people don't actually miss things in the noise of Slack/Email?

74 comments

[ 0.29 ms ] story [ 119 ms ] thread
Are you personally managing 40+ people, or are you a director with a layer of managers beneath you? I can't imagine how stressful it must be personally to manage 20 people, never mind 40...
Can you just create a new slack channel for team news?
I think a distributed team,where individual members of the team are geographically distributed, is designed to fail. Sure you could accomplish some goals but the inertia is working against you. Such teams will be always outperformed by co-located teams.

A better approach would be to have distributed teams where the teams are cohesive unit with co-located members. Each team has local autonomy and a central mandate. The teams could be located anywhere but the team members would be in the same office.

Aliging distributed teams is easier as they can agree on coarse details , have few or limited dependencies and they execute on their own. Otherwise you are just shepherding cats.

There are several fully remote companies collectively generating hundreds of millions of dollars in annual revenue. To require physical colocation is a failure to properly manage, as well as delegate authority and responsibility.

> Such teams will be always outperformed by co-located teams.

Could you share data to back this assertion up?

I agree with you.

For me, I've been fully remote for many years and was primarily remote for a few years prior to that.

Companies I've been at where there is no flexibility whatsoever typically suffer from poor management or are the type of work place where there are pieces of hardware or other resources one can not really work on remotely.

One of the primary benefits for me when initially working remotely was the time saving that resulted not having to spend 1.5-2.5 hours a day in the car.

> I think a distributed team,where individual members of the team are geographically distributed, is designed to fail. Sure you could accomplish some goals but the inertia is working against you. Such teams will be always outperformed by co-located teams.

Provide examples/data for this or I cant take this comment seriously.

As someone who has worked on successful fully remote teams for 6.5 years I couldnt disagree more. My current team is mostly remote and moves Billions of dollars, delivers features at a rapid pace. It comes down to select the right team members, having centralized places of communication and empowering each member with the autonomy and ability to contribute no matter where they sit.

The "butt in seats mentality" is very outdated imo. How many hours are wasted commuting?

I used to strongly agree, until I worked on a successful distributed team.
What prevents distributed teams from being cohesive?
If you insist on co-located, you will miss out on plenty of good engineers who will just work somewhere else that is distributed.

That said, if you have someone in leadership (especially high up the chain like a VPE) who is all about "butts in seats," your distributed team is designed to fail. And I'd argue that that leader is probably doing their part to ensure it fails to prove themselves right about co-located being better.

(comment deleted)
We’re on slack and looking at Discourse for that purpose. It’s really high quality software, and definitely geared in the direction of slow-thinking and keeping topic history in the same place.
One key aspect is a single source of truth. A place/tool were all processes, requirements and relevant Q&A are open for the whole team, with no gray areas. Use any kind of methodology, but try to keep your team informed about how the general rules of communication and collaboration work.

Split communication in small teams/groups and design just one person per group to deliver periodic status. Meeting with the whole team are absolutely inefficient and costly for the company.

Create a policy where any change must be documented and informed to all stakeholders.

Tools vary depending on your business, but sites like Trello can be really usefull.

At Out Of Office we use slack for day to day communication and always require video chat for team meetings unless you're on the go or not able to use video.

For longer term alignment we always post "decisions" that are made during these meetings in a slack channel so that others can keep up to date if they weren't in the meeting. We can also go back in time to see the context of why a decision was made.

basecamp?
I'll second checking out Basecamp. We use both Slack and Basecamp. ZenDesk for customer issues. Everything tied together, both Slack and Basecamp have decent tools to integrate so you get alerts where you need them. Basecamp has a nice set of tools for projects and planning. I can't say I LOVE it (and I don't hate it), but I do love their support people. You could probably get away with just using Basecamp as well. We did for quite a long time.
One thing we do is keep a slack channel for announcements only. We require everyone to acknowledge they’ve read and understood said announcements by adding an emoji response. Then you can follow up with anyone who fails to respond. (And discuss in 1-1s with anyone who makes a habit of failing to respond.)
> We require everyone to acknowledge they’ve read and understood said announcements by adding an emoji response. Then you can follow up with anyone who fails to respond.

Office space - millennial edition

Agreed. That sounds demoralizing and petty.
You might need to prune and/or curate your slack channels better. For major projects/initiatives we use a new ephemeral slack channel for the duration of the project. All chat comms about the project are stored there. The project roadmap is kept in google docs with tickets in jira.

We have 12 teams and 150 people and prob 50+ channels.

Tools that have worked in the past for me: - Confluence for long lived documents - JIRA for time boxed groupings of work. - Slack for real time comm if anything arises. - "Culture" and Process Living Document

I ran a team of about 25 in the past and followed the following agile principles to help with alignment: - retrospectives - "sprints" (preference on the 3-4 week range) - Sprint Review

Alignment, while tricky, isn't all that hard so long as processes are evolving from retrospectives and you have a single source of truth for long form documentation.

From a tools/infrastructure support perspective, standardizing on tools and clearly declaring and assigning a single tool for each function. Clearly ask people to pitch in to adhere to this. Set clear standards for yourselves.

From a people perspective, clearly defining goals and constantly asking clarity questions to gauge if there is alignment is the only real way. Also if you notice people are not aligned but they think they are, declare that you're not sure they're aligned. They'll hash it out themselves.

It also helps for people to declare when they're unavailable in something like a slack channel. Finding out someone is not there when you expect the to be is very jarring/frustrating.

Usually, one manager/lead take care of 3-7 people. So rather than making everyone on the same page, I'd spend more time with these leads and making sure that you guys are on the same page, and it will percolate down to the rest of the team. On top of that, well written document with clear goals and high-level strategies help to re-inforce it amongst everyone, but imho it should still be the mid-level manager's job to communicate in 1:1 and in other ways to their team.
Try video for leadership updates - it's more personal than written communication so helps build trust and you can explain things clearly with emphasis.

Couple ways you could do it: 1. a webcam recording of yourself, using quicktime (only on mac) or similar webcam recording tool 2. a screen recording where you talk through a slide deck of news, roadmap, etc. Again, using quicktime or chrome extensions such as the one I built: https://outklip.com. Outklip's advantage is you can record webcam along with screen, annotate during recording, do post-editing and upload to YouTube with a click.

I interiewed Sid Sijbrandij, the GitLab CEO (GitLab has 500+ members and is all remote) on running a distributed company. He said this about alignment: "I think it’s really important to write things down. People are very efficient at reading things. So, if you wrote it down you can refer to it, so you don’t have to say everything again, you can just drop a link. So, we write down a lot, in our handbook, on our OKRs page, you’ll find all our goals and strategy, etc. And at some point you keep repeating that, keep dropping those links and you keep answering questions. So, repetition is still needed, repetition is easier if you have one writeup and most people have already found it even during onboarding.". Interview video and notes here: https://outklip.com/blog/gitlab-building-a-distributed-compa...

Another interview with Sid about how GitLab uses video for remote work: https://outklip.com/blog/using-video-for-remote-work/.

We're not quite that size yet, but I've found that carefully curating our organizational culture has really paid off, starting with a document of principles[1] that we all agree with, and then on putting a lot of mental effort into training new hires to understand what the culture means and why it's important.

[1] https://gist.github.com/cowpig/8d8194ac55e3789d9a3c4136d1e1a...

Oh, this is really nice! Did you use a process to have everybody agree on it? I usually struggle with top-down where some people disagree and work against it vs. bottom-up where consensus is really hard and nothing is done/decided.
First of all, make sure that the management itself is aligned. Patterns reproduce themselves across the organization and that process is mostly top->down.

Have your most important values written down. Technical and non-technical. Ask new joiners read them and refer to them when discussing short and long term plans.

Don't believe that a fully flat hierarchy is the solution for all problems. A distributed team makes communication harder, so you might need more process than usual -- for 40 people you almost certainly need other managers to help you.

Have a strategy for the corporation that everyone understands. Team leads will then understand what their team has to contribute, and individuals will understand how to contribute to the team. If the company strategy is not well-known, your remote team is doomed.

Focus on alignment to values and vision, not to what you tell people directly. You're doing your job well if people and teams become autonomous.

Find and remove anything that blocks lateral communication (i.e. that goes outside of the hierarchy chain).

Be skilled in people management. Recognize isolation, burnout, depression, tension early enough and be able to solve them. If you are not skilled, learn from professionals, not from blog posts.

If needed, break rules. An important rule in a distributed team is that people don't meet often. If necessary, break this rule.

I've been working on a distributed team for over 8 years, and gradually moved to architect of the product I work on.

There's a lot of good advice in this thread, but one more thing that I need to add:

Your tickets need to be well-written, and actively groomed. This means things like:

- Clear ticket title

- Clear steps to reproduce

- Process followed (Varies based on product, in our case this means attaching logs and documenting filenames.)

- When someone clarifies things, they must update the actual ticket title / description instead of clarifying in an email / comment

- Management must not expect engineers to handhold ticket writers through things like this, and must expect that testers and support own clearly communicating what the issue is

- Do not combine multiple bugs into the same ticket

- Do not "fail verification" when finding a new bug

- Relate similar tickets, don't identify new bugs / issues in a comment

Some examples of "bad" tickets:

- Giving a title that's basically "It's not working." Every product has an analogy of "It's not working." In our case, novices who don't take the time to explain a problem will just create a lot of tickets titled "It's not syncing."

- I had a ticket today where the steps to reproduce said, "Take a screenshot." There's MANY ways to take a screenshot. The steps to reproduce must say which tool / button combination were used.

- Constantly needing to ask for things that are expected in the process. All products have different needs. In our case, all tickets need logs and a sample filename to look for in the log. When I need to constantly ask testers for this information, it's a problem that management must address quickly

- "Oh you fixed it but now it does this." What this creates is a situation where many bugs are part of the same ticket, and someone needs to spend hours reading through all comments to understand what the bug is. If the bug is fixed and a new bug is found, verify the first bug, file a new ticket, and relate them.

Edit: Actively grooming means:

- The bugs assigned to someone must be realistic. Don't leave 100 bugs assigned to someone for a release when there's no chance that they can do them all.

- Don't let your ticket submitters triage their tickets. QE shouldn't assign a ticket to anyone. That just results in the 100 bugs assigned to someone situation.

- Dumb feature requests should be closed immediately. Someone using your ticketing system to make dumb feature requests (and assign them to people) should be stopped immediately. (An example is a tester requesting lots of automation or helper tools from developers via the ticketing system.)

- Out-of-scope bugs should not be assigned to a release

- Major projects are not bugs, don't leave "bugs" that require major refactoring assigned to someone when you aren't going to dedicate the time to do it

- Establish a feedback loop so that QE can better steer tickets on submitting them. (IE, if there is a clear server error in a log, it's not a client bug.) QE should be smart enough to do enough diagnostics to direct the bug before it hits triage.

- Don't constantly assign tickets to the wrong team. If someone keeps saying, "this kind of ticket goes to this team," listen, otherwise they will go to your upper management, CTO, architect, ect or and make you look like a fool for not knowing the difference.

When I worked for Intel, we all went through training on how to run effective meetings.

Why? In a distributed team, meetings can become a severe time sink. A lot of people hold meetings to feel busy and important, and even less people put in effort to keep the conversation focused so that the meeting ends on time.

Some basic things are:

- Determine an agenda in advance. The agenda must be part of the meeting invite. An agenda is more than "Talk about XXX." You should have a list of 3-6 topics that will be discussed in the meeting.

- Make sure that everyone on the invite list needs to be there. Explain why you're inviting people in the meeting invite.

- During the meeting, make sure that, as time progresses, the topics on the agenda are discussed. If one topic is discussed too long, there's different techniques for moving to another topic. (Binning it, declaring it a rathole, ect.)

- Decline poorly planned meetings.

And, I shouldn't need to say this, but meetings begin on time and end on time. Don't make everyone wait 45 minutes to start what's supposed to be a 30 minute meeting, but then it really drags out to 90 minutes.

Furthermore, have a 0-tolerance policy for latecomers and people who always need 15 minutes to figure out the teleconference software. Hold your interviews in the teleconference software you use with your team as a way to filter out the idiots.

Hear, hear on the last one. So many salespeople (and technical alike) strike me as functionally retarded when it comes to basic A/V conferencing. How are you engineering or selling this shit if you are this dumb?
> 15 minutes to figure out the teleconference software

We just Skype for Business and Zoom at work. Both are just one click. Webex is also good. It's little confusing though (too many options). My partners use it so I have to also use it.

Maybe, you need to evaluate your teleconf s\w.

I don't know why people are downvoting you.

There are idiots who constantly take 15 minutes to figure out those teleconference software. Each and every time. I can understand taking 3-5 minutes extra the first time using something like that, and I can understand occasional technical difficulties.

What's not acceptable is after 2 calls still having technical difficulties.

For example, A year ago I started working with a driver developer who would constantly drop out of the teleconference after 7 minutes, without a polite "technical difficulties" IM or email. Turns out he was always calling in from within some kind of VM and always needed to reboot in the middle of the meeting. We had to get the manager to tell him to stop it.

Another example is that, a few days ago, I interviewed someone through WebEx. She took 10 minutes to figure out how to get her microphone to work. After 5 minutes I made up my mind that, unless she was spectacular, I wasn't going to hire her. (She interviewed very poorly.) What's extremely frustrating is that she didn't have the decency to just have WebEx call her phone, and instead kept me waiting for 10 minutes. That's just plain rude.

Well I have a story about Webex not working with the very last version of Chrome at that moment. Setting up a previous version of Chrome was not a walk in the park. I guess not all countries can "have WebEx call her phone" without hassle.
Maybe it is a tool issue?

For example, if developers using Linux are asked to teleconference using tools built solely with Windows in mind, sometimes it will work with a VM, but often it randomly doesn't.

If I remember right, Intel used Skype for Business which as a teleconferencing tool was just rubbish. (Maybe it still is?)

Ha. Every week WebEx cannot remember my audio settings or the Dell laptop mic/headphone drivers just ... don’t work.

Don’t blame the people when all you give them are shite tools.

We use Skype for Business, and it's a common cause of issues. We have constant issues with different individuals not being able to join meeting invites (although the dial in always works, the app doesn't), people being able to join but video/screenshare or audio not working, it refusing to acknowledge the leader so it doesn't start, etc.

Our IT team has sent out a bunch of surveys trying to triage the cause of the intermittent issues, but haven't been able to result the problems yet. It drives us nuts though. And that's with the resources of a Fortune 100 trying to deal with it.

Glad it's working well for you, though. That gives me hope they can't get it working more smoothly for us eventually.

We used Skype for Business until a few months ago and had a fair amount of issues. We switched our Office 365 accounts all over to Teams and everything has been working a lot better since.
We are in the same boat. Skype for Business was extremely unreliable. Especially if you wanted to use a mobile device (I also had a weird issue where my Skype for Business would occasionally start thinking it was Lync, and refuse to work).

Switching to Teams has made life a whole lot better.

Skype has basically been abandoned. They are pushing hard on Teams as an answer to Slack, eg integrations are coming along. It's no slack yet, but it's getting there.
> We just Skype for Business and Zoom at work. Both are just one click.

Skype within the app is good, but if you use their dial-in numbers, it takes a minimum of 30 seconds to get into a conference.

I'd be weeded out as an idiot because Webex is not supported via linux even though it claims to be. I use it fine on my work laptop but if that had been used as a filter I'd have been gone.
I'm curious. Is there anything preventing you from using MacOS or Windows?
I don't use macos or windows anywhere in my entire life. My work laptop, work servers, personal laptop, and phone all run linux.

So, yeah - keep weeding out those idiots?

I obviously don't think Linux users are idiots to be weeded out, but not knowing how to use Windows or MacOS in a pinch might be problematic for you at some point.

Professionally, I might recommend staying with Linux as your daily driver, but also branching out just to say you know the key differences between the OSes and how to be productive within them. This could help to prevent a situation where your dependence on Linux becomes a liability or roadblock in your career ("I prefer Linux" vs having to say "I can only use Linux").

From a development standpoint, Windows has been doing some cool stuff too - Windows Server Core for example. All my servers are of course running Linux, but my work desktop is running Windows, which I happen to prefer for productivity. Many of my SWE colleagues develop on Mac laptops, and leading UI design tools like Sketch only work on MacOS, so it looks like we're not getting any closer to a single-OS landscape in our industry.

A few good books I can recommend

The Effective Executive

Making of a Manager

ReWork

Start with your own mindset around this topic first, then roll out a system and/or tool to make it happen.

I think some touch on this but you cannot possibly align 40+ people directly. If these are all devs, at this scale you need 3-4 engineering managers or 5+ leads. That's were you should be focusing and empower them to carry your message outward.

Looking for a tool to do this is wishful thinking

> Is there a product for slow-thinking updates where I can share teams news and align my +40 people team?

Email. Email is perfect for this. If you use GSuite, groups with the email gateway is ideal for this. You can have threaded discussions with a long history.

Stripe was(maybe still is?) really good at this. They made a policy very early on that every email had to CC a mailing list (unless it was truly a personal one on one communication). The lists has a structure were some were designated as archival only. Even if no one read the list, at least the archive was there for the new employees. Or for an employee who was on vacation to read and catch up when they came back.

> How can you be sure people don't actually miss things in the noise of Slack/Email?

For Slack, make sure it's truly just for real time discussion. If something looks like it's going to be a long discussion, move it to email.

For email, if you're using groups/lists for everything, then there shouldn't be a lot of noise. You should be able to just go to the groups interface or filter on the group the message was sent to.

Email is great, along with keeping a google doc of all previous updates sent in reverse order.

Then author the email in the google doc, paste it into gmail and send - along with a link at the bottom to previous notes.

Because I want to encourage comments/questions, I do almost what you describe, except that the email ONLY contains a link to the doc. So in effect, the email is just a notification that the doc has been updated.
I don't do that because then you're just giving the reader more work to do.

Is there an unseen advantage to not including the actual text in the email?

This is super-important, especially for when someone is on vacation or when new hires come onboard and want context. We use Confluence this way and have engineering/team updates in there going back since the company was less than 10 people. It's super-useful when someone is trying to find the original reasoning about why a company does something one way vs another. I will say that this should be in whatever internal documentation system you use, whether that's a wiki, Google Docs, etc. The main thing is that it should be searchable and easily found.
I like this concept, but man that's expecting a lot from an entire organization.
Interesting. My first job in like 2000 or so used Outlook groups for this. It was basically a private usenet sort of thing. Worked fantastically well.
A lot of good advice on the human side of things. I want to mention that Zulip is an open source team chat solution that is designed to facilitate the "slow-thinking" type of communication you mention.
Do those corporate/private Twitter apps still exist?
I don’t have an answer that is better than anyone else here, but I have a related ask.

If anyone here feels passionately about this area and is a remote manager, I’d love to talk to you 1:1. My email is in my profile.

I’m part of a team launching a manager training program this fall, and our emphasis is on managers that have to deal with distributed teams. We’re looking for guest speakers across a wide range of topics, including alignment, and I’m pre-screening potential guest speakers right now.

I’d love to connect and learn more about your practical experiences!