The IT outsourcing market is booming. According to Technavio, its growth rate in 2020 was 3.82%. By 2024, it’s expected to be 5% with a market value of $486 billion! Why is demand for outsourcing services in IT so brisk?
Outsourcing is a splendid opportunity to launch a product faster, at a lower figure, with higher quality. Disclaimer: as long as you choose a good outsourcing vendor.
Of course, nothing is goof-proof – even the sun has spots. Yet, even if a good vendor makes a mistake, the product still has chances of success.
So, who is he – a good outsourcing vendor? What to consider before signing the agreement? What to track in the process? Let’s sort everything out!
Before we start.
Working with outsourcing companies requires you to be well informed. Hence, we recommend checking out the work of the vendor in four stages:
Initiation Stage: What to consider before signing the agreement?
This is probably one of the most important stages. During this stage, we decide whether it’s reasonable to work with this outsourcing vendor. With this in mind, we estimate his strong and weak sides.
The Initiation Stage is divisible into:
- essentials checkup;
- proposal checkup;
- agreement checkup;
Essentials checkup of your outsoutcing vendor
Check out the vendor’s rating and reviews on:
- Google My Business;
Verify a vendor’s tax residency. Legal registration is a must-have for a business entity that reduces the risk for you.
Examine a vendor’s website. It’s a wealth of information about cases, services, technologies, and references. Pay particular attention to the relevant cases. They demonstrate the skills and competence of your dev partner. If possible, get in touch with the clients of similar projects in your niche. This trust metric is important. So, like it or not, the absence of a website is a bad sign.
After all, every country has official registers with basic information about legal entities. There, you can check out the company's status on the market, the existence of debts, and more.
Besides, there are non-governmental databases with information about jurisdiction, registry page, company’s status. One of such resources is OpenCorporates Database.
At this stage, a vendor provides a detailed estimation/offering. The proposal should include:
- time for planning & eliciting requirements
- the future roadmap of the project
- detailed estimation
- time for regression testing & bug fixes
- tech stack for the project
- pricing for third-party services
- support price and terms
Time for planning & eliciting requirements
At Fulcrum, we call this stage Discovery. At the Discovery stage, we:
- Estimate time and price
- Set eliciting requirements
- Create product requirement documents
- Identify risks
- Form a plan
A plan always carries weight in software development. It depends heavily on the development approach. It can be super detailed and structured (Waterfall). It can be flexible and describe the first sprints only (Scrum). An agile structure allows easy modifications.
Always leave some time for planning and research.
The future roadmap of the project
A development proposal should include a high-level breakdown and a roadmap. First, it gives a vision of the process. It’s good for everyone from the top to the bottom. Second, it makes it easier for a team to communicate and collaborate. A good roadmap gives a deep understanding of the project and its what, how, who, and when. Its main elements are:
- Highest priorities
- Status markers & metrics
You can, by the way, read more about our experience with Gantt chart roadmaps here :)
Time for regression testing & bug fixes
Regression testing and bug fixes are a natural and irreplaceable part of development. Do you remember that even the sun has spots? :) Time for it should be estimated upfront. Then, there are more chances that you won’t fix things “for yesterday”.
Tech stack for the project
A proposal should include a list of technology services and an explanation of why this exact stack was selected.
Here is a brief tech stack sample from one of our proposals:
Pricing for third-party services
The estimated price should include any additional expenses including third-party services. It’s essential for budgeting.
What services can there be?
- AWS/Microsoft Azure
- Forest Admin
Support price and terms
The show must go on after the Development is over. There is another important stage – Support. Discuss it upfront to provide the most positive user experience.
The discussion must cover:
- General server maintenance
- Server monitoring
- Checkup of server event logs for potential problems
- Monitoring of status and availability of cloud services
- Audit of check backups
- Performing of backup tests
- Product updates release
- Performance & crashlytics monitoring
- Support of third-services
- Security reviews
- System and server reboot
- Downtown reports
- Bugs fixings
A thought-out proposal includes a breakdown of functionality, estimated time, and pricing. At Fulcrum, we estimate optimistic and pessimistic variants for each task. We take into account Project Management and QA time.
Detailed estimation is nothing without a description of the team – engine for the process. You can face a few variants:
- There’s no team composition in the proposal
- The team doesn’t include a Project Manager
- The team doesn’t include a QA Engineer
There is a typical software development structure but certain roles might vary from project to project. For example, we met projects without a business analyst or a DevOps engineer. But there is an impossible situation when either project manager or QA engineer is missing. This is axiomatic – these guys are irreplaceable.
A dedicated PM “nurtures” the project from the “We have an idea” to the “We did it!” phase. He mitigates the risks, ensures that all requirements and deadlines are met, and connects people.
QA engineers fix bugs and mistakes and reduce the chances that they will appear in the future. The user’s rating heavily depends on how good these guys do their job. The fewer bugs and errors there are, the fewer costs on solving the problems you will spend. A penny saved is a penny earned :)
But let’s come back to outsourcing vendor management.
History knows the situations when the suggested tech stack isn’t the main stack of the vendor. Still, your dev shop must match their major tech stack. Why?
- The results will be better if the development team deals with the tech stack they got used to. The shortest way is the one you know.
- They are less likely to outsource the project to some other agency for a lower price.
We’d also recommend paying attention to the warning sign – extremely low development rates. If price and timelines dramatically differ from proposals of other vendors:
- ask your dev shop about how they are going to maintain the quality of the final product;
- ask about their overall expertise (they might be not experienced);
- ask whether they understand the entire scope of the project.
Useful recommendation: don’t sign the Agreement without checking out:
- The legal field. The Agreement should be signed in the vendor’s legal framework. All legal rights for the codebase should belong to the client.
- List of acceptance criteria and specific time to check out & accept the project.
- Reasons and terms for canceling the agreement.
- A detailed description of the flow of the codebase transfer.
A transparent Agreement should include these essential details.
Communication with Outsourcing Vendor
Good communication with a vendor is like a prince’s kiss for Sleeping Beauty. Without it, the happy end is impossible. What is good communication? We gladly share the tips & tricks :)
The outsourcing vendor asks 1001 questions until he fully understands what should be done
Then, he asks the other 1001 questions during the work. And that’s okay.
It’s impossible to do a good job without understanding the peculiarities of the app, its users, competitors, and client's expectations.
The vendor assesses the scope of the project thoroughly and gives realistic estimates & a breakdown
Sometimes dev shops don’t study the project well and offer a good price just to get this order. It ends with delays and even more investments. The most budget-friendly offer is not the most affordable one :)
The outsourcing vendor should give breakdown and price estimates only after learning all peculiarities of the project.
At Fulcrum, we give estimates only after the client approves the product mindmap. Here is how it can look like:
The vendor wants to know the ins and outs of the business side
Business and development sides are finger and thumb. The more informed the outsourcing vendor, the better app you will get. Once, we didn’t create the most fitting architecture because the client didn’t share his plans about extra features. This brought in its train problematic functionality and delays.
Thus, provide your dev partner with as much information as possible including:
- product idea, vision, goals, objectives, users, UVP;
- expectations & plans;
- any kind of research.
Transparency is above all
Honesty is one of the three pillars of good communication. It starts at the very beginning when the vendor gladly shares the contacts of his previous clients. You can reach out to them and ask about their experience with your dev partner. Honesty accompanies the process when the vendor shares every detail about the status of the process and the workflow. A good sign is when inviting tech experts for meetings is not a big deal.
Another important moment is fast feedback from both sides. Both parties must be available via convenient channels of communication and reply fast. After all, you both are interested in meeting the deadlines and enjoying the result.
So, how to find a vendor? Use our free vendor audit checklist!
Guys, we discussed Initiation – the first stage of outsourcing vendor management. And that’s just the beginning! The next stages are Execution, Code, and Closure. If you want to know how to avoid common mistakes, download our free vendor audit checklist!
There, you will find cool tips rigorously structured with concern for our readers :)
By the way, check my video about:
- possible outsourcing failures;
- dedicated team pitfalls;
- code health check methods;
- project estimation and timelines;
- and much more.
Have any questions? Don’t hesitate to drop me a message! :)
FAQ: Outsourcing vendor
How to select a vendor for outsourcing?
Outsourcing vendor definition says that the vendor is an important party and that’s true. So, don’t pass over it lightly. First, research the market and choose a few vendors, who meet your requirements and the budget. Then, check out reviews, contact their previous clients. After, discuss the peculiarities of the collaboration according to our recommendations or using our free vendor checklist.
What are the advantages and disadvantages of outsourcing an entire staffing system to a vendor?
Outsourcing vendor services often mean lower expenses. The vendor often offers skills and expertise that no one in your team possesses. It also leads to operational efficiency and frees time for core business tasks. The wrong choice of the vendor will lead to poor quality of the app, bad communication, missed deadlines, and grey hair.