The term in house development is more or less clear, whereas software outsourcing is often confused with outstaffing. But these are two different things. To avoid misunderstandings and sync up our visions, let us clarify what’s what.
Outsourcing and outstaffing: let’s nail down the terms
Outsourcing — when a client company hands over tasks or functions to a vendor. This is exactly how Purrweb works. For example, a startupper turns to us with $50K and an idea to create a matching platform for musicians so that a guitarist could find a drummer and knock a group together. We draw up a quote, approve it with the client and develop a turn-key app.
Outstaffing — when a client company gains access to seasoned professionals of a contracted company. We don’t follow such an approach. But if we did, it would look like that.
The same startupper addresses us but they already have a team and they’ve been developing this platform for the last 3 months. However, right before the release their frontend developer got tired of a nine-to-five job and went solo. You won’t find a frontend developer in a snap on your own, but outstaffing may help. Purrweb provides a middle React Native developer and assigns him to the client’s team.
Now that we got the sense of the terms, it’s time to move over to the in house development vs outsourcing battle. Let’s start with breaking down the pros and cons of software outsourcing.
Development outsourcing
✚ Pros
Two times lower costs. The hourly rates of developers from the USA and Eastern Europe differ by 2,5 times. The average hourly rate of a senior developer in the USA is $78-125, in the Eastern Europe — $30-59https://www.google.com/url?q=https://www.accelerance.com/hubfs/Accelerance%2520-%25202020%2520Guide%2520to%2520Global%2520Outsourcing%2520Rates.pdf&sa=D&source=editors&ust=1627281565588000&usg=AOvVaw3sdSkmp3037Ar5neVj6HQA. What’s interesting, guys from Ukraine don’t come short of Americans in terms of the quality or qualification. And sometimes even outstrip them. WhatsApp’s experience proves it.
The story of software outsourcing in this company started in 2009. Back then the messenger market was empty, though the first versions of Blackberry and Facebook messengers already hit the market. One had to act quickly to take up a position. The founders had a choice: in house development vs outsourcing. There was no time for putting an in-house team together. That’s why WhatsApp submitted iOS mobile development outsourcing to a group of developers from Russia. It helped them to save on fixed costs without sacrificing neither the quality nor the speed.
No shortage of resource capacity. Development outsourcing is a more flexible approach in terms of the team’s line-up. For example, a team lead, a QA engineer, backend and frontend developer has been working on the project for 3 months. But there is no use for such a big team after release: 20 hours a week of front- and backend along with 5 hours of QA will do well. Development outsourcing makes such a framework possible. If you have an in house team, you will need to find side tasks or pay for partial workload.
Here is another case: tight deadlines are in play and you need to develop a product in 2 months.. We had a similar situation on our project Headcount: a B2B service for transferring money to contractors around the world. Generally, we assign 3 developers to make it in 3 months but the client needed to have an MVP in 2 months. That’s why we added 2 more developers, started the development off and made it on time.
You get access to an international talent pool. For example, it’s harder to find a developer in a small city than in a capital. But relocating a team of 20 just to fill a couple vacancies is illogical. Development outsourcing allows you to look beyond your local labor market.
Alibaba started usinghttps://www.google.com/url?q=https://www.amazon.com/Alibaba-House-That-Jack-Built-ebook/dp/B0124PP3AA&sa=D&source=editors&ust=1627281565591000&usg=AOvVaw2pg5zblDJ9inFSvFCVcOqB development outsourcing as early as in 1999. At that time, in China there were no specialists of the level required to fuel the rapid growth of the platform. On top of that, the founder used external expertise and focused on the core competence of Alibaba — eCommerce. As history shows, the strategy turned out to be successful: Alibaba’s share capitalization recently reached $570Bhttps://www.google.com/url?q=https://www.reuters.com/companies/BABA.N/profile&sa=D&source=editors&ust=1627281565592000&usg=AOvVaw0ZCURgefXG6xG-66r27HxQ.
Possible to delegate particular processes. You don’t necessarily need to use full-scale development outsourcing. Simply delegate part of tasks, say team leading or project management. It worked like that on our project, Mamado — a service for parents which need children’s products and services.
The client came to us with a ready-made code. The team has been coding an app for one year but couldn’t make it run though. We needed to help the team tweak the app to release it. Along the way we aligned the management: established Scrum, sprints and daily stand-ups. As a result, we released the app on time, the client’s team now understands how to manage the project to meet a schedule.
➖ Cons
Low cost ≠ high quality. Miracles don’t happen: when you choose a software outsourcing company for $20/hour, it’s naive to expect the result worth $50. You have to pay for a fine product. If you don’t want to get buggy code, you’d rather address middle or a bit higher priced software outsourcing companies. Recently, we compiled a checklist that can help you choose a decent contractor for development outsourcing. Check it out ⬇️
Not the best stack, but an available one. A software outsourcing company may offer not the best tools but the ones they have experience working with. It’s crucial for a software outsourcing agency to be able to say objectively if they can help out or not.
For instance, our core competencies are React, React Native and Electron. When we start making a quote for development outsourcing, we’re looking for ways to use our stack. If a client’s app will be functionally limited on our stack, we clarify it right off the bat and find balanced trade-offs.
A contractor doesn’t understand the difficulty of the task. Young web studios lack experience and they strive to close the deal fastly thinking like: “sell now and figure out how to do it later”. It’s an ineffective framework because it’s hard to predict the timeframes and shape client’s expectations. This is why on difficult projects where we lack initial data and the app business requirements are vague, we suggest analytics and prototyping services. This way the client sees how the app will work and whether this is exactly what they need. From our side, we can give a precise quote for development outsourcing.
A contractor doesn’t understand the difficulty of the task. Young web studios lack experience and they strive to close the deal fastly thinking like: “sell now and figure out how to do it later”. It’s an ineffective framework because it’s hard to predict the timeframes and shape client’s expectations. This is why on difficult projects where we lack initial data and the app business requirements are vague, we suggest analytics and prototyping services. This way the client sees how the app will work and whether this is exactly what they need. From our side, we can give a precise quote for development outsourcing.
When will development outsourcing do well?
At start
The most fragile moment of a startup’s life cycle is the beginning. Business angels aren’t lined up in a queue ready to invest their $100K and there is no lucrative product yet. That’s why it’s a suicide to take up the salaries, rent expenses and taxes. Development outsourcing is more predictable and foreseeable. If you use development outsourcing services, you’ll have a detailed quote with timeframes and a plan.
For one-time or non-core task
When you need to make a website or a CMS with a clear functionality, it’s easier to leave it to development outsourcing. It’s a product that doesn’t need many enhancements. You don’t need to assemble an in-house team or have a support team. FC ‘Spartak’ works like that. They have their IT department working on the ticket system and the stadium infrastructure. The app and website development is contracted out to a software outsourcing company.
To shut the resource gap
When you already have a team but lack a clockwork management process or particular expertise, you can contract out some processes to a development outsourcing team — the Mamado case. Or say, you have HTML/CSS developers but need to develop a mobile app, then development outsourcing is an option.
In house development
Let’s dive deeper into the pros and cons of in house development.
✚ Pros
Internal expertise. During the software development the team gets its hard knocks and masters the know-how basis. It works like a flywheel. At first, you need gargantuan efforts to kickstart the flywheel. But when things finally get moving, the flywheel gains momentum and fuels the growth. For 3 months, the teammates adapt to each other and to the product. When the product is running, the team is already in the loop and needs way less time for adjustments.
Quick bug fixing after release. One month after release when 1000 users enter the platform, some bugs may pop up. A development outsourcing team at that moment will already be busy with another project. Even taking into account their flexibility, it isn’t possible to onboard the new team faster than in 2-3 days. The website will be frozen during this time. When you have an in house team after the release, it’s easier to run back to them saying: ‘the website went down’ and guys will start fixing it right away.
Team’s involvement. There are more areas of common interests inside the in house team like corporate parties, team building events or LFPs (Last Friday Party). It strengthens the corporate culture and team cohesion which directly influences its morale. For a development outsourcing team your startup is just one more project in Jira which they need to bring to release. As a rule, software outsourcing agencies follow the pre-agreed plan and there is little place for initiative.
Transparent communication. Offline communication with people who speak your language is simple and clear. If you need, you can walk up to a colleague and discuss work-related issues pronto. There is no need to waste time on matching the schedules or doing mumbo jumbo around the Wi-Fi router.
➖ Cons
The flywheel acceleration takes time. With the in house team the time of product development extends. To get the flywheel moving you need a minimum of 1-2 months from the project kick-off. To assemble a team of 5-7 developers you need additional 2-3 months. During the ‘acceleration’ you have to pay salaries. And it’s a coin toss whether it’ll all work out or not. Many stars should align: developers’ experience, skillful project management and team cohesion.
Hidden costs. In house team requires you to pay not only the salaries, but also sick pays, vacations, social insurance, pension contributions, and taxes. Besides, the in house team search will take 1,5 month at best. For example, in the USA it takes on average 43 dayshttps://www.google.com/url?q=https://devskiller.com/true-cost-of-recruiting-a-developer-infographic/&sa=D&source=editors&ust=1627281565594000&usg=AOvVaw0YuFA13cOmju3IQ6w6p_7G to employ a developer. What’s more, it isn’t always possible to find a specialist by yourself. Sometimes you simply can’t do without a recruiting agency. On top of that, you need to provide every employee with a laptop, a screen, a table, and an office chair. Don’t forget about the office space.
Distractions in face-to-face setting. Offline communication is more smooth and accessible but it can come at the cost of productivity. In the office there’s always a room for chit-chat around the coffee machine. There are more distractions in terms of the colleagues running around the office. Besides, it’s you who is responsible for the result, not the development outsourcing team.
Responsibility for the team. The key risk at the beginning of the project lies in the product itself. Does the world need a social network for painters? Or a new taxi orders aggregator? You never know, until you try it out. In case of software outsourcing, if nobody needs the product, the team will just switch over to another project. Assembling your team you partially take responsibility over the professional future of your employees. So, if the project doesn’t play out, it’s not only you who suffer, but the team that loses the job as well.
When is it better to develop a product in-house?
Post-release stage
After you launch a product, soon it becomes clear whether somebody needs it or not. Judging by our experience, startuppers use software outsourcing for MVP development and meanwhile search for a CTO that would take the project over after release. While the project is supported by the CTOChief Technology Officer, the startupper assembles a team which then undertakes it. Such a scenario is less stressful for the startupper and saves time: the process of searching for an in house team goes hand in hand with the development outsourcing.
Long-term project
If you plan to contract out a project with a yearly budget over $110Khttps://www.google.com/url?q=https://medium.com/@kapod/web-studio-price-53d22b802b48%23.jpn0rlsha&sa=D&source=editors&ust=1627281565595000&usg=AOvVaw04qDAVZa9-08s18AG-tbt8, you should consider hiring an in house development team. In the long term, the rental costs, salaries, and taxes will pay out with such a budget. In case you plan to spend less, you’d better use development outsourcing. In-house development is a viable option for software acquisition for small non-technology companies.
You already have IT infrastructure
Say, you own an IT product company and decided to branch out your product and create a new one. In such a case, it makes more sense to put a new team together than hire a development outsourcing agency. All you need — hire the developers and scale established management and development processes to a new project.
So, what to do?
To make the final choice in the in house development vs outsourcing battle, you need to answer 5 questions:
- Is it a one-off task or a long-term scalable project?
- Do you plan to develop a product that will bring you money directly or you just need a website or an app to make internal processes work?
- Is the speed of market entry critical for you?
- Do you have many qualified developers in your city?
- Is your yearly project budget higher than $110K?
Having the answers to the questions in one hand and our article in another, you can make a well-considered choice. If you’ve decided to use software outsourcing, we are always here to help you out with development outsourcing.