Boost Your Remote Team’s Performance as a Team’s Leader

Communication

Fast communication is a key factor. If you are still using emails or whatever I guess you are doing this the wrong way. Use modern tools such as slack or hipchat so you can keep track of discussions and collaborate faster with your teammates.

Transparency

Do not be afraid to announce things in public channels so that you can bring everyone on the same page lightning fast. 1–1 communication is much more personal and emotional but you should avoid getting stuck in 1–1 gossiping.

1–1

Of course, we will have 1–1 discussions since we are humans after all. Try to be gentle with your teammates and show how much you respect them and how valuable you think they are. Admit your mistakes as a team leader and ask for their opinion about decisions you have to make. They are not robots and they need approval and reward as you do.

Meetings

Do not exhaust mentally your teammates with innumerous useless meetings. Follow an agile pattern like scrum and prioritize things. Work with milestones and sprints. Use public communication channels a lot and share there things you need to share. Make them as short as possible. For non-regular calls remember to provide an agenda so that everyone comes prepared in the call. If you don’t, this meeting is already a failure and you should know this.

Block black boxes

Many developers love working alone and appearing after days bringing together their wisdom. Funny but true. Block this thing. Remote working is awesome but everyone should follow same rules else we are not a team but a kindergarten. So simple…

Git

This might seem redundant but trust me there are still teams using SVN out there. Use Git version control system. It is solid and you will scale really fast. It will boost your collaboration since it is very difficult to lose code and also very easy to maintain tons of branches and features without affecting your master branch.

Tickets

Modern platforms such as Github, Gitlab etc offer awesome systems to track tasks, assignments, discussions for a particular issue and many more. If you are not using these do it now in order to reduce wasted time and gain hell better overview and control.

Milestones

Every ticket should be part of a milestone but what is a milestone? A milestone is a bigger feature or functionality that we want to deliver as a team and this gets splitted into many smaller assignments called tickets. Everyone should know why he / she is doing something and what we try to achieve as a team. That way he / she is far more productive and in the end of the day, he / she will take pride of his / her work.

Tasks Weight

No task is equal to the others in terms of complexity. Use tasks weight so you can calculate in a more efficient way, effort and time will be spent for a particular task.

Tasks Prioritization

Some tasks come always first and some others should follow. This is normal and will help you orchestrate all these pieces of code much better in the end. Also, you make things easier for your team’s members and you reduce extra communication to explain when to do this and that.

Making important decisions

Use a ticket for every important decision you have to make. Discuss with your team’s members and let them speak their minds. It is a free world and you are going to learn many new things out of this. There is nothing more interesting than discussing with other smart people about a topic and nothing more stupid than discussing with yourself and then announcing your decisions in public. Then ones who love doing this probably shouldn’t be team leaders in the first place.

Wikis

When a decision is made document it. Use a wiki to write down all steps every guy should follow. Try to be descriptive by using markdown and providing well-written examples and code snippets. From now on everyone will be able to visit these documents and refresh his memory about things he misses without disturbing others or spamming communication channels.

Linting, linting & linting

Use linting a lot eslint, stylelint etc It is a life saver and a sign that your team is mature enough and provides quality by following some high standards. Providing some thousands lines of code that work so it is ok is out of question. You have to think about code maintenance early enough else it might be too late…

Continuous Integration

This is so important. Use CI from day one and TDD. Provide unit tests and use mocks. Do not rely only on end to end and BDD tests by using tools like selenium etc Don’t let others write tests for your code. Your code is your child so treat it well. Start simple and try out all small cases in your unit tests. Make them fail and check how your code behaves. Refactor your code some more by abstracting things more and more. Your code’s truth is in there and this procedure makes you a better developer.

Code Reviews

This is a crucial mechanism and ensures that the code that gets pushed in master branch is AAA. Team’s level becomes better and better and coding standards are applied. Not everyone can be a code reviewer at first but try hard to promote more and more guys to this level of responsibility. Everyone should be prepared for that kind of duties and you can show your appreciation and your trust by giving him / her this opportunity.

I help people solve real-life problems through web technologies 🚀 — Founder, Leader, and Entrepreneur at helloworld.gr

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store