The Definite Guide To Managing a Remote Development Team
Finding top talents domestically may get difficult at times with the competition being ripe, especially in the Silicon valley, London, Berlin and other buzzing startup destinations.
For growth-stage startups hiring the crème de la crème talents may come as a tough challenge considering the average cost of living in the area and market-rate salaries.
Or you may not be able to find the right fit for your project, because well…they are either non-existent or happily employed by somebody else.
In any case, why should you constrain yourself to hiring remotely in the first place?
- My remote developers will be unproductive
- A remote team is hard to scale
- Remote teams will not integrate in the company’s culture.
If you organize and manage software development team the right way, none of the above will be your concerns.
Busting The Common Myths Around Remote Development Teams
No country has a monopoly for the best engineering talents. Great developers dwell where they dwell. It might be USA, Canada, Ukraine or South America. In any case, you never know where your diamond in the rough now lives and plays.
And here’s the deal: having remote staff in no longer a fad, it’s the reality.
Dell – the IT vendor giant with over $60 billions in annual revenue – plans to have half of its workforce working remotely by 2020. Both Deutsche bank and UBS work with distributed teams scattered around the globe from Sydney to Seattle. Github, which has received $100 millions in funding the other day, has two-thirds of the employees working remotely.
Today it seems safe to assume that remote employment works for companies of any size and shape.
Yet, the stubborn myths surrounding remote development (and not only) teams still pop up here and there. We’d like to address the top 3 of them.
Offshore Developers Are Not as Good as Domestic Developers
The quality of work is never determined by geographic location. Mediocre workers and underperformers can be met with equal probability in New York City, San Paulo, Atlanta, Krakow, Budapest or San Francisco.
Will you decide against hiring a rock-star US-developer, who currently resides in Barcelona just for the sake of keeping everything on-shore?
Top developers earn their stripes based on their commitment to technical excellence and continuous self-education, rather than geographic location.
Cultural, Language and Time Zone Differences Pose a Major Problem
What we most commonly regard as culture in this case is work ethics and moral. This could be put to test during the interview process by asking a standard series of moral dilemmas and recording the answers.
Language proficiency should be evaluated carefully as effective communication is the key to successful collaboration. You’ll get a good idea of the candidate’s spoken skills during the interview and can additionally assess their written skills with a series of standard tests. After all, you don’t need someone as good as Dickens to write your code. Just a person who “gets” all the instructions well.
Time zones. “Offshore” does not always equals “time differences”. The North America shares time zones with a number of offshore development centers. In Europe the time zone differences are even less significant. In any case, as long as the time zone difference is around 5-6 hours, you’ll have enough overlapping work time to stay in touch.
Besides, time zone differences can often serve to your advantage. We’ll address this one further in the guide.
Talented Offshore Developers are a Rare Breed
Yes and no. How much time does it take to headhunt and hire a domestic talent? Quite a while and you need a good recruiter to do the job too.
The same is true when you hire offshore developers.
So, where should you look for talents?
Personal referrals are still the best source for scoping talents. Don’t have anyone in the network, who had experience in dealing with remote teams? Think of the products and apps you like in your niche and reach out to the business owners asking who did the development. High chances are you’ll run into an offshore team.
International freelance networking sites are now booming, which is a good thing and a bad thing at the same time. While there’s certainly a lot of top-notch professionals out there you may need to do some solid digging to weed out the not-so-great candidates before you discover your ideal hire.
Independent consultants and outsourcing companies. Here you’ll face the same needle-in-a-haystack challenge. The quality range of services can differ widely – from cream-of-the-top pros to humble beginners, offering less than average quality of services. The latters could be easily distinguished by poor writing skills and higher than average level of desperation to get the job.
When it comes to outsourcing companies, feedback from past clients and detailed project case studies can give you a good idea of what you can expect. Most of them will offer you to get on the phone/Skype for a free quote, which can give you additional insights of their competence. Additionally, you can get in touch with the former clients (decent companies usually list those publicly) for feedback or check what the industry review sites e.g. Clutch have to say on their account.
Now, all stigmas aside – let move to the practicalities of managing a development team remotly.
How To Manage a Remote Dev Team
Let’s start with one simple advice (which is also quite hard to implement) – change your mindset.
Having a development team out of sight does not mean the work isn’t being done or you lose control over the process. Luckily, there are enough tools and mechanisms to track progress efficiently without restoring to micro-management and freak-control techniques.
Trust the team you hire. Or you may end up wasting brainpower on constant worries, rather than your final product.
At our company we work on “getting to know each other” component prior to signing-off the deal. Investing into establishing efficient communication channels and making sure “we are on the same page” is the key to creating a dream-team scattered around the globe, which yet works as one whole.
Now, stigmas aside, let’s deal with other practicalities of managing a remote development team with the least hassle involved.
Adopt a Well-Known Project Management Methodology
Your in-house team and your remote fellows need to stay on the same without excessive communication. The scrum agile management processes have worked great for us in this case as it helps fostering the culture of accountability, honesty and boost the team’s productivity, while keeping everyone flexible to changes.
We use Jira with additional plugins to help the customers monitor the work and progress.
Foster The Culture of Accountability
“But how do you know if your remote team does the work (and not just bill you for something)?” is among the top concerns of companies considering remote teams or creating an offshore software development center.
Here’s an easy solution – schedule update days e.g. each Friday. Create a dedicated chat in Slack or any other tool you use for communications and get everyone to share a quick tip on what they’ve been working on the last week and what they have planned for the upcoming one.
Aim For a United Development Culture
Dan Radigan, Senior Agile Evangelist at Atlassian, brilliantly sums up the key components of a lean development culture:
- Overcommunicate decisions across all geographies
- Minimize the friction in setting up the development environment
- Clearly define the definition of done
- Create guidelines for filing effective bug reports
How It’s Done:
Step 1: Share the information proactively
Important decisions are often made in an informal setting or tone. Often this results into loads of time wasted until every office and team member gets to know the updates and stops working with outdated information.
Once a certain decision is made invest heavily into spreading the news. Ideally, everyone should understand this decision and why it was made. Instead of sending it via chat or email, add it to the corporate guide or wiki for quick access to everyone. Encourage your team to set up email notifications for groups/pages, which are the most important to them.
Step 2: Automate onboarding process
A simple “Getting started” guide can do miracles in terms of productivity. Rather than scheduling one-on-ones (which should be done later for feedback) and automate the setup as much as possible.
Here’s a good onboarding guide from Spark to check out for more tips.
Step 3: Clearly define what is “done”
A firm definition of “done” eliminates the vagueness in work. Create and distribute a project checklist, which will clearly outline when the project is “complete” indeed e.g. code written, design created, code tested and reviewed etc.
Step 4: Keep clear guidelines for bug reports.
Not everyone on your remote team may be available when a problem pops up. Yet, no team should become a blocker. Make sure everyone know how to file comprehensive bug reports and keep shared troubleshooting guides to make it easier for anyone to track down the issue, fix and validate it with no side effects.
Btw you don’t need to control all the processes by yourself – Project Manager or, how it is sometimes called, Project Leader will all the work.
Automate Everything That Could Be Automated
Romexsoft teams are small, yet manage to complete enterprise-sized as well as start-up projects equally to larger teams. Our secret – smart automation. We prefer our peeps to focus on high-impact work most of the times, rather than figuring out routine and mundane things.
Besides, automated solutions e.g. in testing reduce the amount of human errors and blunders. We don’t keep people in stuff to perform repetitive and boring tasks or for the sake of billing additional hours.
Always think which processes you can automate and which are worth outsourcing.
Use Video Conferencing Boost Efficiency & Morale
Emails, chats and all sorts of team management tools are certainly helpful, yet getting face-to-face once in awhile is worth the time and efforts of organizing.
Kick-off the project with a quick video conference with everyone on board to make sure everyone are on the same page and ready to get things cracking. A mid-project videoconference is great to keep the teams spirits up and assure everyone’s on track and consider another one after the project is complete to thank everyone for the great job done.
Building and fostering personal connections instills trust, minimizes missed expectations and eases self-organization.
Use Time Zone Differences To Your Advantage
Most think of the time zone difference as a draw, rather than benefit. Yet, it’s often not the case.
In fact, your businesses may be able to achieve “round the clock” efficiency this way if you assign developers in different time zones with different aspects of the project.
When your remote team is ahead of your timezone, you get a great opportunity to review their progress on the same day and assign the next set of tasks. When you are ahead, on the other hand, you have the commodity to think over and prepare everything the development team needs in advance to complete a certain project task.
Master the global clock and make it work to your advantage.
To wrap it up – “remote” and “offshore” should no longer be the “scary” words in your vocabulary. The economy is going global and freelance. If you are not ready to get adjusted to new realities today and hire freelance offshore team, tomorrow might be too late.
A great developer is a great developer in any part of the world. Talents don’t get born or nourished in specific locations.
Managing remote workforce isn’t as difficult as it may appear either. Fostering accountability, building effective communication channels and using the right tools is what you need for a solid start both with in-house and offshore teams.