As more people work remotely, companies turn to remote or distributed staff for their software development needs. Learn the best practices of hiring top tech talent and managing remote employees for your next development project.
Remote work is becoming more popular as workplaces go digital. According to the international workspace provider IWG, up to 70% of professionals across industries work remotely at least once a week. An additional 53% work away from the office for at least half the week.
According to Buffer’s State of Remote Work Report 2018, by 2020, half of all employees globally will work remotely, and 90% of all remote workers admit planning to work remotely for the rest of their careers.
Surprisingly, remote workers tend to be 20-25% more productive than their office-based colleagues, so it makes sense for business leaders to embrace distributed IT teams and digital workplaces.
At 8allocate, we have first-hand experience building and managing distributed teams who help clients across continents embrace digital transformation to achieve their business goals.
As the company’s CEO, I’m often asked questions such as “How can we keep this project on track when we’re not even in the same country?” While this might sound daunting to someone who is used to a traditional business environment, the process of preparing to work with a distributed team is quite easy.
Distributed teams have their own set of unique features and challenges, the good news is there are ways to overcome them and drive your business forward. Managing distributed teams is much easier for companies that use cloud computing, DevOps, Agile project management, strong communication, and collaboration tools.
You can use these 4 tips to hire and manage your distributed team more efficiently.
1. Start by Hiring the Right People
When companies aren’t able to hire tech talent with required skills at affordable rates, many turn to offshore or nearshore partners to find specialists abroad.
For example, if your company is hiring a distributed team for a blockchain development project, you will need to find specialists who can help you achieve your project requirements.
Use a sales approach by considering each candidate as a lead. Your hiring strategy should rely on a combination of inbound and outbound lead generation and acquisition. In this case, you’ll be acquiring talent.
At 8allocate, we help clients build teams of dedicated developers and project managers for software project development. Whenever we get a staffing request from a client, we ask them to fill out a brief questionnaire to help us choose the right hiring strategy. Key questions we ask prospective clients include:
- How big is your in-house team, and what’s the seniority level of existing team members?
- Which technologies does your in-house team use?
- Why does your project require you to expand your in-house and/or onshore team?
- What are your project goals and challenges?
- What growth opportunities can you offer developers? Why will your project be interesting for candidates?
- What’s your required command of the English language?
- Will all candidates be required to work from one location, or can they work from different locations?
These questions help companies refine their recruitment strategy, allowing them to determine the right mix of inbound and outbound approaches.
Inbound Leads Help Qualified Candidates Find Your Company
Inbound leads are an important part of sales. Companies with strong inbound pipelines are visible to leads that are likely to convert. When searching for a qualified distributed team, you can use a similar approach.
Start by creating the candidate’s journey. Map out exactly where you’ll be looking for candidates and how you’ll engage them across all stages of a typical sales funnel:
- Awareness of your brand, project, and current vacancy
- Consideration in which interested candidates can research your company
- Interest from qualified candidates, in the form of inbound outreach or applications
- Conversion that occurs when you hire a qualified candidate
To visualize this inbound strategy, I suggest creating a matrix by filling in the form below:
To raise awareness of your project, you should think outside the box and get creative. For our blockchain example, you could deliver a speech at a blockchain conference in Eastern Europe, write an article about your future project for a popular website like VentureBeat, or even shoot a video demonstrating your project.
In order to attract the right distributed talent, think like a marketer and explore all possible ways to spark interest in your project and company.
Develop an Outbound Strategy to Connect With Candidates
To shorten the time it takes to hire software development resources, companies can use an outbound recruitment strategy.
In this strategy, you can reach out to your existing pool of current and past candidates to let them know about new opportunities. In most cases, in-house recruiting teams won’t have access to large enough pools of talent.
If that’s the case for your company, an IT staffing agency can help. They have innovative processes for identifying and reaching out to the most sophisticated candidates regardless of their location. This expertise can help companies optimize their time and resources by streamlining the screening and vetting processes during recruitment. Be sure to budget for the staffing agency’s fee which can be up to 30% of each hire’s annual salary.
Once you’ve hired an outsourced team for your development project, you’ll either pay a fixed price or for time and materials used, significantly reducing the total cost of resources.
2. Establish Clear Communication Processes
Communication is at the core of every successful team. When enterprises don’t make an active effort to compensate for the lack of in-person contact, distributed teams can quickly fall apart.
To encourage communication between teams or team members, it’s best to take a multi-pronged approach. Leverage a combination of communication tools such as:
- Instant messaging, such as Slack or Telegram
- Video calls, such as Skype and Google Hangouts
- Screen sharing tools, such as TeamViewer
These communication tools ensure that teams can connect in a variety of mediums depending on what they need to discuss.
To ensure collaboration and productivity across time zones, companies must also use project management tools.
For example, Jira Software help software engineers manage projects using agile concepts.
Jira Software and project management tools like it make processes like planning, prioritizing, and scaling up or down during the software development cycle a seamless experience.
These tools will also keep conversations, documents, and files organized so they’re easy to find later.
3. Champion a Culture of Continuous Integration
Continuous integration is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is verified by an automated build which allows teams to detect problems early.
Distributed teams that adopt a culture of continuous integration (CI) build morale which helps them overcome obstacles. CI also helps teams detect errors and bugs quickly, locate them more easily, and divide responsibilities appropriately.
For example, a business might have security concerns that impact development. A distributed team might be asked to maintain two sets of code repositories that will be merged at a later date. This situation often occurs when enterprises refuse to release intellectual property on public cloud-based platforms.
Maintaining two separate code repositories is a bad idea because you’ll end up wasting a significant amount of time and resources to fix the fractured code.
Instead, it’s far easier and more secure to enhance communication within the distributed team and maintain a single code repository. This way, all members of the distributed team can work on the same code base, empowering them to deliver a stronger product.
There are two options for good CI tools. Among the free options, many companies use Jenkins, Go CD, GitLab, and Codefresh. Enterprises may need to use paid tools such as Atlassian Bamboo and TeamCity.
These tools offer both powerful functional features and flexible scalability.
4. Measure Team Performance and Productivity
To determine what your distributed team should focus on each day, week, and month, you should establish and track metrics at the beginning of each project.
At 8allocate, we prefer Agile/Scrum approaches to product development. No matter which system you’re using, it’s important to track key performance indicators (KPIs).
Take your software development project roadmap and include several KPIs for each initiative. Common KPIs include:
- Process Status Metrics such as the percentage of completed tasks, flow efficiency, the rate of time lost due to blockers, clustering of blockers
- Release Metrics such as eliminated errors and defects, success rate, release time, elapsed time since the last release, cost of release
- Product Development Metrics such as the product’s value for the end user or client’s business, risk management, market feedback analysis, product market forecasts
- Technical Metrics such as build time, test coverage, a density of errors, compliance, code review, crash score
- Team Collaboration Metrics such as satisfaction rate, opportunities for development, transparency, time of collaboration
You won’t necessarily need to measure all of these KPIs. The key is finding metrics that are the most relevant to your particular project and team.
I recommend that teams that are new to working in a distributed structure start small and scale with time. Two or three basic metrics may be sufficient to start, and the team can always add more as the project evolves.
Mature teams can use up to 7 metrics at the same time, but it’s highly recommended that the number of metrics tracked doesn’t exceed 7. As they say in IT, if you measure more than 7 KPIs simultaneously, you’re likely to run into “analysis paralysis,” in which over-thinking a challenge leads to no solution or action at all.
When establishing metrics, the entire team should make a collective decision. Metrics stop being effective when they become a goal that’s not tied directly to the end result of the project, so this approach avoids situations where teams measure something for the sake of measurement. All metrics should be well-visualized so they can be used for data analytics and decision making.
Distributed Teams Can Help Companies Succeed
Distributed teams can support companies’ in-house resources to create successful development projects.
Make sure to staff your distributed team with the right people by using both traditional and innovative approaches in your hiring process. A mix of inbound and outbound leads can help you connect with the talent you need.
Once you’ve staffed your distributed team, cultivate CI while fostering effective communication within and between your teams.
Finally, verify your team is moving in the right direction by measuring as many KPIs as you believe are necessary to feel the pulse of your team’s work.
Today, many modern organizations outsource their development projects in order to access new talent pools and build long-term relationships with competent third party providers. As global tech giants such as Samsung, Microsoft, and Google rely on distributed teams all over the world, all companies can follow their example to embrace innovation better and faster.
About the Author
Vladimir Potapenko is CEO and co-founder of the international IT outsourcing consultancy 8allocate. Vladimir is passionate about all things tech, IT recruitment, and entrepreneurship. Besides running a global company with an R&D center in the heart of Kyiv, Vladimir loves doing sports, especially biking and running.