How to win at remote product management
Tags: Collaboration, Software Development, Freelancing, Remote Working, Product Management

Make a social contract.

Having a team working agreement helps to set expectations and ensures the team members are committed to each other. It also (hopefully) prevents miscommunication, frustration, and bloodshed. During project kickoff I like to use a team canvas to run an interactive brainstorming session. Even without brightly colored post-its and markers, I promise you can run a lively and effective workshop online. My personal favorite is Confluence’s collaborative editing feature combined with Hangouts.

I’ve worked alongside a number of PMs who get it wrong with their teams. They attempt to motivate by pushing deadlines and doling out tasks — but this approach doesn’t work. Instead, help the team establish and live shared values. When they commit to each other (rather than to deadlines or features), they’re much more likely to hit their milestones and achieve their goals.

Set ways of working.

Photo by Emilio Garcia on Unsplash

Start by agreeing on the basics:

When you’re going to work (main time zone, working hours, ‘on call’ times) How you’re going to work (tools, frameworks, ceremonies) Process for escalation when something goes wrong

Don’t worry about rigidly adhering to scrum, kanban, agile, etc. Find a way of working that suits your team’s specific context. Lean on your tools as much as possible.

I like:

Slack for chatting (make sure to install Giphy!)

JIRA or Asana for ticketing

Confluence for wiki / documentation

Hangouts (now Meet) for voice and video calls

Zeplin for design-dev collaboration

InVision for prototyping

Scatterspoke for retros

GDrive for file sharing

The first sprint with a new team is like the first pancake (i.e. a bit of a throwaway). If your ways of working aren’t working, use the retro to call out what went well and what needs improvement. Continue to refine and add until everyone is smashing tickets and doing their best work. I’ve found that it takes 1–2 sprints to figure out how to best work together.

Over-communicate.

Photo by Glenn Carstens-Peters on Unsplash

Over-communicate information. When in doubt, communicate more. Depending on the team, it may be helpful to include the same info via different tools, as team members may check one more than the others.

I have a channel in Slack specifically for #announcements. Once we’ve finished a particular discussion, I re-post a summary in the channel (as well as in Confluence or JIRA when appropriate). This (hopefully) ensures that everyone sees the info.

Communicate visually as well. Just because you’re not sitting next to a whiteboard doesn’t mean you can’t draw together. Draw stuff, snap a pic, and send to team members. Use tools like draw.io for digitizing sketches. Use tools for screen sharing, screen recording, and annotating screenshots. I like the Chrome plugin Awesome Screenshot.

Quick decisions are better than no decisions.

The best way to keep the team unblocked is to make speedy decisions. This may be controversial, but I believe that a decision is better than no decision. Use the information you have at the time to make the best decision you can. Sure, you’re going to get it wrong occasionally and have to refactor, but keeping the team moving forward is a PM’s top priority.

Once a decision is made, document it. (Remember that tip about over-communicating?!) Post the what and why of the decision in Slack, Confluence, relevant JIRA tickets, etc. Ensure the whole team is across what was decided both in the moment and as reference in the future.

Don’t forget to celebrate.

When you sit next to your team members, social interactions happen organically throughout the day, week, and project. It’s easy to remember to say ‘good morning’ to the team member sitting next to you or to organize team lunches or Friday beers. When your team is remote, it’s even more important to consciously create opportunities for personal, micro interactions and celebrate the small wins.

Here are some of the ways we celebrate on my current projects:

Call out the first deployment of working code

Ask about someone’s day while waiting for the others to join Hangouts

Pause the discussion to call out the team’s 100th PR

Send a GIPHY to the #general channel when it’s time for the weekend

Ping team members individually on Slack to check in

Give a shout out for help with a tough ticket

Cheers when all of the tickets in the sprint are closed out

Add emoji reactions to show you agree (or disagree) with what’s been said

One of my teams (working a few time zones ahead) used to Skype me in for Friday afternoon beers at their office. Sure, I still had a handful of hours to go before I quit for the weekend, but it was awesome to be included in a virtual ‘cheers’ after a hard week.