Remote development team
Working with a remote development team
It can be hard to hire suitable developers in the same city or country of your office. Quality specialists in the Netherlands and other Western European countries are hard to get and expensive. The COVID-19 didn’t change the situation radically. The demand for ICT specialists is still present, especially for the developers and other tech specialists with professional experience and unique skills and knowledge.
Also, the circumstances in which we work have drastically changed. A lot of employees nowadays are working remotely and planning to keep it so. As it’s not in our power to change the situation, it’s time to adapt and make the most out of it. The companies already got used to remote employees’ idea, why not hire skilful and experienced specialists from other countries to save costs by choosing a remote development team?
Why go for the remote development team?
In our opinion, there are two main reasons to switch to a remote development team model. First, because your in-house employees are currently working remotely in any case, and because hiring development teams from nearshore countries can provide many benefits to your business.
Specialists keep working remotely
This year all the world was forced to move to remote working. The experience has shown that most employees work from home the same productively or even more efficiently. Some companies, including the major international companies, are planning to stick to this way of work even after the crisis outbreak.
As we begin to imagine a post-pandemic future, many would prefer to keep working in the home working set-up. Results of a US poll, conducted mid-crisis, suggest that 59% of remote workers would like to continue to work remotely as much as possible once restrictions on businesses and school closures are fully lifted.
According to the yearly “ State of Remote Work,” 98% of respondents said they would like to work remotely at least some of the time for the rest of their careers. This statistic remains unequivocal each year: remote workers almost unanimously want to continue to work remotely. This is notable data to have discovered; while remote work is sometimes portrayed as a trend, these results seem to infer that this way of working is here to stay. Also, it seems that once someone gets a taste of working remotely, they tend to recommend it: 97% told us they would recommend remote work to others.
It seems we can’t change that the majority of developers and other specialists will keep working remotely. The best solution would be to adjust our way of hiring and working and benefit from alternative solutions. One of the smart solutions is hiring a remote development team instead of an in-house team.
Remote development team benefits
There are a few undoubted advantages of hiring the remote development team:
Access to a wider pool of specialists
One of the main benefits of hiring remote specialists is access to the best employees. All companies want the most qualified specialists for their team, but not everybody is ready for new recruitment realities. Hire the highly-skilled remote developers that are not available in your region.
It is cost-efficient
Remote employees are mostly located in countries where the hourly wages are lower. It provides you with the opportunity to get the same quality services for a lower price. Besides, having teammates work remotely can help companies save money on office space and facilities. Working with nearshore remote colleagues can save recruitment and salary costs or reduce the spending on project development.
It improves the higher quality of your product
There are two reasons for such an improvement in our point of view. The first one is hiring a high-quality development team, which you can’t find in your area, or at least for that budget you have. Read more about the software development specialists’ shortage in our Whitepaper “A tight labour market in Dutch ICT.” The second reason that together with software developers, you can select specialists as project managers or product owners that will help your company improve the project’s workflow and provide continuous delivery. As a result, it enhances the speed and quality of the end web product.
The nearshore development team’s hiring makes it possible to scale up or scale down your team during the project’s duration. Also, any adjustments in the development process are easier when the team is working with Agile principles. This approach gives you more flexibility in project management and control. It improves both product quality and project timeframes, increases transparency and communication, and reduces overall risks.
How to hire remote developers?
As hiring a remote team sounds like a smart solution to you, you wonder what the best option to hire one is. There 2 main options available — collect your team by yourself from freelance developers, or use a company specialized in providing dedicated nearshore teams.
Hiring freelance software developers
Freelance developers and programmers are self-employed, which means that they work for themselves on a contractual basis.
Today the process of finding and hiring freelancers has become more quick and painless. With the rise of platforms that help find and hire workers online, business owners can simplify the entire hiring lifecycle, from posting job offers to selecting and working with the best-fit developers. Companies can also track their freelancer’s performance and choose a convenient payment model (hourly rate or fixed price) depending on the scope of work they need.
The cooperation with a freelance developer provides a high level of flexibility — you can end it at any time convenient for you and find a new freelancer without dealing with paperwork.
There are a few examples of popular platforms to hire freelance developers.
Toptal is an exclusive network of top freelance software developers, designers, finance experts, product managers, and project managers worldwide.
Upwork, formerly Elance-oDesk, is a global freelancing platform where businesses or individuals connect to conduct business. Upwork quickly generates a shortlist of qualified experts in multiple disciplines from around the globe with their proprietary AI matching technology. With each shortlisted software engineer candidate, you’ll be able to review detailed profiles, portfolios, and client reviews and ratings so you can find the perfect match for your project.
Fiverr joins the list of platforms that make freelancing a lot easier for both the freelancer and the client. Through their portal, over 50 million transactions between businesses and contracted freelancers occur monthly. There, you can find thousands of IT specialists who have the credentials to complete your job. Whether you’re looking to hire a short term developer or an expert to grow within your team, Fiverr is a good place to look.
While it seems a good solution for hiring individual developers, it can be not the best choice for hiring the team. The process of choosing each member of the team, conducting interviews, checking his/her competencies, and making all the members work smoothly together can cost a great deal of your time and energy. That’s where the second option can be more suitable.
Working with a specialized company providing dedicated nearshore teams
A dedicated development team is a team of software developers and engineers, and can also be Project Managers, DevOps support members, QA specialists, UX UI designers, and other necessary members that are put together to work exclusively on the client’s project.
How to choose the right company to hire a team
First of all, gather your requirements for the nearshore development team. What you need and what you expect. Expectations can be not only technology-related. It can include parameters like price rate, country, time-zone, language proficiency, etc.
There are plenty of resources where you can find software development companies that provide dedicated nearshore teams.
The easiest way to find them is the Google Search results. Both paid and organic results can be a good option. Carefully read a preview of the page. Often you can already differentiate potentially interesting companies based on the provided information. From the short description, you can get information as is it a local company or an outsourcing party, on which principles the company works, and sometimes also the estimated price rates.
Another option is to check the online listings. The most popular of them is Clutch and OnlineSuccess. You can range the search results regarding location, minimal project size, average hourly rate, industry focus, and more.
The third option is to ask for references from your clients, partners, colleagues, and friends. In this case, you are getting an immediate review from the people you trust. But keep in mind that their goals and requirements to the development team can be different from yours.
Emails and messages
Look into your inbox; maybe some companies have already contacted you with a cold email or a message on social media.
What to pay attention to and what to consider while choosing a company for hiring a dedicated development team read in our article “ How to choose a software development company.”
Characteristics of a great development team
You want to work with a great development team. Some professional and personal qualities developers and the team already perform before being dedicated to your project, some qualities you will nurture together during your collaboration. Let’s have a look at those 9 characteristics.
Obviously, the development team should have excellent programming skills. The team members should have a certain level of proficiency in related technologies.
Also, Great development teams understand the importance of innovation and spend time on it. The team members are good at keeping up with technology trends and know how to use that in a pragmatic way to improve their performance. They know it’s necessary to keep up with the rapidly changing environment.
Regular & Clear Communicators
We think that communication is the key to make any team function well. There are two types of communication that are crucial for dedicated nearshore teams: communication inside the team and communication with third parties (stakeholders).
Encouraging healthy communication in teams induces effective processes, tools, and solutions. The team should get together when it’s possible and work together. With the development of technology, working together is possible even without being actually in one location. Use the necessary tools like Slack, Whereby, Zoom, Google Hangouts, and so on.
Communication is the key to a successful partnership between parties. With its help, we are building our relationship, setting goals, reviewing the process, discussing new opportunities, choosing the best tools, and so much more. Mainly, the product owner is the main person that keeps communication with a dedicated team. Ensure the communication is regular (frequency depends on the needs) and clear (there are no secrets, opinions can be shared freely, and all the information is precise for the opponent). Don’t hide things and share accurate information from the start.
Commitment to the Goal
To set clear and achievable goals is critical for any team. Before making long and short-term plans and giving the team tasks, ensure that everyone knows what they are aiming for at the end of the project. The team should believe in what they do, and it’s your responsibility as a business owner or a product owner or other responsible person from the business side, to get the team inspired. That’s how you build a software development team you can rely on and an effective team about which you’re confident.
Clear roles & responsibilities
To function correctly, the team needs to know all the aspects of the process, their duties, and responsibilities. It’s key to building a healthy team.
The team members should also understand how their roles and responsibilities related to the goals of the project.
Everyone on your team has to be committed. Ensuring that all team members share in rewards for success is another key in a good team. It gives the team members a sense of responsibility and enjoyment of their work. Your team will feel a lot better about their work and work even harder for the goal.
A cross-functional and balanced team
A cross-functional team is a team that, as a whole, covers all the necessary skills to create the required digital product or complete the project.
Great Development Teams not only have a cross-functional composition but also really act cross-functional. The team is focused on delivering a releasable product each sprint as a team. That’s why everyone is doing their utmost to achieve the sprint goal.
The balance is the key. In bigger development teams, specialists should have diverse experience levels to make the work of specialists more exciting and, at the same time, decrease the costs for the company. Specialists of different specializations avoid the slowing down of the development process, as a lack of specialists in one technology may delay the rest of the team. In cross-functional teams, members are good at understanding how they can help each other and get help from the other team members.
Understanding the business logic of the digital product
Great Development Teams know their real customers. They create the product keeping the end-users in mind. Through the communication with the product owner or/and stakeholders, they truly understand the desires of the end-users and are therefore able to make the right (technical) decisions.
Things change during a project, especially during a technology project. But if you work with an Agile approach to software development, you can quickly adapt to change.
Try to minimize the impact the change has on the project and then handle it responsibly. The agile approach to software development accelerates project delivery speed, improves the digital product quality, reduces risks, increases customer satisfaction, assures delivery with the business objective, and decreases the IT costs. There is much more success chance when the team works with Agile frameworks.
Freedom & Flexibility
Each team member should be free to find solutions for emerging problems or tasks on his own and/or have the opportunity to advise the whole team’s decisions. In a great team, team members can choose the tools and technology stack they are working with. When they are goal-oriented and inspired, they try to come to the best possible solution. Having product managers not be too rigid in their specifications also delivers better code and makes for happier developers. A certain degree of freedom for developers to experiment helps them to build their internal process and culture.
Great Development Teams also have the flexibility in planning their work schedule. Human beings can’t stay productive all day long. They need time to relax, have a chat at the coffee machine, or play some ping pong. All people need some slack to be innovative and creative. By doing so, they ensure high motivation and with this maximum productivity when it’s specifically needed.
A strong culture
A strong culture is another common characteristic of great teams. They bind closer together, and it makes them more effective as a group. It also makes coming to work more fun and boosts morale as a result.
Great team culture is not something you can force. It’s more the natural result of the all described above characteristics; it develops over time in the right environment.
How to manage your remote development team
It can be hard to switch the mindset and start to work with the development team that is not present in your office. We have prepared the best practices and tips for successfully managing your remote development team.
There are 4 main aspects where you should concentrate your attention on. The first and the main one, from our expertise, is communication.
Communication is the key to a successful partnership between parties. Via communication, we are building our relationship, setting goals, reviewing the process, discussing new opportunities, choosing the best tools, and so much more. Even me, writing this article is communicating with you, reading this article.
In the case of managing remote teams, you need to switch from face-to-face to online communication. Luckily, there are a lot of tools for online communication. Various tools are covering different communication needs. The requirements depend on the communication level. We can separate communication on 2 levels. There is no official terminology for it, so we will name them instant and structured.
Instant communication represents disorderly communication, mostly not united by a specific topic, and that mainly consists of short messages.
Tools: The best examples of tools used on this level is Slack, email, Skype chat, and so on.
We mostly use Slack for instant communication as you can easily find the person you need to communicate to, add necessary files, or even make a reminder. It is also possible to create groups united by topic or project to chat with a group of people related to it.
On this level of communication, the contact is defined by the purpose. This level of communication covers the topic in a more structured way. It’s used for daily stand-ups, short and long-term planning, and retrospective meetings.
For building an efficient team, it’s essential to create a feeling of belonging. That’s why we recommend using video as an addition to audio in online communication. Using video in calls/conferences creates a more robust connection as it covers 3 types of communication: verbal, nonverbal, and visual. By utilizing all three types of communication, a speaker ensures they have the necessary attributes to avoid miscommunication and misconceptions.
The retrospective meeting makes the most sense as each team member’s progress, issues, personal opinion, and feelings can be discussed. It makes it necessary to see other team members’ emotions and make sure you were understood correctly.
Tools: The most popular tools for team video meetings are Whereby, Zoom, Google Hangouts, Skype for Business.
You can go even further with creating an atmosphere of physical presence by using an extra screen/display with streaming your remote team; it gives a feeling that you are working side by side. Companies that use video conferencing can help their remote employees feel more involved by giving them a chance to see their coworkers and engage with them. If there’s room for an additional screen, one can display the remote participants while the other can be dedicated to shared content. This is particularly helpful in larger spaces, so people furthest from the screens can easily see the shared content. The screen sharing feature enables you to show your content without the hassle of emails and uploads. It is a real time-saver; it also gives you the ability to gain instant feedback and make changes on the spot. Video conferences and extra screens empower employees to innovate, collaborate, and achieve great things together.
Also, we have noticed that some clients are used to working with the whiteboard. There are tools that can stimulate whiteboard online. We mostly use Miro. Whiteboard is a handy tool for planning, brainstorming, and retrospective meetings. It is not just productive, but also a fun way of doing things. We are using this tool when we prefer the meeting to be more engaging. We open the Whiteboard and start creating things together as a team.
When you work with the remote team and not with the individual developer, try to direct your communication to the whole team. It helps all the members of the team be valued and updated about changes. It also excludes the possibility of duplicating work and gives equal importance to each member of the team.
The importance of the Product Owner role
The second aspect we would like to pay attention to is the importance of the Product Owner role. In Scrum methodology, a Product Owner is a person on the client-side responsible for gaining all the stakeholders’ requirements and providing them to the development team. He or she is reliable, decisive, and is the primary contact person for the dedicated development team.
A Product Owner should take his role seriously. He should dedicate enough time to it. The result of the digital product largely depends on his work. The responsibilities of a Product Owner include:
- Define goals and create a vision for development projects
- To describe the issues in the backlog (development team’s project to-do list)from the user’s perspective and manage them
- Determine the order and prioritize tasks
- Evaluate product progress at each cycle
- Understand and forecast the client’s needs with customer journey mapping
- Being the first interaction person on the client-side
- Participate in the sprint retrospective meetings and answer all questions the team has
The process, roles, and technologies for managing the project
We have already talked about some tools which help to improve communication. But what are the tools for successfully planning, observing, and managing the project? And who defines how the processes in the project look like? To answer these questions, let’s first consider what type of companies work with remote teams.
Generally, there are three most common scenarios of companies who are getting remote teams. Of course, there are much more cases and more complicated structures, but in a simplified way, they can be referred to one of those 3:
- Companies that already have an in-house development team(s) and planning to extend it.
- Companies that already have an in-house development team(s) and planning to build a separate one (for different projects or different parts of the project).
- Companies that are starting a completely new project and don’t have an in-house development team.
When we start working with companies 1 and 2, we first check the existing workflow and setup. If we see the potential for improvement, we will recommend how to enhance the process. We suggest Product Owners think about the team’s expectations about the planned workflow and the proposed changes to avoid misunderstandings. It is also good to be open-minded and listen to the advice of the experienced Scrum master for the improvement and decide if the proposed solution fits the setup.
For companies 3, we are building a new setup regarding the project’s requirements. We are educating the client and provide possible options. The task of the Project Owner in this situation is to listen carefully, discuss with the other members of the company board, and to choose the best fitting solution.
In most cases, we recommend using the Agile approach to software development.
In Agile product development, a sprint is a set period during which specific work has to be completed and made ready for review. The duration of a sprint is determined by a Scrum master. Each project is individual, so we would recommend hiring one to define and introduce the process in addition to your development team. Also, a Scrum Master takes care that each team member knows and understands the given tasks and makes sure the product meets the requirements.
There are plenty of tools for managing the process of development. The one we recommend is Jira. JIRA is a tool for the whole team. A Project Owner provides requirements. As a result of gained requirements, tickets are created. The primary responsibility of the Scrum Master is to define process fitting to the project and the team, monitor if everything in the process works as planned and, if needed, propose changes/adjustments to the process. Developers get from the system information about requirements/tickets, update their tickets’ status, and give their feedback. They can do all of these in one tool.
Why exactly Jira from the whole diversity?
- It can be used for your processes without limiting it, or you can even create a unique workflow
- Enables to see what is happening in the sprint and the progress of the backlog
- It’s easy to plan the road map, not just a backlog, but also on a higher level
- Easy planning and prioritizing of the tasks
- Integration with Confluence helps to hold all the documentation (from notes to product specifications) in one place.
You are free to choose any other tool for managing your project as long as it fits your requirements. From our experience, Jira is a great tool, so it’s worth trying if you haven’t done it yet.
It’s time to summarize and highlight the most critical practices for managing your remote team.
- Don’t underestimate the importance of communication; Use both instant and structured communications for different needs and include all members of the team in touch.
- Second, as a Product Owner, invest enough time and energy for your responsibilities. Try to get the most detailed information about the requirements for the digital product and features, and be there for the team when questions evoke or assistance is needed. Or, if you are the owner or CEO of the company, delegate the responsibilities of the Product Owner to the trustworthy person who is decisive and user-oriented.
- Get your technology in place. Planning, tracking, releasing, and reporting can be done in one tool. We recommend this tool to be Jira. Hire a Scrum Master in addition to the development team for the smooth process of development.
Is it your time of remote hiring?
Remote teams are an excellent option to help you scale on demand in the event of staff shortages. Rather than waiting for the right developer to pop out of nowhere on a local market, there is a nearshoring option to consider before wasting too much time, money, and nerves on the recruiting process. Amsterdam Standard is the company with significant experience in nearshoring. With headquarters in Amsterdam and a talented team of developers in Poland, we are ready to get your challenging project on board. We are the team you can rely on, — proved by the many Dutch companies in a long-term partnership with Amsterdam Standard.
Does this sound interesting? Then just get in contact with us and let’s discuss your needs. We are here to think with you and explore the opportunity of having a remote team. Changing your organization like this is a strategic long-term decision. We are always transparent about the pros and cons of this service. And we kindly invite you to visit our offices before you make a decision. We are real people that make really good software. We are here for the long term and we never rush an onboarding process. Many companies already made this decision before you and of course, we have many references available to you when you are interested.
Originally published at https://amsterdamstandard.com.