Imagine you are an owner or manager of a growing tech company. Your client base is expanding and you need more people on your engineer team. In the recent past, you had only one solution - hire employees and find more space to accommodate more people. But things are changing. Remote software development became a common thing among tech companies. The research from Remoters named IT the hottest industry for a remote job.
Remote, On-site, Distributed: Types of Teams in Software Engineering for Your Project
So we have on-site engineers, and two types of virtual teams: distributed and remote ones. Each type has it's pros and cons, so this article is geared towards deepening your knowledge about each type and helping you to choose the right type for your company.
Which is which
Before comparing each type of engineering teams, it's important to make sure you completely understand the definition of each option. So, what is on-site, remote and distributed team?
3 main types of engineering teams
Another term to describe this type is co-located team. In this scenario, all team members work together in the same office space. There are a lot of examples of on-site software development companies, the brightest among them are Yahoo, BestBuy, and IBM.
A distributed team, on the other hand, has no physical office. Team members don't communicate face-to-face but instead can work from home, coworking hub, cafe or wherever they want. They can be in different cities, countries or even continents, it doesn't matter when talking about such kind of team. The list of companies hiring distributed teams includes Automattic, Buffer, Zappier, and InVision.
Somewhere between these two solutions is a remote team. The terms distributed and remote are often used interchangeably, but despite their similarity, they have one significant difference. Like an on-site team, a remote team has an office, but some team members don't work from it. They also can be spread out worldwide, despite work as much as employees in an office. The brightest examples of remote teams are Basecamp, Trello, Clevertech and Help Scout.
On-site engineering teams
As we are on the same page, it's high time to compare all these types in several categories and define what team fits your project best. We singled out the following categories: hiring, communication, flexibility. Also, we considered the most essential pros and cons of each type of team. Let's begin with a traditional on-site software development team.
Location and availability were always of a great importance. If your company is located in a city or town that people want to move to, you are lucky. But in other cases, the hire of outstanding talents can be a little bit challenging. Your candidate pool is strictly limited to geographical boundaries. So you can only hire employees in your city or those who have an opportunity and desire to move to your location. No matter whether you live in a small town or a large city, you have to watch out for employers trying to fill job positions with people who already have a job. When good specialists are in short supply, these employers may try to steal your staff away.
In case you want to hire employees immediately, don't be surprised if this process will last much longer than expected. In case you hire people on an ad-hoc basis, it is better to choose another option. On-site engineers are hired for the company, but not for the project, so they cannot be fired immediately after the project is done.
When hiring on-site IT engineer, be ready to pay them a full-time salary. In addition, you must pay for sick days and vacations, the days when your employees don't actually work. And don't forget to take into account additional costs like office supplies, fully-equipped workstations, and training.
The greatest advantage of an on-site team is communication. Being co-located, team members tend to solve the uprising problems faster and provide an instant feedback. An on-site team has an advantage when talking about cultivating strong culture encouraging employees to stay in the company. Also, the chances are that an employee will come up with new ideas on meetings or even when talking with colleagues near the cooler.
It is a lot easier to organize team building training, meetups, and other bonding activities when all team members are at the same place.
Flexibility is a weak side of every in-house team. Imagine you have a top-notch developer in your on-site team. But suddenly they decide to resign because they have to move to another city or country. In such cases, companies either say goodbye to the skilled professional or allow them to work remotely.
What else to consider: pros and cons of on-site team
Besides previously mentioned factors, there is also a couple of things to consider when you choose what type of a team you should hire. The on-site team advantages are the following:
When team members work on-site, they are immersed in the specific company culture. This fact can improve productivity and encourage idea sharing. Moreover, working in company's headquarters, employees get to know how business works. And thanks to it, team members came with ideas that perfectly meet the specific needs of the company.
All confidential information is more likely to remain confidential. In most cases employees sign a NDA contract. In comparison with distributed or remote software engineering teams, you have more control over security issues. So you can be confident that one day the source code won't land to third parties' hands.
Don't want your project idea to be stolen? Here are the best ways to protect the idea from being copied or stolen
You have a specialist at your disposal for about 40 hours every week. At any time you can ask for a report of their work or assign new tasks.
You have a complete control of your project and can set rules and regulations. Since they know that breaking rules may lead to a penalty, team members will strictly follow them. When you see how your employees work, it is much easier to determine the best ways to increase their productivity. What's more, you will be more confident that all tasks will be accomplished on time and properly.
But there are also several drawbacks of hiring on-site engineering team:
When you decided to scale your company or hire new people, you should primarily think about office space needed for a new staff. What to do if a team outgrows the allotted office space? In this case, most companies move to a bigger space which means additional expenses.
Most on-site developers are local, so have a little experience in working with different methods and work environment. It is difficult for such employees to think outside the box.
Distributed team is now a common thing for the software industry. But is it really worth it? Let's figure it out.
These companies are fully remote
The distributed product development opens a great opportunity to hire global talents. Instead of hiring a mediocre local developer, you are able to work with a top-notch candidate from other city or country. So you have a wider pool of candidates and now are able to hire a professional with skills that will perfectly fit your project.
In addition, it takes less time to hire a distributed employee. According to Owl Labs' report, fully distributed companies hire new people 33% faster comparing with others.
No denying that distributed software development is cost-effective. There is no need to rent office where team works, pay for employee's training and buy costly hardware. That's the reason why small companies twice more likely to hire full-time remote employees, as Owl Labs claims.
But on the flip side, to provide better communication and team collaboration, you need to invest in communication software. Some of these tools are free of charge. But in most cases, these tools have a paid plan where you should pay every month, quarter or year.
The most complicated question is how distributed and a remote team should be paid. There are two most common options for engineering teams: fixed price and time & material model. In the first scenario, you pay for a fixed scope of work. If you choose the second option, at first you estimate how many hours it is needed to get the job done. Then you multiply it by developer's hourly rate.
Some companies also pay for a coworking space and Internet, but it is not common. According to Buffer Report, 78% of employees working from home pay for their Internet on their own. 76% of respondents also pay for their coworking space out of their own pocket.
Communication is one of the main disadvantages of virtual teams. Even though there is a great variety of software solutions for remote work, the lack of communication is still a major drawback of a distributed team. If all team members are from different countries or even continents, it's a big chance that they will struggle with managing time zones. It makes scheduling meetings and quick solving of uprising problems extremely hard. Most engineering teams use Agile methodology nowadays. But different time zones make it difficult to schedule daily meetings, which is one of key elements of these methodologies. In this case, it becomes harder to follow Agile methodologies.
Things are getting worse with cultural differences. People cannot understand the way their colleagues think and what drives their behavior. It makes collaboration harder and reduces empathy and trust.
To eliminate this issues, you need to invest in communication software like Slack and encourage people to talk more. Some companies also organize team building trainings and meetings where they put all team members together. It greatly helps to improve team communication and collaboration but may cost a pretty penny.
Go back to Buffer's report. 43% of it's respondents named flexible hours the biggest benefit of working remotely. No long commuting, working from wherever you want and whenever you want - all these factors increase employee's happiness. In turn, you'll get increased employee's productivity and retention.
Buffer's report lists the main benefits of working remotely
Drawbacks and benefits of virtual teams
In some cases, the previously mentioned cons may become benefits for those who chose such type of team.
- A diversity of experience and cultural background motivate people to think outside the box and sharpen their skills. Hiring people literally scattered around the globe is a great opportunity to build an innovative team.
- Having team members that spread across various time zones mean that your business can work 24/7. Increased coverage can be profitable in case you have a customer support team or need an ongoing tech support.
- One of the biggest advantages of virtual teams is that you can quickly hire a new team member. Imagine one of the team members has a problem and unable to accomplish their tasks. But your project cannot afford delays. When working with a distributed team, you can find an urgent replacement within a few days, so your work won't suffer greatly.
- A distributed team makes your business scalable. Hire employees without worrying about additional costs for a workstation or moving to the bigger office.
But watch out for the following things:
- It may be hard for you to manage and keep accountable your virtual team. You cannot watch the team in one physical space, so you have no idea how the work is done. To get the full information about the work process, you need to regularly require a report from each employee.To solve this problem, you can install time tracking tools on your employee's computer in order to properly calculate the hours of focused, undistracted work. Tools like Trello and Jira are great solutions for managing distributed development teams.
- Working with a distributed team may be connected to security risks. When an employee keeps all information about a project the loss of a laptop, infection by malicious code or insecure Internet connection can become a catastrophe for both employee and employer.
- With flexible hours, employees are more likely to work in small chunks of time instead of a period from 9 AM to 5 PM. It means that they may not be available when you need them.
A remote web development team is very similar to a distributed one and, hence, have the same pros and cons. So here we won't talk much and duplicate information, but consider only the most essential things to know.
The key difference between these two types is that on a distributed team all employees work from home, while remote involves several developers to work remotely. For instance, you have an engineering team that works in your office, but a designer and one of QA engineers work remotely. Or your company allows taking one day a week to work from home. At this point, you have a remote team.
Let's look at statistics. Owl Labs found that 52% of surveyed staff work remotely at least once a week. Buffer claimed that 70% of respondents are full-time remote workers.
So, in terms of hiring and costs, the situation with a remote team is similar to a distributed team. But when it comes to communication, things are getting worse. When respondents were asked about the biggest struggle with remote work, 21% of them named loneliness and another 21% emphasized the problems with communication and collaboration.
There are also some drawbacks of working remotely
Remote software engineer is at risk of being left behind. And while the team members working on-site always keep in touch with each other and know the newest information, remote workers may be misunderstood or even ignored.
And the main question is - which type of team is more productive? Referring again to the Owl Labs statistics, we can see that the performance rate of on-site and remote workers is almost the same, although managers give a higher mark to the on-site team.
See how managers measure performance of remote and onsite workers
So if the productivity of these teams are nearly at the same level, how to make the best decision? It greatly depends on several factors. So, if you plan to create a large-scale product which requires undivided attention and permanent communication, it is better to opt for an on-site team. Distributed and remote development team is a good solution if it is small talent pool in your location or you want to cut costs for overhead. But you will be responsible for improving communication among team members.
Another great option is to hire a remote ready-made team of talented professionals who have an experience in creating all sorts of web and mobile solutions. If you opt for this variant, drop us a line and our managers will help you to pick the best developers for your company.
Also, by clicking subscribe button on the right you can join 1,200 subscribers who already get the newest and the most useful information from the software development world.