Cooperating with IT offshoring companies implies its own vocabulary. Most of the time, people feel overwhelmed by the number of offers and options to choose from. Potential contractors can propose to you all sorts of pricing models, technological approaches, and cooperation models. Your choices will determine how much the software will cost, how soon you’ll get the results, and how successful the final product will be.
Choosing the right cooperation model is the first decision for you to make. The model is the skeleton of your development project: it establishes the processes of developers’ work and the degree of each parties’ involvement.
Traditionally, cooperation models are divided into two major categories: outstaffing and outsourcing. Let’s elaborate on them before addressing the more advanced and modernized classification.
Outstaffing & outsourcing: the classical distinction
Outstaffing in software development is the practice of hiring individual specialists to do a specific scope of work. The practice implies that you have tasks that your staff cannot deal with internally. You “rent” their time and skills, and working with them is sometimes virtually the same as working with a remote employee. Since you’ll have an option not to provide full-time workload to them, the outstaffed employees might work in other projects apart from yours without your notice.
Outsourcing, in turn, is the practice of handing over the whole project. Let’s say your business needs a mobile application but has no developers onboard. What you can do is “order” an app: you can hire an IT company and describe your technical requirements for the app to them. As they undertake the job, they will be responsible for the implementation of the project as a whole. Often, you won’t even interact with the developers themselves; it will mostly be managers contacting you to ask for specifications and to report progress.
The distinction between outstaffing and outsourcing is valid yet somewhat superficial. Real-life customers may have complicated needs and requirements that cannot be met by either assigning tasks to an outside developer or entrusting entire project implementation to an outside team. That’s why it’s useful for customers seeking development services to consider the more advanced Staff Augmentation, dedicated team, and temp to hire models.
Staff augmentation, dedicated team, and temp to hire
1. Staff augmentation
“I’m looking for individual specialists to fill the missing competencies and get the job done.”
Even if you have an in-house development team, it still can lack the required expertise or simply can’t meet the deadlines. Naturally, if your business is growing, the number of untackled tasks is growing proportionally. The obvious solution is to hire more developers to join your team. This solution, however, is not always the most effective one.
The more effective solution may be to extend your team: to find an IT company that will lease the time of tech professionals.
- Add additional specialists to facilitate reaching time to market targets.
- Validate who might be the best fit for the team and define the uncertain scope of work.
- Solve urgent tasks to meet release deadlines.
- Avoid the inefficient in-house hiring process.
When do I need Staff augmentation?
- The outstaffed professionals can start working right away.
- You may rest assured that they are competent (after all, they already work for your contractor, so it’s almost like you hire someone, but the hiring process has been done for you).
- You and your team retain control over the development process (unlike in the dedicated team model).
- You can remove the outstaffed people from the team avoiding legal and corporate regulations.
Advantages of Staff augmentation
- It can be hard to measure the contribution of the outstaffed developers; you need to have an efficiency measurement system in place to tell whether they are truly helping your project the way you expected.
- If you have problems within your team (problems with processes, vision, or technologies), Staff Augmentation may not help your project.
- Staff Augmentation is best suited for organizations with an existing team that has well-established development processes and knowledge management.
Risks of Staff augmentation
Note on pricing
In Staff Augmentation, the customer and the contractor normally agree on a fixed regular payment as the scope of work for the outstaffed specialists is defined.
2. Dedicated team
“I am looking for a team of software, DevOps, and quality assurance (QA) engineers, project managers, UX/UI designers to cover all IT-related needs or bring my product idea to life.”
In the dedicated team model, you entrust your entire project to a development team. The team often consists of not only developers but also managers, so all the procedures regulating the development process happen on the contractor’s side. The contractor thus accepts vast responsibility for the final product and the efficiency of making it. The team in this model is called dedicated because it doesn’t simply provide separate technological solutions to you—instead, it aims for delivering full-featured IT products.
- Raised funds and need to quickly move to the next stage.
- Plan to reorganize the internal IT department to optimize costs and performance.
- Need a team with a specific expertise to develop new products for an existing business.
- Don’t have expertise in hiring and supervising big IT teams.
When do I need a dedicated team?
- Management is largely taken care of by the contractor.
- Established organizational and development processes: the team you choose to work with will likely have internal processes in place, so it will work more efficiently than a group of separately hired developers.
- No time limit: you can work with a dedicated team comfortably through product development, deployment, maintenance, growth, and further, as long as you need.
Advantages of a dedicated team
- Lack of control: as a customer, you often have little control over—and often even little insight into—what precisely the team is doing.
- Uncertainty: you may not be sure what the final product will be like unless you are thoroughly engaged in the development process or have specialists overseeing your dedicated team’s work.
- Requirements: the team will be planning its work based on your initial requirements, so it may lack flexibility if you decide to change those requirements.
Risks of a dedicated team
Note on pricing
Agree on a budget ceiling, i.e., a sum or a number of hours you don’t want your contractor to exceed. The team will be considering various solutions to meet your needs, and you want to be sure that it won’t cost you unexpectedly much.
3. Temp to hire
“Due to corporate and legal regulations I have to hire specialists directly. Yet, I’d like to minimize recruiting and onboarding risks and be sure that new people will 100% fit my team.”
In software development, the temp-to-hire arrangement means that the customer contacts an IT company and hires individuals for specific short-time jobs; the condition is that these individuals can later be employed full-time by the customer. This is a more advanced outstaffing model to meet specific customer needs.
- Legal restrictions and corporate rules prohibit offshore development.
- Governmental and corporate regulations make recruiting and onboarding of the new employees difficult and long.
- Want to safely extend the hiring geography and diversify company culture.
When do I need a Temp to hire?
- Largely same as those of Staff Augmentation.
- Continuity: you have the option to keep working with the same developers once the product starts to grow.
Advantages of the Temp to hire model
- Discontinuation: the temp you hire may at some point choose to step away from the project, so continuity in the development will be undermined.
- Lost opportunity: if the product doesn’t take off, your investment in the temp you were planning to onboard is lost.
Risks of the Temp to hire model
Note on pricing
You will be paying for the temp’s time and charged a management fee. To avoid misunderstandings, make sure the contractor explains to you what the management fee covers.
Regardless of the selected cooperation model, partnership is the format you as a customer are most interested in. Some contractors will propose to you pure outsourcing conditions: you hand the requirements to them, they establish the scope, and you get a certain product that is functional alright but not necessarily competitive in the market.
Partnership is when your team is not product-centered but customer-centered. They accept your perspective on the project and develop a product that solves end-customers’ pain. Trusted IT partners care about the product’s quality and future, too. For example, once the product starts to grow, your partner contractors will be there to scale it up properly. A partner team delivers more than minimum viability: they enable business prospects.
Transparency in cooperation models
Being transparent is one of the most characteristic signs of a contractor that can become a partner company for you. When you receive proposals from potential providers, consider this: do they explain why they suggest using one cooperation model or another? What is their justification? Do they show how your business will benefit from the model they propose?
A company that is partner material will explain to you what cooperation model they find the most fitting for your project and why. If you are unsure, ask them questions: good contractors do not hide their plans, processes, and calculations from the customers but instead share those enthusiastically. That’s how they can win your trust.
Cooperation models are ways in which you can involve software development companies in the development of products for you. If you have an in-house team of developers but need help with specific tasks, you can “rent” the time of a developer employed by an IT company (Staff Augmentation). The developer can also be a temp in this company, and you can work with them expecting that they will join your own company later (temp to hire). If you don’t have a team (or want another one), you can entrust an entire project to a group of developers and managers who will assume vast control over the development process (dedicated team). Each model has advantages and risks, so the decision must come from analysis of your business and your goals.
In any case, the best contractors are those you partner—not those you outsource development to. The most reliable contractors are the ones that will not merely propose a cooperation model but explain why it’s good for you.