The flexibility and technical expertise that dedicated development team model offers is indeed remarkable. But how do you make sure that the software development dedicated team is truly dedicated, devoted, committed?
Well, it all starts with the hiring process.
Understand your project
At first, you have to understand clearly what are your project requirements and what people you need. This topic is so wide that it deserves a separate article. Not to bother you with something you already know, I will not tell more about it here. Yet, if you want to learn more about how to develop a strategic project plan and what people or development model you need, check our recent article on designing a project development strategy.
Look for development companies
The experience of our partners proves that these websites provide the most relevant, topical, and transparent information on software development companies from all around the world. Here, you can sort the agencies by service type, average hourly rate, location, number of reviews, rating, minimum project size, and industry focus. The databases of these web platforms are sufficient for you to choose the best outstaffing agency. Check the websites and LinkedIn pages of companies you find there, look for reviews online, select your favorites, and email them.
A lot of companies that offer outstaffing services leave the hiring and managing processes to you without offering any extra support. Such an approach may suit someone who knows exactly what and whom they need. If you are not 100% sure and you do not have anyone to consult you, you should look for a company that offers added support. You should be able to talk to a technical specialist if you have doubts about the project.
Assess the development team
Here goes the most important and complicated part. Why complicated? Because at this point you might need to tell someone “Sorry, I do not want to work with you because your expertise seems not enough”. Why important? Because at this point you make sure that the dedicated development team is indeed dedicated.
The best decision is to start with a small number of developers and to increase the number gradually after the first developers are onboarded. Also, it is advisable to seek a long-term relationship. It takes months for team members to become fully efficient. Hiring separate teams for one- or two-months long projects is less efficient than hiring one and the same team for all of them.
Step 1: Consider development capabilities
You have surely done some preliminary research on this point while looking for development companies. At this point, you should dive deeper into the services and solutions that the company offers. Is there a technology you prefer in their tech stack? Are they willing to suggest some time- and cost-efficient solutions? Will they be able to provide you with, for example, UI/IX design or DevOps services if you suddenly need some?
During this step, you should make sure that the dedicated software development team has versatile skills and expertise but does not disperse their focus over numerous technologies.
Step 2: Check the portfolio
Look through the projects that the company has developed. Usually, those are on their corporate website, but you can ask for information about more case studies via email. Are there a lot of them? Are there any major companies you are familiar with? Do the solutions seem successful? Is there a project similar to yours?
To understand if the development team can handle your project, you should make sure that they had experience creating solutions of the same scope in the same industry field.
Step 3: Contact former or current clients
If you see the name of a client in projects portfolio or in Clutch reviews, find them on LinkedIn and ask about their experience with the company. You can also ask the team to provide you with a list of clients. Talk to these people and ask them what was good about cooperating with the company, what could be improved, and how satisfactory the outcome was.
Peer reviews are the most honest and fair assessment of one’s service. If you talk to former clients of a software development company, you get a clear picture of what your cooperation may look like.
Step 4: Understand their image
Look at how long the company exists and how much it managed to achieve in these years. Does this company have a good name? Does it have devoted partners? What about its online presence? Does it participate in anything else besides development, such as social responsibility initiatives or community events?
It is good if the company has a clear mission, a story, and a corporate culture. While it does not affect their development performance, you will find communication with such a team to be much easier.
Step 5: Conduct initial screening and technical interviews
By talking to the team via a video communication platform, such as Skype or Hangouts, you can see if you can connect with these people. Are they communicative or extra shy? Do they understand what you say, what problems you have, and what solutions you expect? Is there a language barrier? Let your in-house team lead or HR manager talk to the offshore team, they will help you estimate their soft skills. After they pass the initial screening, invite them for an interview with technical specialists from your company. They will test the technical knowledge and skills of the team and conclude whether they are suitable for the role.
After you and your in-house team meet the potential partners, you can conclude if the cooperation promises to be smooth. Eventually, the most important thing is for the team to connect on a personal level.
Specify cooperation requirements
1. Scope of work
Scope of work is the set of fundamental cooperation requirements, which describes all the milestones, deliverables, and end products that the software development company is obliged to provide. Out of scope is another essential document, which describes the work that will certainly not be done in this project. It is important that both the client and service provider equally understand the scope of work and out of scope requirements. According to these two documents, the team can estimate deadlines and budget.
2. Payment system
In the case of outstaffing, Time-and-Material approach is the most common. Yet, you can negotiate with the development company and opt in favor of the Fixed Price approach. What is the estimated budget? What are the rates? How often will the payments be made and through which channels? Who is responsible for invoices and bills? All these questions need to be answered before the work on the project starts.
3. Legal liabilities
All the cooperation aspects you have negotiated should be declared in a legal agreement between you and a service provider. Aside from the contract, another important document is a Non-Disclosure Agreement (NDA). You should sign it before you elaborate on project details with the outstaffing company to prevent the breach of your intellectual property rights.
Talking about formalities beforehand will save you a lot of energy and nerves in the future.
Manage the dedicated development team
Once you have hired the offshore employees, you need to consider how to onboard and manage them.
Project management methodology
It is great if you have an in-house software engineer who will cooperate with the offshore team and monitor code quality. If you do not have a Project Manager, you can assign this very engineer to manage work on the project. In any case, the project should follow a certain methodology – Waterfall, Agile (Scrum, Kanban, Lean, XP), or a combination of any of those. If you are not sure, check our article on how to choose your optimal development methodology.
Project management tools
Task management and communication tools should also be well familiar to both in-house and dedicated development teams. You can hardly do without Trello and Jira, which will help you monitor and control the development process and timeline. To communicate effectively, we recommend using Slack, which is far more convenient than Skype of email.
Communication is the key, but only if it is effective. Miscommunication, in turn, may threaten the entire project. The most common communication threats are personal conflicts, language barrier, and different time zones.
To manage personal conflicts, you need an effective project manager, who will predict, address, and mitigate conflicts.
Language barrier is not a problem you can solve. You have no other option but to identify it during the initial screening interview.
Different time zones may turn into an actual communication problem. This risk is obvious and yet high unless you acknowledge and address it properly. To make your cooperation work across a few time zones, the only thing you need is to talk to your team. Discuss what time works best for you and them and hold daily meetings at the specified hour. If daily’s are organized properly, they will be just enough for your communication not to suffer.
For example, you are from New York, which is located in GMT-5 timezone. You find a dedicated development team for hire in Lviv, which is at GMT+2. When they come to work at 9 or 10 am, you must be still sleeping. Yet, when you come to work at 9 or 10 am, they must be still working as in Ukraine it will be 4 or 5 pm. So why don’t you agree to have a daily meeting at 10 am (GMT-5)? This way, they can report on what they did during the day and you can tell them what you expect them to be doing tomorrow.
To Wrap Up
An unsuccessful experience with outstaffing should not discourage you from hiring a dedicated development team. By contrast, there are a lot of success stories that should inspire you.
Almost all major tech companies engage in outstaffing. IBM, Microsoft, Facebook, Intel, Google – all these technology giants hire dedicated development teams for some minor or major development tasks. For instance, Facebook out staffed about 500 employees to deal with hate speech in Germany. When Skype was launched, back end development was delegated to a dedicated development team from Estonia.
In this article, I have listed major steps to take to make sure that your dedicated development team is indeed dedicated. If these do not work for you, maybe outstaffing is just not the model that you need. Most likely, there is a problem with communication or management, which you can solve by engaging in outsourcing.
Do you need a dedicated software development team?
Our professionals will gladly help you with your project! Learn more about why and how to hire a dedicated development team.