DEV Community


Posted on

How to Transition to an Outsourced Team

Original post -

Choosing an IT staffing agency

What if you don’t know your software requirements?
What does a typical software development team look like?
Outsourcing for early-stage startups
The IT outsourcing transition for SMB’s
Make room for new projects
Outsourcing to streamline costs
Outsourcing to expand your business
An R&D center and staff augmentation
9 mins read

Choosing an IT staffing agency

In all cases where you want to outsource your IT Staffing, it’s necessary to do some research. Selecting a staffing agency is tantamount to selecting a business partner, not a typical vendor. You have a vested interest to know they have a reliable track record and can provide you with the highly qualified IT specialists and software developers that your project needs.

Choosing an IT Staffing Agency in Six Easy Steps defines the selection process in detail, covering how to:

Create your Software Requirement Specification (SRS)
Define other requirements
Create a shortlist of IT staffing agencies
Email staffing agencies
Questions to ask when talking to staffing agency representatives
Select your IT staffing agency
What if you don’t know your software requirements?
If you don’t have a software engineer or someone else with the technical knowledge to define your software requirements, you can still get the ball rolling. You will mainly need two things:

Your Product Vision as a First-Step for Outsourcing should be sufficient to provide a staffing agency with enough information to deduce most of your software requirements.
Which software platforms (Windows, Mac OS, iOS, Android, etc.) do you want to target? While there are some technical aspects to that, it is largely a marketing-based decision driven by the devices your audience use.
Knowing these two items should provide staffing agencies with a good picture of the skills and experience your software project will need. This may be sufficient to delineate the requirements for simple mobile and web applications. With more complex software projects, your staffing agency representative will have additional questions for you to help fine-tune your requirements. In all likelihood though, a project manager – usually a software engineering manager – is the first person you will need to hire. This individual will have the task of spelling out your SRS in detail.

What does a typical software development team look like?
In Agile, there is a strong preference to stick with small teams of 4-10 members each. The overall average size of a team is 7-8 team members. The typical roles of a self-contained development team include:

Project Manager or Software Engineering Manager
Business Analyst
Frontend Developer
Backend Developer
Quality Assurance Engineer*
Quality Assurance Automation Engineer*
DevOps Engineer*
Product Designer
It’s important to note that one individual can fulfill more than one role. A QA Engineer with experience as a Business Analyst could fill both roles. It’s also possible, even likely, that you may need more than one person as a front-end developer. Some projects may require multiple teams. And, some companies may have one team for design and one for development. So, the “average team” is not a lot of help except in defining the roles your project needs, and those marked with an asterisk(*) may not be essential for simple mobile or web apps.

Note, too, that teams can scale up and down over time, according to the software development stage and life cycle. An early MVP stage project may only need an engineer, a few developers, and a designer to create a product worthy of showing investors. Then, if you receive funding, you can scale up to your full requirements for full functionality.

Outsourcing for early startups
The smoothest and easiest approach is to plan on outsourcing your software development from the very beginning. As we said before, a staffing agency is more like a business partner than a traditional vendor. Outsourcing is central to the lean startup approach. It allows you to focus on your core competencies, business goals, and development.

Insisting on hiring an in-house development team has a substantial opportunity cost. This cost comes in the form of time to place jobs, screen resumes, set up and conduct interviews through to managing the entire onboarding process. Your due diligence evaluation of the IT staffing company is something you should only need to do once and it radically streamlines your recruiting and onboarding processes from then on out. Otherwise, every time a developer leaves your team, you’ll be forced to hire a replacement. Turnover for tech startups often exceeds 25% – which is already double the already high IT industry rate of 12.3%.

It’s likely that the first role you will want to fill with outsourcing is the software engineering manager (as product manager). They will need to fully flesh out all of the technical details for your project requirements (languages, libraries, cloud services, etc.) to use. They can define for you all of the possibilities like tyes data detection/collection, features, device compatibilities, that may fit into your software idea. Working with your project vision, they’ll help you prepare a roadmap of your product’s development – useful internally, but also for showing prospective investors.

The IT outsourcing transition for SMB’s
There are four main types of situations where a small-medium-sized business may want to transition from an in-house to an outsourced software development team.

Make room for new projects.
You have an in-house team and want to focus its attention on a new project, but have other software that you must still maintain. Many projects, once out of active development, no longer need a full development team.

However, the software still needs to be maintained to guard against security vulnerabilities arising from new operating systems, changes in third-party apps. To keep your software commercially competitive, continuous improvement efforts apply across a majority of the average 7-year lifespan of most software projects.

The transition process for this scenario is pretty straightforward:

Designate an in-house project owner to oversee your outsourced team.
Your project owner determines staffing requirements with your IT Staffing Agency.
Plan for a 1-2 month hand-off period where your original team provides an hour per day to assist with the outsourced team’s orientation.
The project owner must cover onboarding as it relates to group software, the code repository, coding standards, and other materials.
It’s most efficient to bring everyone on your team aboard at the same time.
Outsourcing to streamline costs
The move to a telecommute work environment may have brought you to question the fully-loaded cost of in-house developers working from home. You’re seeing that you can reduce your software development costs by as much as 65% while retaining the same (or better) code quality and developer skill.

Changing your entire team midstream during development is complex and hugely disruptive unless properly managed. Consider giving your existing team members the option to become independent contractors able to work from home instead of laying them off. The ability to telecommute itself has a dollar value that some developers may accept. Most are not likely to be happy about it, but assisting those who prefer direct employment with letters of recommendation, referrals, and job placement assistance should dampen the blow. Of course, the more advance notice you can provide, the better.

While the process for outsourcing in this scenario is not entirely different from others, there are some additional items that are essential.

Rather than disturb the development of specific software components, take out your project roadmap. The roadmap should provide projections as to when development on one module ends so the next begins. Here, you want to have your outsourced developer ready to start a week or two before the module they are to start on should begin. They’ll need to become acquainted with other parts of your code to be productive out of the gate.
Knowing that software developers tend to change jobs every two years on average, you can tie the transition to your turnover cycle. Instead of hiring in-house replacements as developers leave, you can source the replacement through your staffing agency.
In this scenario, depending on the technical makeup of your business, it is advisable to retain at least one employee in a senior technical capacity (CTO or similar position). The best candidates to retain are software engineering managers, especially if they can double as a business analyst.

Outsourcing to expand your business
You could trim your costs or reinvest the savings to not just replace your in-house team, but add one or two additional entire development teams, depending on your location. This depends on whether you are a software development agency or the software projects are for your own business needs. The main issue is to grow your team/s in close proportion to your workload and projected growth. In these cases, your outsourcing process is quite similar to that of launching a startup from scratch – as discussed above. You can easily start off small and add team members as needed.

An R&D center and staff augmentation
Your business is ready to invest in an R&D center, but you want to accelerate the process and maximize the bang for your buck. In that link, we discuss the process for setting up an R&D center and using the staff augmentation approach. For businesses in North America and Western Europe, not only is this an expensive proposition, it could take from 6-12 months or longer to bring everything together. It could take longer if the facility needs to be built.

By taking advantage of purchasing power parity, setting up an R&D center in Ukraine easily offers a 3-to-1 cost advantage. Plus, Ukraine’s Tech Hubs (Kyiv, Kharkiv, Odesa, Lviv, and Dnepropetrovsk have fully-connected facilities available so you can get started fast (4 to 6 weeks). This is as close to a “turnkey R&D center” as you can possibly find.

A summary of the IT outsourcing process
Every business and every software development project has its own requirements. When it comes to outsourcing IT staff, the overall process is basically the same. The most important part of the process is making sure the IT Staffing Agency you select is the right one for you. They will cover a wide range of critical services for you from finding and vetting qualified software developers and IT specialists, to managing taxes and payroll, and taking most of the pain out of turnover rates among developers. Ukrainian software developers are ranked #2 globally in terms of overall value, #5 in technical skill, and have less than half the turnover rate as their US counterparts.

If you’d like to find out more about your IT Staffing options we’d love to hear from you!

Top comments (0)