Ubiminds: Scale Distributed Engineering Teams In Brazil

Follow Our Blog

SUBSCRIBE

The Ultimate Guide to Distributed Teams for Software Development: how to manage and scale

LINKEDIN

A common image in Distributed Teams for Software Development : boy in white tshirt drinks from mug while coding

What is your opinion on co-located work? For many tech companies, it’s becoming a distant memory. After all, they discovered the wonders of remote work decades ago. For those who build digital products, Distributed Teams are the way to go.

Distributed teams are becoming the norm. They (a) reduce costs, and (b) give access to a wider talent pool from all across the planet. This wide range of benefits also brings a few challenges that you need to overcome to succeed.

Do you want to know how to manage and scale distributed teams for software development? You came to the right place. This article has everything that you need to know to do it right, including:

  • What are distributed teams and why do they matter?
  • Why should software engineering teams strive to be fully distributed?
  • How to move from co-located to remote and distributed teams?
  • Key challenges distributed teams face (and how to overcome them)

What are distributed teams and why do they matter?

First of all, what does distributed work mean? In practice, it refers to any company that transcends the concept of physical space. One or more employees work from different locations. Be it another city, state, or even country.

Since geography is no longer an impediment here, the main focus is getting things done. Your distributed team can do their tasks from rented offices, public spaces, or even from home. We have the technology to thank for that. But the most important thing is that everyone remains on the same page, working async.

This is similar, but not the same as remote work. In remote teams, one physical location (headquarters) is the brain center of operations. That is where processes are defined and decisions made. Things are more linear and hierarchal.

Distributed teams don’t need this. Distributed work is a discipline for the entire organization, not only for the individuals that are far away.

Now you know the differences between distributed and remote are. It’s time to talk about why distributed teams matter.

Distributed teams benefit both companies and employees. This is why they are considered the future of work and are progressively used by tech companies.

While working with distributed teams, your company will be able to reduce costs. According to a study by PGi, distributing can offer real estate savings of US$ 10.000 per employee. It also makes it easier to use freelancers for some roles. This benefits tighter budgets – and also empowers scaling-up operations.

Going distributed is also a great way to boost employee productivity. It can offer more flexibility and convenience, with fewer distractions. The State of Work Productivity Report pointed out that 65% of full-time workers consider it one of the means to perform better.

Moreover, distributed teams are a great way to reduce attrition ratesAccording to a study by Owl Labs and TINYpulse, companies with remote work have a 25% higher retention rate. Also, it points out that 65% of the employees would like to work from afar.

And what about your talent pool? By distributing, you’ll be able to hire skilled people from any region and background. The benefits are not only reduced costs for talent acquisition but also the diversity of mindsets it can offer.

Are distributed teams really vital in pandemic times?

You’ve read about the benefits of distributed teams and what they are. The trend was gaining momentum before the world was hit by the new coronavirus. As you can expect, the COVID-19 pandemic accelerated this process.

People had to quarantine to avoid contamination. Thus, co-located work wasn’t a viable option – and well, the show had to go on. With that in mind, the remote-first approach became the norm in every industry you can think of.

And why distributed teams are vital in pandemics? As an employee-first approach to work, it makes it easier for these workers to practice social distancing. After all, they didn’t need to go to an office and meet their co-workers – and not people along the way.

The transition was smooth because there was a close-to-none change in routines. Plus, with health and safety assured, employee satisfaction is higher.

This was also an important factor in having better productivity. Many tech companies experienced accelerated growth rates during the pandemic. Having healthy, engaged product teams was key for top performance.

Due to the sudden arrival of the new disease, many companies had to rush this change in approach. According to Global Workspace Analytics, only 7% of the companies based in the United States had remote work before COVID-19 surfaced. Plenty struggled in having to invest in digitalization fast.

Was it successful? Yes! A study by PwC pointed out that 75% of the executives consider this change to be beneficial for their businesses. Not surprisingly, 72% of office workers want to work from somewhere else at least two days a week. This after the pandemic days end.

We don’t know if or when another pandemic will happen in our lifetime. That said, it is vital to look at the lessons taught by COVID-19. Distributed teams are an effective way to function in this context. They can avoid infections such as the new coronavirus, but also other ailments such as the flu, chickenpox, or other contagious diseases.

Why should software engineering teams strive to be fully distributed?

There are many reasons for software engineering teams to be fully distributed. Sure, we can point out that it is difficult to find world-class talents. According to Accenture, there are 1,2 million tech job openings with no available workers in the United States.

There is a widening skill gap and the fact that 60% of the employers have a hard time filling job openings in 12 weeks. It is then crucial to look for qualified talent elsewhere. India, Ukraine, and Brazil are tech developer hubs, albeit with different styles.

This doesn’t mean importing overseas talent so they can work co-located. Sure, you can do this if you want – but beware: it’s not the best decision cost-wise. After all, you can hire them to work from their own neighborhoods with less investment.

It is important to point out that having distributed teams is not a new thing for tech companies. They began hiring talented individuals from all around the globe to work from distance in the 1990s. Cost reduction was not only a goal but also an achievement.

So why not go fully distributed? Not only will the costs with physical space and other expenses from co-located work be reduced by zero. Also, you’ll be able to have the best talents. This will allow you to dodge many expenses and expand your budget.

Software development is a very competitive market. It is crucial to have a scalable company. Not having a tech team that is fully distributed is the same thing that riding a horse during a car race. Your competitors won’t downgrade for you to keep up with them, will they?

Who are the software companies thriving with distributed teams? What can we learn from them?

No article about distributed teams would be complete without practical examples, right? Don’t worry! We made a list of high-profile companies that are 100% remote to help you. Follow their company pages, get inspired, Here are them and what you can learn from their examples:

1. Skype

You probably know Skype. It’s one of the most important video conferencing software available. The company founded back in 2003 always knew the benefits of distributed tech teams.

While they were based in Luxemburg, they opted to outsource the development of the app. Their Estonian developers and designers proved to be a great asset for Skype. It helped them offer software that resonated with users – and the market. Microsoft bought them for US$ 8.5 billion in 2011.

2. Zapier

How about Zapier? They are a workflow tool that connects more than 2.000 apps such as Slack, WordPress, Dropbox, and Office 365. With annual revenue of US$ 50 million, they have more than 3 million subscribers. Zapier is used in colossal companies such as Spotify, Adobe, and Fox.

Why is the American company founded in 2012 is in this list? Because they have more than 250 employees in 23 countries. Zapier focuses on hiring people based on their skills, not their location. They use daily group chats and distributed project management apps to work in a way that they believe leads to better productivity.

3. Automattic

Continuing this list, there is AutomatticFounded in 2005, the company markets many notorious applications that you certainly heard about. Do Tumblr, Jetpack, and WordPress ring a bell? The latter is used by 34% of the world’s top 10 million websites.

With its freemium and open-source approach to its products, it also has distributed development teams. The founder Matt Mullenweg considers a better and more ethically responsible approach. To him, it prioritizes the productivity of their 1.3 thousand employees in 77 countries.

4. GitLab

Another example of a fully distributed company is GitLab. They believe that asynchronous communication is most effective and should be embraced. At least their US$ 2.75 valuation tells that it should.

The Ukranian company offers a DevOps platform that can be delivered in a single app. Used by Sony and Nasa, GitLab has more than a thousand employees in 63 countries.

5. Slack

Wrapping up the list is SlackOne of the most used corporate communication apps, they have 8 million daily users and are valued at around US$ 20 billionRecently sold to SalesForce, they are another example of a company that went distributed. Slack’s 1.664 employees are outsourced. They believe can increase development capacity.

How to move from co-located to remote to distributed teams?

So yes, having a fully distributed team is something extremely beneficial. That said, it is a process that demands adaptation. If suddenly done, it will be more challenging to scale it up.

The first step is preparing the mindset and cultureDecentralized goals, integrated efforts, and a clear vision are crucial for the company to thrive. Also, you need leaders with innovator and pragmatist mindsets.

Leaders must create a collaborative work environment. Taking it upon them to bring people open to diversity and inclusion is more than relevant. After all, distributed teams tend to have talents with a wide range of backgrounds.

For this, the talent acquisition strategy deserves a do-over. To make this adaptation easier, there is the possibility of outsourcing the recruiting processWith the know-how of a company specialized in building and scaling distributed teams, it gets much easier.

You need to scout the best candidates, with soft and hard skills needed – and, of course, the right mindset. Distributed work is not for everyone. Some people would rather not do their tasks remotely.

  • The onboarding of new employees is an important part of it. This is not only preparing all the paperwork. Think also how your company’s daily routines and processes are.
  • This is when back-office support is one of the foundations of any work from distance. Your HR needs to be ready for remote collaboration – and all administrative processes must adapt too.

New call-to-action
You can also guarantee that employees have the equipment they need to work. Hardware, communication gear, and a good internet connection. Some companies offer spending money so new hires can get their workspace into shape.

There are many details to look for, right? But we can assure you it’s worth a try.

What is the right mindset for remote work?

Like we said before, distributed work is a mindset for your entire company. That said, you’ll need to know all about this mentality so you can focus on how to prepare your people to go beyond remote work. Here is everything that you need to know:

1. The remote worker is focused

When talking about a placeless mindset, it is important to point out that it’s all about focus. There are many distractions when working from home. The remote worker needs to be extra careful to avoid them. If this professional isn’t disciplined, it will be difficult to perform.

2. Time management skills are essential

The digital office lacks the physical presence of managers. It’s up to the worker to start and finish their tasks at the right time. That said, we are not talking about only showing up to work at the right hour. It is crucial that the employee knows how much time every task takes. Otherwise, they won’t finish all, affecting the whole team’s productivity

3. Communication skills are the heart of remote working

Since your distributed team is far away from each other, communication has a slightly different dynamic. For instance, body language won’t be there to help. Because of this, transparency is crucial for every remote worker. Without it, other members and managers won’t know everything that is going on and that is a serious problem.

How to streamline your distributed work processes

Since a distributed work process has many challenges. One of the most important things that you should watch out for is how to streamline it. There are many ways to do it – and we have a few tried and tested tips:

1. Always look for new tools

Sure, you’ll have a tech stack that your distributed team will use to work every day. That said, the playbook never says that you should only stick to them – that could be a fatal mistake. The market is always coming up with new tools.

But watch out: with the abundance of collaboration tools and other communication apps, pick only a few. Too many options may confuse your team and they need to communicate properly for this to work.

Oh, and there is an important thing that you should bear in mind. Some of these new tools can be free or freemium, allowing your company to save money. Since some software licenses can be expensive, this can make a huge difference.

2. Get ready to reassess your processes

This may be a hard pill to swallow, but are your company’s processes effective? It is vital that you always make this question for yourself. This will allow you to look for more efficient solutions. In turn, improving everyone’s performances.

How can you do it? By listing every process that your team needs to follow while working. With a step-by-step walkthrough, you’ll be able to see what is working or not. Even find out if there are unnecessary steps along the way.

In addition, it is vital that this reassessment of processes are made with the help of your team. Hear their opinions. Make adaptations that will allow you to make every goal easier to achieve.

3. Focus on having as fewer meetings as possible

Since communication is essential for any professional relationship to thrive, you should think about how you’ll do it with your team. One of the most important parts of it is the meetings – and they need to be effective.

Have you ever gone to a meeting and thought about how the topic debated could be done by simply sending an e-mail? This frustration is something that should never happen. After all, this interrupts the employee’s workflow, impacting productivity levels.

To sum up, it is vital that you focus on having fewer meetings as possible. If every member of your staff has to stop their activities to talk, make sure it is for an important reason. If chat or e-mail can solve the issue, it is the best option.

4. Always determine responsibilities

With great power comes great responsibility. Well, Uncle Ben would want Spider-Man to know the importance of knowing which activities are his. We spoke earlier about the importance of reassessing processes. This is a complementary part of it.

And why is it so? By defining responsibilities, it will be easier to see if a task assigned to more than one person – or to no one. This can optimize the team’s planning. You might even be able to add activities that weren’t foreseen. And, of course, allows you to focus on the results.

5. Transparency is essential

Furthermore, another important way to streamline your process is always being transparent with your team. And, of course, it needs to be reciprocal. By knowing everything that is going on, it will be easier to course-correct if needed.

When people are working from different locations, they aren’t around to see how the process is going. This is why transparency is essential for a streamlined distributed team. Without it, no one can know for sure if people are working – well, only when the results start to appear. Or should I say the lack of them?

How to pick the right tech stack for distributed teams

One of the most important things about remote work is the tech stack. Choosing the right set of tools for your distributed development team influences:

  • the viability of the project
  • functionality
  • scalability
  • competitiveness

But how can you know which are the right frameworks, programming languages, libraries, development tools, and programming approaches? Here is everything that you need to know to pick the right tech stack for your distributed team:

1. Know your project requirements

The first step is knowing your project’s requirements. How? By analyzing the purpose and size of it, you’ll be able to determine what technologies you will need. And yes, the tech stack will need to be larger and more complex as the project’s scope gets more complex.

Small projects such as MVPs or single-page applications are a match made in heaven for Node.js-React and Python-Django. After all, they are notorious and easier to use.

And what is the best tech stack for medium-sized projects such as online stores or mid-market operations? You’ll need stacks with more layers, frameworks, and programming languages.

But how about large projects like complex marketplaces and enterprise applications? Focus on stacks with an even wider range of programming languages and frameworks. They are set to endure larger data traffic without compromising performance and integrity.

2. Watch the market to know which are the best tools for the moment

You’ll need a vast knowledge of the technical and architectural parts of software development to know which stack is the best one for your team. This will allow you to consider the benefits and weak spots of every tool.

One important tip is to focus on technologies that you are already familiar with and can rely on. Even though new ones are attractive, they are often too raw or experienced developers still don’t use them. The time your team will need to learn how to use them can affect their performance.

This doesn’t mean that you need to stick to the same old software and approaches. They may prove to be less effective and outdated, so there is a real chance of the project having a few setbacks.

So what is the middle ground here? Check the market to know which tools are the most used and promising ones. This will allow you to know when it is best to eventually change which ones you use at the right time.

3. Scalability is vital for any tech stack

One thing that you can’t forget is the importance of scalability. It allows you to develop your project even further and lets your application thrive. After all, the goal is to have an increasing number of users and the tech stack needs to be able to cope with it.

Moreover, there are two types of scalability that you should know of.

  1. Horizontal scalability is all about working with various devices and with a growing number of users.
  2. Vertical scalability allows you to add new features and elements to your app.

When you think about having good scalability, choose programming languages with a wide range of libraries and structures. They allow you to have more resources – and this is vital for scaling products.

4. It needs to make maintainability easier

But scalability isn’t the only important part of it. Bear in mind that the maintainability of your application can be done without any extra efforts. Your project will inevitably need maintenance to thrive. Making this process easier is crucial.

Your tech stack will need tools with an architecture that is mobile, scalable, and reusable.

  • The codebase can’t be too lengthy. Otherwise, it will take more time for systems to process their code.
  • The codebase can’t be too concise, to avoid errors during debugging.

5. Don’t forget about security

User data is one of the most treasured things nowadays – and you need to ensure that they are safe. Data leaks can be a real nuisance for your clients and, per consequence, your company.

When choosing the tools that will be part of your tech stack, it is crucial that you choose the ones that can provide a high level of security. Do your research before defining this so you won’t be caught off guard.

How to adapt your tech stack to remote work?

Still talking about tech stacks? Well, there is a very important detail about this subject that we can’t ignore. How to adapt them from a co-located team to remote work?

Following all the tips from the previous topic isn’t the only step.

  1. Firstly, you’ll need to audit your tech stack. By knowing which tools are essential and if any of them are surplus. Analyze the results and also see what your team thinks about them. Knowing the landscape of your tech stack is crucial.
  2. With this, you’ll be able to have a feasibility matrix and analyze which ones are fit are the most important ones. Also, you’ll know which ones make sense to be used by a remote team – and calculate the ROI.
  3. And what is the final step? After analyzing these stats and figures, you’ll be able to remove any tools that aren’t really useful for your project. For instance, SaaS solutions that are weighing on your budget.

Since tech stacks are known for always adapting to new realities, it is crucial to do this not only when moving on from co-located teams. Always check on which tools can be added or removed – it will make a huge difference to your team.

How much does it cost to set up a fully-distributed engineering team?

Well, it’s time to talk about costs, right? When corporations started to use distributed teams, their main goal was to save money. with talented professionals. It worked, with some companies even spending 90% less with overseas developers.

Also, it allows you to access a vast pool of talented individuals all around the globe. Moreover, there are more highly-quality workers that you couldn’t find on the local market. Thus allowing positions to fill faster. So yeah, a win-win situation.

And how to pay your remote workers? There are companies who choose to pay competitive rates. No matter where their employees are.

It may be a challenge to build a distributed team while basing their salaries on expensive markets. Regions such as Latin America tend to be a great solution.

With many companies using the Bring Your Own Device (BYOD) approach, 67% of the remote workers use their personal devices at workIn additionBuffer’s State of Remote Report study pointed out that only 20% of distributed teams had help from their employers to pay for internet usage.

But how about let’s talk about service rates? By hiring oversea tech workers, you can save up to 50% on their average service rates. To hire LatAm tech talents you can pay an average service rate from US$ 20 to 30 per hour. So you’ll be paying much less for the services of talented professionals from the second-fastest growing technology market.

How to manage distributed employees?

Distributed teams offer many benefits that we wrote about in the previous sections of this articleHowever, managing distributed employees can be a difficult task if not done properly. Knowing this, we decided to share this list of hacks that we use in Ubiminds:

1. Have a structured meeting schedule

Your distributed team may not be working in the same physical location. Still, emulate some of the traits of a co-located office in order for them to succeed in their work-related activities. And that includes holding meetings.

Since no one will be working close to each other, they won’t be able to walk to the co-worker’s table when they need to talk. This can be done via communication apps, but what if they don’t?

With the needs of your employees in mind, focus on how regular meetings can improve their everyday routinesMaybe start the week by planning all their activities and reviewing them in the end.

Furthermore, it is vital to have an agenda and set all the goals of the meeting. After all, wasting time is terrible for productivity!

2. Choose the right software

And how can the management of distributed teams work with all this distance? Well, it is essential to choose wisely the communication channels that you will use. Also, it needs to be multi-channel.

And when we talk about thinking about many channels, it is because many devices can be used as work equipment. Laptops, tablets, smartphones, desktops, and even smartwatches. Choose tools that are compatible with more than one piece of equipment.

Moreover, there is a wide array of software that you can use. Video meeting apps, collaboration software tools, virtual desktops, and even screen sharing software. They can all improve the communication of distributed team members. This has a massive impact on their productivity.

Oh, and e-mail may be an important way to contact your colleagues – but don’t rely on it. For important/urgent topics, redundancy is key. You should also send messages to them on other platforms if something is urgent.

3. Make it a result-driven team

You and your employees won’t be in the same location, so how can you know how they are performing? If you focus on instant availability or hours spent connected, it won’t be the best way to access their performances.

A better solution is to make your team result-driven. This approach allows the results to speak for themselves – and this is great. By giving them flexibility, everyone will trust more in each other. This is important for the team’s morale and satisfaction.

Since communication for remote workers has a different dynamic than when they are co-located, don’t rely on traits such as body language. Speak clearly to avoid undesired misinterpretations.

Also, set realistic tasks and deadlines. To do so, they should be measurable – and to do so, you need to set clear KPIs (Key Performance Indicator). These metrics will allow you to know what has to be done in a precise and timely way and are vital to focus on any results.

4. Have an efficient onboarding process

Any type of work needs an efficient onboarding process to thrive. – and distributed teams aren’t different. When a new employee arrives, they need to learn about the company’s culture and processes as soon as possible. It’s the best way to ramp up their performances.

So yeah, a well-structured onboarding is a stepping stone of this process. You need to explain in detail:

  • products
  • value proposition
  • routines
  • other details that will impact this employee.

Yes, you can use meetings. Produce content such as videos, podcasts, and articles to make this onboarding process more efficient. Also, you can assign a mentor to help the new member start his trajectory in your company.

5. Establish the time boundaries of your distributed team

As we said earlier, it is essential that you communicate well with your distributed staff. That said, you should check them regularly to know how their activities are going. If someone is having difficulties, you’ll know – and will be able to help.

But there are a few rules that you should follow. Establish time boundaries so they can have a work-life balance. All work and no play make Jack a dull boy and it is best that no one becomes a Stephen King character, right?

By establishing when your employees will be working and when will he be resting, they will be able to be more relaxed. This is a very important thing! This may be challenging when they are from different time zones. Consider all the member’s availability when setting meetings.

ARE YOU READY FOR DISTRIBUTED WORK? TAKE A FREE ASSESSMENT QUIZ!

6. Hire the right talent

Of course, the key to having a high performing distributed team is hiring the right people. Remote workers need to be focused and have a high level of self-discipline. This is not something that everyone has.

When recruiting, watch if the candidate has any experience as a remote worker or freelancer. These are good signs that this person will be fit for the position.

But you should bear in mind that it is not the only thing to consider. Analyze the candidate’s hard skills and soft skills to see if they fit the spot. Also, your future employee needs to understand the company’s culture and products.

Key challenges distributed teams face (and how to overcome them)

What are the most common tests to the flexibility, scalability and ability of your distributed team? Here are the key ones:

How to keep a distributed team connected?

Like we said earlier, communication for remote teams can be a hard task. Since there are many communication platforms, it solves the problem.

But how does it work in the real world? Without communication processes, this wide range of apps will be useless. So yes, you need a team with focus on transparency and with a feedback culture.

How to improve the productivity of a distributed team?

Since distributed teams have a different approach than co-located ones, their productivity rates aren’t the same. With many remote workers choosing to work from home, it may be harder for some to maintain focus.

How to guarantee that their productivity will be good? One important process is setting a few hours of their timetables that they can focus on a few activities without being bothered. Dose meetings so they don’t take over!

How to manage remote workers from different time zones?

Because distributed teams are made of people from many different places, there is a real possibility of divergent time zones. And this may be a real challenge to set up meetings and other tasks that demand communication.

Having said that, it’s not that difficult to solve this problem. Every appointment needs to consider the covered time zones. You can use calendar softwares such as Google Agenda to know when every team member is busy. This will make it even easier to set up meetings.

How to deal with socio-cultural differences in distributed teams?

The lack of a physical space where your team can work from allows you to have collaborators from any location. With diversity bringing new perspectives, it can be great for problem-solving.

With people from different regions and even countries, socio-cultural differences will be something that everyone will have to deal withWithout good management, miscommunication and conflicts may surface – and you don’t want this.

How to overcome this? You and your team need to choose a common language to help the communication flow – probably English. Also, it is crucial to encourage everyone to bond and understand each other. A culture of respect is what makes us move forward.

How to ramp up distributed teams?

If you are thinking of going distributed, one of your main concerns must be on how to ramp up remote teams. Right? Well, it all begins with choosing the right talents to be a part of your staff.

As we said before, communication can be more difficult in distance. That also applies to job interviews. You’ll need to pay more attention to find out all the technical skills, soft skills, personality and, of course, communication and collaboration skills.

Writing and reporting skills are crucial. Your team will need to know how to express themselves. Also, it is important to know how this candidate’s workplace and every technical aspects such as equipment and internet connection.

These factors are useful to chose who you hire. Need help to hire people for your team? You can always outsource the recruitment process. Ubiminds is a talent powerhouse that can deliver you high-qualified and scalable distributed tech teams.

+ Ubiminds

The Ultimate Guide to Distributed Teams for Software Development: how to manage and scale

What is your opinion on co-located work? For many tech companies, it’s becoming a distant memory. After all, they discovered the wonders of remote work decades ago. For those who build digital products, Distributed Teams are the way to go. Distributed teams are becoming the norm. They (a) reduce costs, and (b) give access to […]

Read More

Pros and Cons of nearshoring software development: everything you need to know before deciding for or against staff augmentation

Scaling your IT team without losing efficiency and productivity during the process is a hard challenge to equalize. Considering the high salary of a good developer in the USA, and the time it takes to find this guy, it’s almost impossible to hire great talents with affordable prices. But there is a practical solution called […]

Read More

Moving forward: how Directors of Product and Engineering, CPOs, CTOs, and CIOs decide on career changes

It might seem that career changes for IT professionals are easier. After all, these become sought-after professionals very early on. However, when it comes to higher levels of the organizational chart, decisions on switching positions become much more critical to professionals and companies. We interviewed Aunt Bertha‘s Senior Director of Engineering, Tommy Morgan, to understand what drives moves. A seasoned […]

Read More
Ubiminds © 2020. All rights reserved.
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram