As a Technical Director, I’ve worked with many startups with various remote models, I have seen every version of remote structures. One of my most important takeaways is that process matters. A LOT.
A remote team is not the same as the same people in the same roles, in the office. In 2013 Yahoo! banned remote work and called everyone back to the office. Reddit, IMB and others followed suit. Marissa Meyer said in the memo to the team that “speed and quality are often sacrificed when we work from home.” Nevertheless, in 2018, over 60% of companies had some form of a remote workforce; that number is growing, and with the current Coronavirus pandemic, EVERYONE is looking into establishing a version of remote work team.
Here are my 10 tips on setting up a successful remote engineering team:
1. Agile, Agile, Agile
When setting up a remote team, there is no other way, but to work within Agile software development process. Don’t rely on the waterfall methodology which establishes a full scope first, and parses it to the team to work on in stages. This does not work for remote teams. Move to full agile using Scrum methodology (for example)! Run sprints, daily standups, retrospectives.
2. Team composition
Smaller teams are more efficient (5-6 engineers). It’s more manageable for supervision and collaboration compared to 10+ members. Break down bigger teams if necessary. Also, have a good mix of experience on each team – for example 2 seniors, 2-3 mid-level and 1 junior. That will allow you to assign the workload appropriately at each team, while allowing mid-junior team members to grow. And of course, diversity and inclusion are the essential parts of the modern workforce, and are just as important for remote teams!
3. Strong Team Lead or Project Manager
You need a strong Team Lead or Project Manager for each team. This is not a place to save as each individual lead will need to be breaking down epics to tasks, assigning them appropriately, and running daily sprint’s standups and retrospectives. It also allows sufficient time for one-on-ones with team members, to reduce loneliness and isolation – a common adversary of remote work.
4. Agile Points or Time Estimates?
Some prefer running points on tasks but with remove teams – it’ll be essential to assign times to tasks (at least initially) and monitor your team’s performance. This way your Team Lead will be able to fine-tune and increase productivity.
Remote teams have to be able to adapt to various changes in their current process. For example, some prefer running 2-weeks sprints in general. Whenever you feel things are not going as expected, shorten your sprints to weekly. This will create a more dynamic environment. Don’t worry about tasks unfinished within a week – do a retro and break them down — keep tuning up till you get the point when you’re efficient and close almost 80% of the tasks given within a weekly sprint.
6. Scrum master – have or not to have?
If your scrum master works on several projects and provides valuable quick insights, then I’d say yes. Otherwise he/she may create another layer so I’d vote for a lean approach with no scrum master. If you still feel you need help, seek out an Agile coach to consult you.
7. Tools. Tools, Tools
To be productive with distributed teams you must have the right collaborative tools. There are many, for example G-Suite by Google and Microsoft Teams provide all-in-one set of tools (email, docs, meetings, chart, calendar, etc.). There are probably a dozen more but I’ll just point to the main ones. Be sure to select the most appropriate for your company:
- Project Planning & Running Sprints: Jira Agile, Asana, Microsoft Project, Trello (this one is more simpler but it’s free and good for small businesses)
- Meetings & Standups: Google Hangouts, Calling with Microsoft Teams, Zoom, BlueJeans, Skype
- Collaboration & Communication: Slack, Microsoft Teams, Google Hangouts Chat
8. Remote Access & Security
Make sure to provide your remote team members with the secure access with Multifactor authentication (e.t Okta Verify or similar) and/or VPN access.
9. Hiring Remote Engineers – Remotely
Most of the interviewing process nowadays is 80% remote anyway. Depending on your hiring process, run your 1st and/or 2nd rounds (screening and tech interviews) remotely via any of the video “meeting” tools above. For your final round(s) which you ran onsite before, do another video call with the whole team and/or upper management – remote simplifies scheduling as well, and will help you hire faster. Hiring and retaining engineers is one of the largest challenges for companies today. See my next article: “How to hire great developers” (coming up soon).
10. Reviews and Evaluation
Last but not least – it’s critical for a team manager to maintain consistent and meaningful relationships with each team member. Your manager needs to do 1-on-1’s with each team member regularly, plus quarterly reviews and bi-annual evaluations (not yearly) – don’t let things slip and wait for your team members to come with real concern when it’s too late and they are already interviewing with other companies. For many – a great manager is 50% of their success and well-being in the company – BE THAT MANAGER!
BONUS: The RIGHT way to “check-in” on remote team members
For team leads and managers (to continue the point #10), here are few right questions to ask your remote team members:
- How’s everything going? Is your family fine? Let’s chat.
- Do you need any help/support on your current project/task?
- What’s the biggest roadblock you’re facing right now? Let me help you to clear it.
- If you are stuck on the task, is there anything we can take off your
- plate now?
- Let’s be positive! Let’s look ahead!