Keep Moving Forward | X-Team Magazine

Chapter Three: Management

Written by X-Team | Jun 23, 2020 4:00:00 AM

The third chapter of our Remote Team Guide will explain how you can set the right expectations with your remote team so you'll end up successfully completing projects with a strong remote team. In particular, it will cover:

Managing remote teams is simple once you've set the right expectations.

Setting the Right Expectations

A remote developer's value to a company is based entirely on his or her output. It doesn't matter where they work from or how they get it done. What matters is that they get it done at the expected level of quality.

That's why remote team management is quite simple when compared to an office environment: you simply need to set the right expectations around output, attitude, and respect, while also making sure your team is motivated and growing as they work.

Who sits where and who goes to lunch with whom is irrelevant in a remote office. No politics here. It's a game of setting expectations and motivating people. When you set the right expectations, your remote team will thrive for many years – we've been at it for well over a decade.

However, a vital thing to keep in mind is that this is a two-way street. Your remote team will have expectations about how you communicate with them, what your availability is, how you respect their remote flexibility, the learning and growth opportunities, etc. While your team needs to meet your expectations, you also need to meet theirs.

It Starts With Onboarding

From day one, your developers should start learning and understanding what your expectations of them are. While they might not perfectly execute on those expectations in the first week, a month is generally a good time to understand whether your newly hired developer understands your expectations and can deliver on them.

Try to break up your onboarding over two weeks. We introduce new developers to our core values and clearly communicate our expectations over two weeks. Every day, they learn one piece of our "expectations puzzle."

You should use this time to start meeting their expectations too. This is how you build trust. For example, if they have certain expectations around growth and learning, now's a great time to start delivering on a few of those.

As another example, if they expect to have some ownership over their work, use those first two weeks to give them a few tasks with full ownership. Meet their expectations early on and they'll trust you for a long time.

Availability Expectations

Anyone who joins a remote team has some expectations around flexibility. Understand the flexibility expectations of every new hire. Some people might be okay with a midnight call a few times a month, while others might hate it.

Understand their expectations while also making sure there's some overlap with your expectations. This is particularly true in a global remote team. You want to make sure time zones between developers overlap at least for a few hours, so developers can answer questions and unblock blockers.

Of course, some of these problems can be mitigated with solid documentation and requirements writing in your team, but a few hours of overlap in your development will never hurt.

Tip: Collect mobile numbers. Particularly when you're facing tight deadline projects, it helps to have the mobile phone numbers of all your remote developers. When Slack notifications don't come through or are turned off, you need another way to reach them.

Equipment Expectations

Set expectations on whether you'll provide your new developers with particular hardware or software. Don't promise a laptop if you won't provide one, but also make sure they're not expecting one from you either.

Additionally, set expectations around connectivity. If you expect them to join a client-facing call with clear audio and visual quality, make sure you tell them upfront so they can get a webcam and microphone.

Completed Work Expectations

Make sure you set clear expectations so everyone understands when "work is done." Without setting the right expectations of what "done" means, every developer joining your team will have a slightly different definition of done, which can easily cause unnecessary friction and tension.

For some development managers, "done" might mean:

  • Code review is complete
  • Code is deployed
  • QA has been done
  • Demo to product owner with approval

For the product team, "done" might mean:

  • Working in production

For some developers, "done" might simply mean:

  • Committed and pushed code
What's done is done. Or is it?

Can you see where problems might arise with the definitions of done mentioned above? If those three teams continue to operate with different definitions of done, they'll eventually stop trusting each other.

Come up with a definition of done that sets the right expectations for your remote teams is one of the building blocks of proper project management. On top of that, continuously give feedback and correct those who don't meet that expectation until the behavior sticks.

Quarterly Goal Expectations

In some cases, you'll want to set quarterly or at least high-level, project-based goals with each of your developers in order to keep the conversation about expectations ongoing.

Once again, this applies both ways. Your team should meet your goals around output and delivery while you should meet their expectations around growth, ownership, etc.

Once both you and your developers have agreed on the expectations for each quarter or project, make sure you check in monthly to make sure you're making progress and adjusting appropriately.

Core Values

In any team, you'll always have some overachievers who go above and beyond your base expectations. But that won't be everyone. You need a set of core values and baseline expectations that must be met for you to be satisfied, so your team can work well together and your company can succeed.

Here are the core values we've adopted at X-Team:

Take ownership

Take end-to-end ownership of every project you take on and show that you always care about the outcome. Do not cut corners. Instead, focus on long-term quality through test coverage, documentation, etc.

Be proactive

Be someone who always keeps moving forward, someone who does not wait for that next ticket to get assigned to you. When you see a way to improve the project you are working on or you think of a new feature, be the first to reach out, propose it, fix it, and do it. You are in control.

Do not just ask a question and leave it. Propose a solution in the meantime or code something different that could solve the issue. Show that you are proactive beyond the obstacles of being remote.

Be Hungry for Knowledge

We all love technology, but that does not mean we have to be that “I only do PHP/JS/Java” developer. We appreciate being open and adaptable to solve any given task, no matter the technologies and obstacles that we are given. Every opportunity we are given is an opportunity to learn and unleash our potential in new ways.

Be hungry for more knowledge and expertise. Improve your skills and craft through courses, lectures, going to meetups and conferences. Keep the saw sharp. This industry is constantly changing, and only those who change alongside it will have the most rewarding careers.

Communicate actively

Make yourself visible every day by keeping your team up to date with your progress throughout your day. Use techniques like journaling to share knowledge, ideas and progress.

Trust is not built by going silent for a week while you're deeply focused on your work — Build trust by showing a bit of your output every day.

Be compassionate

Always consider the perspectives of your teammates. You work alongside people from various cultures, backgrounds, genders, countries, religions, etc. It is important to be mindful and respectful at all times. Use this unique opportunity to embrace a spirit of generosity by sharing your perspective and being open and welcoming to the perspectives of your peers.

These baseline expectations have led us through a decade of successful projects with our remote development teams.

The more bottlenecks you create, the slower the momentum of your remote team.

Managerial Tips to Keep Things Running

Delegate Authority

Delegating authority as much as possible is vital in a successful remote team. Once you've hired strong, independent remote developers, you need them to be able to move forward whether you're online or offline.

That can only be done when they have the authority to do so.

The more bottlenecks you create for them, the slower the momentum for your remote team will be. A bottleneck in an asynchronous remote team is exponentially more damaging than it is in an office team, so be particularly wary of it.

Monitor Loneliness

Loneliness is a real challenge with remote workers and should be taken seriously. A developer's performance can be greatly impacted by loneliness. If you're not creating opportunities for your team to connect online and in-person, declining mental health can take its toll on productivity, attitude, satisfaction and more.

The best way to monitor loneliness is to talk with each member of your team and check in with their mental health while also offering support and solutions.

Deliver Constant Feedback

When a developer fails to meet your expectations, use it as a learning opportunity for them. Be careful how you phrase your sentences when talking to them.

For example, instead of saying “That wasn't done properly. QA should have been done” consider saying “Just pointing out some feedback. In the future, could you do a front-end QA pass before sending it over? Appreciate it 😀.”

Of course, don't forget to also give praise when they meet expectations or show the right behavior. A quick message is often enough. Continue to give this constant, consistent feedback, and your team will quickly understand your expectations.

Saying Goodbye

Sometimes, you'll hire a developer who simply can't meet the expectations you'd set for them. That's okay. It will happen.

As long as you make sure that...

  • You set expectations from day 1
  • You agreed with them on quarterly goals
  • You gave them constant feedback
  • You understood their expectations and tried to meet them
  • You gave them an opportunity to rise to the occasion

... you cannot fault yourself much. Managing a remote team is not meant to be difficult, but that doesn't mean it will always work out.

You just have to focus on setting expectations, understanding the expectations of your team members, and do what needs to be done to keep everyone aligned.

That was chapter three of our Remote Team Guide. Here's what our final chapter will discuss:

Or, if you want to revisit the previous chapters, go here: