How to Extend Your Development Team

Various sorts of team extension are gaining popularity year after year. The trend has shown especially intensive dynamics in the days of COVID lockdowns when remote workflows became the “new normal” for many companies.  Another factor that encourages companies to reconsider their in-house team compositions is the continuing development of communication technologies: video conferencing via Zoom is a sort of usual routine even for schoolchildren today. Software development teams got used to coordinating their workflows via project management tools such as Trello, Jira, and the like. The vast majority of developers are more than familiar with groupware software, cloud platforms, and online repositories for collaboration. Their physical presence in the office is not compulsory, therefore.  It seems the days of total in-house employment are becoming a thing of the past. At the same time, team augmentation isn’t as straightforward as many employers might think. Team extension can be carried out via outsourcing, outstaffing, and freelance workers in addition to traditional in-house employment. Certain differences between those types of staff augmentation do exist. What to choose to make no mistake?  The present post is aimed at making the issue clearer with an in-depth examination of each way of team extension.

What Are the Top Reasons to Extend Your Development Team?

Any software-driven business may face the challenge of scaling at any moment. Fintech providers, ecommerce retailers, IT holdings, FMCG companies, and any sort of integrators can easily appear in front of the lack of developers for either a certain one-time project or a continuous program of business development. Even in good pre-pandemic times, hiring skilled developers was a tough task for HR specs: professional programmers never come in bunches. Huge companies started to feel the shortage of engineers and therefore began to look into outsourcing locations such as Ukraine, where the talent market is still full of highly qualified developers at generally lower rates. When COVID lockdowns broke out, the situation on the labor market became even worse: no face-to-face interviews, no visiting employers’ offices, no understanding of when the pandemic would come to its end. Personnel famine started to affect even the tech giants that never faced a labor shortage in the past. Google, for instance, seemed to find an original approach to the problem. The company started implementing pay cuts for remote workers from the US to allegedly redistribute the salary budget among cheaper developers from non-American locations. Indeed, COVID has added fuel to the fierce competition in every domain.

work process

Besides the external factors driving employers toward staff augmentation, there is a set of purely internal aspects making the financial rationale for team extension quite clear. The following reasons reflect some general scenarios when hiring remote developers sounds pretty appealing:

  1. The Time & Material payment terms appear more favorable for the employer in the current circumstances. It means that the employer will pay for only a certain indicated period necessary to fulfill the task. If a developer indicates one hour needed to create a feature, no matter how much time the developer can spend to do this. In contrast, in-house specs will be paid completely for all their working hours spent in the office;
  2. An employer needs a specialist with certain specific skills to do a particular job. In the case of staff augmentation, a maximally appropriate person can be hired. The same scenario for in-house employment implies changing a “useless” employee for a “useful” one that entails a host of challenges in terms of both time-consuming fire-&-hire procedures and legal constraints;
  3. In the case of long-lasting projects carried out by in-house developers, such additional expenses as sick days, vacations, and bonuses all belong to the employer’s responsibility. The expenses go to zero when outsourcing/outstaffing providers come into play with their augmented staff;
  4. There is no ability to arrange additional workplaces. It may just seem that a new workplace implies just a computer, a furniture set, and a free space in the office. But the task is more complex: the related expenses include stationeries, in-office catering, additional internet bandwidth, equipment maintenance, office cleaning, power supply, and security. None of the above needs to be paid when augmented staff is hired;
  5. The project’s timeframe is quite tough implying overtime to appear. Overtime of in-house employees must be double-paid. Besides, the journey from the office to city suburbs at night, for instance, may require extraordinary efforts from employees. Augmented team members, in contrast, can fulfill the task while sitting at home with a cup of coffee: all that needs to do is just connect to the server.

As we see, various reasons for team extension always lead to extra expenses when full-time in-house staff is hired. Besides, some intractable organizational troubles can emerge in such a case. Hence, the relevance of staff augmentation seems to be not in doubt. It is time to figure out which type of extended team fits you best.

Ways to Hire Developers

Even though the great variety of individual prerequisites for team extension may exist, they all can be generalized to the following three models of staff augmentation:

  • Freelancing model. Freelancers are the best choice for projects with limited budgets. In addition to the lowest-in-class hourly rates, the ease of hiring along with broad availability is inherent in the freelance developers’ community;
  • Outsourcing model. If short-term cooperation for getting fast outcomes is your current objective, the outsourced teams can be an appropriate model. However, there is a risk that your project can overgrow the model sooner than the outsourced team works off the money paid by contractual obligations;
  • Outstaffing model. If either a long-lasting project or plans for continuous business development take place, outstaffing providers with their dedicated teams can offer the most relevant team extension model. Besides, the qualification of the outstaffing devs (and relating hourly rates, therefore) corresponds to the real skills in contrast to other models where juniors are oftentimes introduced as senior specialists.

HR managers have agreed to recognize four major methods of hiring developers: three of them belong to the above-mentioned staff augmentation and in-house employment goes as a traditional one. All methods have specific features worth taking into account when your team requires new members.

1. In-house development

This is the longest and the most expensive way to hire developers. The employer usually contacts professional headhunters and HR agencies to find appropriate full-time staff members. The necessary hiring procedures take a lot of time: reading CVs, conducting face-to-face interviews, checking skills with compulsory live coding, finalizing terms of employment (accommodation, hardware, benefits package, etc), and quite long onboarding – all of it adds costs to the process.

Pros of in-house employment:

  • both soft and hard skills of each candidate are checked and confirmed;
  • in-house developers are always within reach;
  • in-house team members usually share the values of their companies.

Cons of in-house employment:

  • the hiring process is long and expensive;
  • developers are paid with no regard to the actual value they bring to the company;
  • training and qualification of developers are carried out at the expense of the employer;
  • sick days, vacations, overtime are paid by the employer;
  • firing in-house developers can entail many legal issues;
  • hiring in-house devs for one-time projects is infeasible.

developers are working

2. Outstaffing

This is almost an ideal model for middle-sized and large companies that have long-lasting projects and seek continuous growth. Outstaffing providers are responsible for their dedicated teams in terms of all working conditions that are in the scope of the employers who hire in-house devs (workplaces, training, equipment, sick days, etc.). Outstaffing implies teams that are dedicated to a certain project/client by 100%: no parallel projects are allowed to proceed. No opportunity for “fake seniors” is available since deep skill validation is a must.

Pros of outstaffing:

  • team composition is flexible when only appropriate specs are engaged;
  • clients pay for the conducted work (per project, per hour, per feature, etc);
  • full dedication of every team member is guaranteed;
  • hard/soft skills and backgrounds of each developer are checked and confirmed;
  • no hidden costs/irrelevant expenses are available in outstaffing contracts;
  • developers remain available as long as a certain project/period needs them;

Cons of outstaffing

  • contracting requires a longer period than freelancers and outsourcing usually do;
  • outstaffing hourly rates can be higher than the ones offered by freelancers and outsourcers;
  • small-scale short-term projects are inappropriate for outstaffing;

3. Outsourcing

Outsourcing differs from outstaffing mainly by the degree of control from the client’s side: outsourcers are relatively independent and fulfill ordered projects on their own while dedicated teams go under the client’s management completely. Outsourcing providers can fit both small projects and large ones. At the same time, the lack of control makes outsourcers poorly appropriate for long-term complicated development programs having no limits in terms of business plans. Additionally, small- and medium-sized outsourcing companies often dedicate 1 or 2 senior developers to a project while the majority of tasks are completed by junior- or middle-level developers. As a result, the lack of qualification and work quality become a huge problem.

Pros of outsourcing

  • outsourcers are broadly available on the global market;
  • hourly rates can be lower than the ones usually offered by outstaffing providers;
  • outsourcers bear stronger legal responsibility in comparison with freelancers;
  • small-scale short-time projects are appropriate for outsourcing;

Cons of outsourcing

  • outsourcers do not provide clients with full control over teams;
  • team compositions are the matter of the outsourcers’ arbitrariness: clients have no opportunity to make sure that the introduced “seniors” are seniors indeed;
  • no full dedication of teams can be expected: running parallel projects is possible;
  • large long-lasting development programs under ever-changing market conditions are hardly appropriate for outsourced teams.

4. Freelancers

This is the cheapest and the fastest way of team extension. At the same time, the model-inherent drawbacks neutralize possible benefits oftentimes. Even though freelance jobs have received a certain boost during the lockdown, freelancers still have quite an inexplicit status in terms of legal issues. Being private entrepreneurs, freelancers have fewer expenses than companies, and dumping, therefore, is their common practice. Freelancers are lone nomads mostly, and it seems too difficult to form a well-coordinated team of 10-20 independent freelancers.

Pros of freelancers

  • the lowest hourly rates on the market;
  • the widest availability.

Cons of freelancers

  • poor legal responsibility against clients;
  • burdensome skills’ validation;
  • questionable capabilities to work in a well-coordinated team;
  • no full dedication: freelancers can leave the project for a more attractive one at any moment;
  • confidentiality risks in terms of losing commercial secrets;
  • long-term complicated projects are not about freelancers.
freelancing developer

Metaphorically speaking, in-house employment is your car, outsourcing is a taxi, outstaffing is carsharing, and freelancers are on-call drivers. Every employer should choose according to both the properties of the offered developers and the requirements of every particular project. The following questions can facilitate the process of team extension as we believe.

Questions To Ask Yourself To Determine the Best Type of Hiring

Even though projects can vary significantly, a certain set of shared attributes is always available. Hence, it is possible to generalize them via the basic questions to be asked before one or another type of team extension is accepted. We may propose four major questions along with some explanatory remarks making the subject clearer.

Question 1: What is the complexity and importance of the task to be accomplished?

There should be a holistic picture of the project when the final business goals determine both the timeframe and complexity of the development process. Such fundamentals are usually indicated in a software development specification (SDS) if available. When it comes to a large enterprise-scale platform with a powerful backend and a complicated multi-user interface, for instance, a six-week freelancer-made solution is hardly acceptable.  Besides, a client should realize what type of management and coordination can fit the project best. When tight control and careful supervision of all development stages are critical, independent outsourcers may appear poorly appropriate.

Question 2: What is the scope of the project?

The scope implies a preliminary calculation of the working hours required to complete the project. Besides, there should be a certain labor division: a proportion between tasks to be fulfilled by senior developers and junior ones, the extent with which QA specs should be involved in SDLC (continuous testing in the case of Agile methodologies, for instance), the designers’ role in prototyping and/or MVP creation, etc.  Even a large-scope complicated project can stay beyond the main business of the client. It means in-house developers may appear redundant when the project is finished.

Question 3: How urgent is the current team extension?

Urgency is about a pre-planned time frame of the project. A lot of tasks requiring no long preparation may take place: fixing bugs, adding new features, cloud migration, upgrades & updates, insignificant redesign, and the like. Such tasks are well qualified to outsourcers and even to freelancers in most cases. Hiring in-house developers, in contrast, is too infeasible.  When the project duration implies 6 months and longer, there is a strong reason for outstaffing to consider.

Question 4: What is the project’s budget?

Budget-saving considerations are not always reasonable when it comes to team extension. Of course, the same project can be completed for different money: while the number of required working hours can hardly vary significantly from team to team, the offered hourly rates can meet a wide array of different tariffs.  At the same time, pricing should always be related to the scope and complexity of the project: custom-made complex software based on advanced technologies can never cost the same as customization of an out-of-the-box solution.  From a budget perspective, hiring in-house developers to complete a simple short-term project is as meaningless as contracting a group of freelancers to develop a top-class enterprise system requiring a 15-month development life cycle.

Tips to Help with Hiring

Both building an IT department from scratch and scaling the existing team of developers can result in avoidable expenditures. That’s why staff augmentation has occupied a certain niche in the labor market. The main problem remaining for clients in the niche is the right choice between the hiring types even when their main distinctive features seem clear for employers.

offline meeting

The devil’s in the details as they say. The following tips from a professional staff augmentation provider can help employers acquire some useful nuances of team extension.

  • IT competencies matter. Some companies create IT cores amid their business to possess necessary IT competencies. They know how to manage an augmented developers’ team on their own. What they need is just additional labor resources. Outstaffing is their choice, therefore. The other companies without strong IT expertise have to find consulting subcontractors. Such companies can be satisfied with outstaffing as well, but outsourcing seems more appropriate for them;
  • “Fixed price” development is getting obsolete. The days when the laid-back turnkey development with inflated budgets was widely acceptable have become a thing of the past. Modern clients with their in-house back offices are capable of assessing the project-related workloads well. The quick forming of a team of highly skilled specs for a particular project is inherent in today’s staff augmentation providers. Hence, outstaffing meets the zeitgeist better than other team extension types do.
  • Top-level developers hate entropy. It is hard to find true professionals who agree to jump from one project to another during the day. But such workflows are common for outsourced teams having to run several projects in parallel. Freelancers are in the same situation due to the lowest rates they offer: their survival goes under the principle of “the more, the better” oftentimes. Hence, outstaffing providers and in-house employers have a larger chance to attract true professionals who hardly accept disorganized working schedules;
  • Black boxes do not determine final budgets any longer. A preliminary budget calculation is as similar to the actual future expenses as your passport photo is close to your selfie. The more black boxes the ongoing SDLC generates, the larger the final cost of the project appears. Such a situation has been typical until recently. However, outstaffing allows addressing workloads from another angle: clients need neither burning extra money as black boxes keep emerging nor arguing with contractors in the style of “you should do this job even if it has not been indicated in the SDS we’ve signed 6 months ago”. Both an instant response to problems and flexible budget management remain under full control of clients with outstaffing;
  • Full integration requires truly dedicated teams. A team of high-class devs can immediately dive deeply into the project (time is money, right?) when full dedication is provided. This is about neither outsourcers (they cannot accept fully-fledged control from clients) nor freelancers (their legal status along with low rates can hardly encourage them to be completely dedicated). Hence, in-house developers and teams from outstaffing providers remain. But in-house employment can hardly happen quickly, much less immediately;
  • Third-party specs are easily detectable. If a staff augmentation agency tries to re-sell “foreign” third-party developers to a client, such intermediation can not go unnoticed. On one hand, devs with junior skills are rarely required by serious projects. On the other hand, true seniors come to clients through enhanced skill verifications and hard interviews. Anyhow, this is never a tough task to recognize poorly managed teams with third-party devs. Mediation services are unavailable especially in offshore staff augmentation, therefore.

Conclusion

Staff augmentation includes decent approaches to fast and effective team extension. They provide focusing on business goals instead of HR routines. Freelance developers can help with urgent short-term issues such as bug fixing when the project budget is limited. Outsourced teams can fit both simple tasks and complicated projects when clients have no strong IT expertise to cover new developers with fully-fledged management. Outsourcing is relevant to one-time projects implying no continuous business development with highly integrated teams. In-house development remains the most traditional way of team extension with all inherent pros and cons. It requires a lot of time and effort from employers providing well-proven skills and full dedication of staff in exchange. Outstaffing seems to take the best from both worlds: deep and fast integration of a highly dedicated team into the client’s agenda is accompanied by an opportunity to interrupt cooperation painlessly when devs appear no longer required.  Contact us today if your software development project needs to be augmented with a well-coordinated team of engineers.

explore other articles

on February 18, 2021

Artur Shepel

11 min read

Node.js vs Python: No Winner No Loser

Software development is a unique human activity that stays somewhere ...

on December 22, 2021

Artur Shepel

16 min read

How to Extend Your Development Team

Various sorts of team extension are gaining popularity year after yea ...

on March 31, 2021

Artur Shepel

10 min read

HOW YOU CAN BENEFIT FROM TELEMEDICINE APP DEVELOPMENT

The radical changes in the modern healthcare industry dictated th ...