The different models of outsourcing each have their pros and cons. To help you decide which model is right for your software development or design project, we’ll take a close look at three of them—staff augmentation, dedicated teams and hybrid teams—and explain when you might want to choose each one.
When leveraging external developer talents, you can choose three cooperation strategies:
- hire a dedicated team from a specialist company
- hire one specialist from a staff augmentation provider to join your local team (or remote team)
- a hybrid of these two.
These outsourcing models usually differ in terms of the type of final product, the type of contract between the two parties, and the scope of responsibility each party is assigned.
A dedicated team
In the dedicated team model, the outsourcing team works closely with the client in the role of product owner or project manager. You might also contribute your own analyst or other administrator.
Even so, the outsourcing service takes all of the risks in workflow, performance, and results. The service has the talent pool and covers all of the necessary training costs and overheads. You, the client, merely pay a fee for the entire project, though project outsourcing services may provide ongoing support services for the final product. This could be a significant benefit when it comes to software development.
The client usually expects the service provider to:
- properly understand the objectives and context of the project
- estimate the amount of labor required
- choose how many and which employees will be on the team according to competence, and experience
- build the necessary architecture
- organize the start date for each of the project’s tasks, and
- properly organize everything needed for the entire process, including work environment, tools, software, practices and procedures, and infrastructure for development and testing.
All of this provides the client with full access to and control of the entire process—the tools, the procedures, and the staff. The client can reasonably expect the team to work efficiently, and to have a measure of control over the team members if efficiency standards are not met. This is possible by billing the client based not on hours worked but on how many of the product’s Story Points and other project deliverables are achieved.
A dedicated team addresses an obvious limitation of outsourcing—the lack of individual leadership and a sense of unity. It provides you with the ability to be the leader of your team as well as participate in the hiring process.
When should you hire a dedicated team?
- you do not have your own experienced production team
- you wouldn’t be able to manage the team’s work on a daily basis (other than building the backlog), but may need to update the project requirements
- you need a contract that minimizes how much risk you face from a rise in project costs, delays in implementing the final product, and low product quality
- your project is small and short-term, and you want it to be completed as soon as possible.
- you need a partner to organize the team’s work environment, tools, software, practices, and procedures.
The staff augmentation model: add to your in-house team with outside specialists
Rather than hiring a complete team from a specialist outsourcing company, you might prefer to bring in one or a few specialist tech professionals with particular skills to work with your own team. These specialists work alongside your employees, following the same rules and being bound by the same responsibilities. Choosing specialists with the necessary qualifications is the responsibility of the provider.
However, the service providers do so without knowing the full specifics of the project or what tasks the provided employee will be required to undertake. In many cases, the provider will present a number of options, each independently meeting the technical expertise requirements you set.
The provider does not bear responsibility for how the specialist works. Responsibility is even more limited when the specialist resigns, underperforms, or is absent. In such cases, the provider will send another specialist with similar competencies.
Among the benefits of the staff augmentation model is the opportunity to leverage existing resources in your in-house team. The project development process belongs entirely to you, so if necessary, you can easily make changes. Flexible team augmentation services may even be able to supply a different team member as needs change.
Service contracts in this case often include a clause allowing your company to directly hire the specialist once the contract period is over. This is a great way to add to your own talent pool with staff who you already know fit your company’s culture.
When should you choose the staff augmentation model?
Staff augmentation may be right for you if:
- you currently, but temporarily, lack employees with the skills your project requires
- you are looking for specialists with particular rare or high-level skills
- your design practices and procedures are well-established
- your employees will take on all of the necessary organization and project management tasks
- you have or can easily acquire all of the necessary tools, equipment, furnishings, and space.
In between having a dedicated but external design team, and bringing in small number of specialists, are two hybrid solutions.
- each role on the design team is filled both by one of your employees and by an external employee, or
- the roles on the team are clearly delineated between internal and external employees, and the proportion of in-house employees is no more than half.
It should come as no surprise that this is the model that affords both sides a great deal of control over the project—the client has more control than with outsourcing or a dedicated team, while the outsourcing service has more control than with staff augmentation.
When each team member has a colleague from the other company, close cooperation and clear communication are essential. The service provider knows the full details of the project—the context and the objectives. It can therefore assess the size of the team and make recommendations regarding personnel needed to complete the project. There may also be two project managers, not just one.
This approach can be implemented at different stages during the development cycle, but with careful planning.
This more common hybrid version might be used to leverage local tech talent or to deal with a local talent shortage.
To create this type of team, contracts between clients and service providers will clearly set out which company will fill which roles. Typically, this means developers, UX designers, and software architects are supplied by the service provider, and the client assigns the analysts and testers who are already on an existing in-house development team (or a remote development team).
Again, the provider knows the full details of the project, and calibrates its choice of members to the tasks involved given the competencies and experience of the team members. The provider may organize the work and provide the necessary infrastructure.
When should you choose a hybrid model?
Choose such a model if:
- you lack certain necessary competencies among your employees
- you need a “plug-and-play” addition to your team
- you also need advice on how to effectively organize the team’s work in terms of tools, practices, and procedures
- you are able to manage your project, make a production log and organize the team’s tasks.
When it comes to deciding how to proceed with your software development or design project, there really aren’t so many factors. Your choice will depend on who you have on an existing in-house team, whether you have the software developers you need, how prepared you are to take on additional project management, and so on. If you already have most of what the project requires in terms of personnel or physical resources, team augmentation will be the more cost-effective option. The fewer resources you have on hand for your project, the more that a dedicated team will be the better choice. Finally, the hybrid options in the middle allow for compromises, for when you have not quite enough resources or want more control over the project.