Software outstaffing is a cooperation model that has established its popularity among many tech companies. It allows customers to extend their in-house teams by hiring software developers to fill the talent gaps and missing expertise. It is an excellent option since such specialists can help companies by saving time, allowing cost savings, and minimizing efforts on hiring and onboarding the new team. An outstaffed team provides flexibility and increases the competitive advantage.
Why do many successful companies prefer outsaffing as an engagement model?
Software development outstaffing is a viable solution to scale up the team for tech companies and non-tech organizations. Outstaffing services allow business owners to cover current IT needs such as software/hardware infrastructure setup, existing software improvement, new feature development, independent QA testing, etc. Software outstaffing and distributed teams have gained popularity since they are well set, and experienced teams can quickly start the work.
Software outstaffing process
There are specific actions that businesses have to take before ordering the outstaffing service and starting remote employment. This article aims to discuss outstaffing services, list all stages of outstaffing, team selection, a process needed to hire software developers, and what you need to do to prepare yourself to benefit from the IT outstaffing model.
Let’s assume you have already picked a couple of outstaffing companies that provide app and web development services. I will not discuss the stages of selecting the IT outstaffing company in detail because there are already a lot of articles on outsourcing and outstaffing. Still, I would instead concentrate on what happens next. So, once you:
- Defined the roles that need to be outstaffed
- Picked a few companies that have finished successful projects with outstaffing
Outstaffing service starts with team selection. What happens next, and how to establish cooperation with an outstaffing service provider?
Stage 1: Provide requirements to the team
Before launching the project, prepare a list of the software development project’s requirements. If you want to communicate the needs to the remote employees in the best way, it’s essential to outline your expectations for their:
- Project development process
- Hard skills
- Soft skills
Work on your Service Level Agreement (SLA) and set your requirements to IT outstaffing company, time of the meetings, reports or SCRUM sprints, etc.
Your aim here is to provide all the details you can discover at this stage so that the outstaffing company quickly selects the best-suited resources for your software development project. If you want some form of a checklist, then you would need to provide the IT outstaffing company with the following information:
The information you give to the outsourcing vendor will help pick the whole team, including software engineers, qualified web developers, testers, project managers, etc., who have worked in the same tech industry and on similar projects before. Below are a couple of items to communicate:
- Indicate the project IT industry and tackle your business needs.
- Indicate the project technologies users.
- Indicate the code level you assess the project (e.g., spaghetti code requires developers with more skill levels).
- Indicate several modules or task samples a dedicated remote team should be able to execute.
- Ideally, if you have the Project Vision document, you need to provide it.
Let's schedule a quick call
More about project vision and how to fill it in, you can request from our team.
Hard Skills Requirements
When providing hard skills requirements to the IT oustaffing company, be realistic. Cause sometimes, clients write down all technologies they have ever heard of as a hard requirement while they are hardly used on the project. This narrows the number of CVs you’ll receive from IT outstaffing company.
- Level of skills you are looking for in software development engineers, e.g., senior, middle, junior.
- Technology stack.
- What should other staff besides the leading technology software engineers know, e.g., CI/CD, etc.
- Desired and Required skills.
- Safety standard you are keeping to. It’s essential that the IT outstaffing company can make sure they have a sufficient level of software and hardware to provide the security level you declared.
Soft Skills Requirements
- The necessary level of communication skills.
- What level of English is required (many software development companies provide an English-speaking manager to compensate for the lack of developer’s language knowledge. This might be a good trade if software developers have the knowledge and skills you require because such talents traditionally have lower rates).
- Independent work.
- Code review practices.
- Team leading skills.
- Initiative and deep expertise.
- Indicate the time zone and time hours for developers to work on. It will help the vendor select the team members ready to meet your time zone requirements. The ideal variant is 2-3 overlapping hours based on our practice.
- Task manager. Communicate what task manager you are using to keep track of the work.
- Time reporting. Show what tools you will require developers to use to report the tracked time.
- Other reports you would like a developer to provide.
- Sick leaves for the developer. Would you need a substitution for this period?
- Vacations for the developer, would you need a substitution for this period?
- Coordinate holidays in your country and the country of the development team.
- Budget expectations – even though this information is not required at this stage, or you have probably received it when selecting the outstaffing vendor, it is worth mentioning. The important thing here is that you would save yourself time if you provided expectations on the rates of the third-party vendors in this way; you won’t have to pass through all stages only to find out that the outstaffing team would not provide the rates you planned.
Stage 2: Select developers based on CVs
Based on this information provided on Stage 1, the outstaffing company would select the CVs of those developers that fit your requirements most appropriately. Usually, an outstaffing company returns with several CVs for you to pick from; some match your needs ideally others somehow meet them. It would be best to choose those developers you would like to interview at this stage.
Stage 3: Interview
Once you have reviewed the CVs, the next stage is to schedule an interview call with the skilled developers to make sure the skills outlined in the CV are the reality. Here we recommend having two phases of the interview:
- General one where the project manager of the project or any other contact person can communicate with one developer and make sure that the developer’s attitude, vision, and soft skills are suitable for the project.
- Technical interview, where a person with a technical background can verify the declared experience and knowledge of the candidate by completing technical tasks successfully.
We recommend using the point system here to assess people you like. Use the 1-10 points system, where
- you give1-3 to candidates you do not like,
- 4-6 that might be a good fit
- and 7-10 if they are a perfect fit.
If each of the interviewers adds the points, in the end, you will have the general picture and direct access to the list of people that you might want to hire.
Stage 4: Hire outstaff developers – team composition
Given you have selected a developer to complement your on-site team, the recruitment process continues. The next stage is to sign the agreement and make the prepayment for the works of the development team. Here the process consists of:
- Make sure you are acceptable with the agreement with outstaffing agency;
- Make sure the rates indicated by the company are suitable.
A quick checklist to go through before starting the agreement:
- Rates are coordinated
- The time that each team member will spend on the project is confirmed;
- Developers’ names that were selected are confirmed;
- Process requirements are suitable for the team.
Stage 5: Integration of developers
Now are officially employed. Before the project kick-off, it is necessary to integrate the newcomers. It is probably one of the most challenging parts, and multiple projects stop before even starting. It is essential to have all processes and communications set up and all accesses provided. As the company that orders outstaffing services, you are responsible for providing all environments and communicating all procedures, regulations, and rules that the newly hired, fully trained developers should keep.
Access to Code
Ensure that team has access to the project and understands its purpose and what it is about.
- Share Access: Ensure that you have shared access details to the GIT or another system you use for full version control.
- Present the workflow: If you keep to any particular workflows on the project, especially if you have several environments, it is essential to discuss the flow with the new team.
- Give the test URL to the team members to click through the project safely without the fear of breaking something on the live website.
- Give the link to the documentation of the project, if any.
It is also a good practice to have a call with a product/project manager or a product owner who can outline briefly what the project is about and its purposes, share a screen, and show the product’s main functionality and marketing points. Also, remember that a person’s good integration starts with easy or isolated tasks and only then integrates the new person into more extended parts of the system.
- Share Access: add new developers as team members to your Jira, Trello, Asana, or any other tracker you are using to manage the tasks for your team. If you do not use any task tracker, it is vital to start using one because the project management tool is the only way to assess how effectively the work is set up.
- Present the workflow: the task has to have its own workflow, and each extended team member has to be coordinated on the definition of done for the task. E.g., the task is considered to be done when it is available for testing? Or is it done when it is available for deployment to the live environment? Below is an image of the suggested extended workflow our own employees use.
But in its most basic view the task workflow can be:
Such trackers as Jira allow to customize it or pick one of the templates
- Time Logging. The outstaff team usually works using the time tracking tools based on which they provide a report. Each task requires an estimation of the time it needs for completion per the definition of done and shows the actual time spent. The highly organized teams keep these two values accurate, allowing us to optimize work and improve project performance. Such task trackers as Jira have a built-in tracking system.
Meet the team, and present the corporate culture. Introduce the new developers to your team and pay special attention to which questions and items the developer should go to which person. Ideally, we recommend preparing the Team page in the system where you keep documentation, which in its simplest way can look like this:
- What person to talk to when they need a day off
- What person to talk to for new tasks
- What person to talk to in case of a technical decision
RACI is the extended version of this. However, if you aim for quick and minimal assistance here, prepare such a doc. You’ll save so much time.
- Provide the primary contact person for the new team members, which they can turn to, and who can direct them to the right team member with the required knowledge. This is especially true for companies that do not have the documentation on their projects.
- Provide the access details to the main communication channel, whether it is Slack, Microsoft Teams, Skype, or a regular phone line. Our recommendation is Slack (!)
Define communication hours. This is in line with the developers’ working hours that you should have coordinated at the early stages. Recommended scenarios are:
- Daily standup, developers report on completed things from yesterday and provide the to-do plan for today.
- Milestone/Sprint Planning meetings, where more long-term planning can be done.
- The delivery meeting, where developers can provide the demo of what was developed, and you can make sure they have the right vision for the project.
- The retrospective meeting, where all team members can work together to identify what was good during this iteration, what was bad, and what they can do better.
Rules and regulations:
- Communicate all rules you have in the company to the team.
- Coordinate the holiday days. Since you might be ordering offshore development, the holiday days and their number can differ. You have to make sure that you know when a developer works and when not. Tell them what notice you’d like to receive before their holidays.
If you need the services set up for outstaffing or outsourcing, contact us.
We have successfully helped more than 30 companies to work more efficiently by just organizing the processes in their teams.
The list of the items can be extended, and integration of each role requires the specifics, so the article lists only the most important ones. To sum everything up, you have to:
- Communicate your requirements with the IT outstaffing company properly
- Make sure that the suggested people meet your requirements
- Provide the friendly integration process for a new dedicated team
If these three rules are met, you will have a happy team and considerable cost savings. Happy outstaffing!