Back

In-house Development vs Outsourcing: That’s the Question

When you have a startup idea and a clear vision of your product, it’s hard to keep from pulling together a dedicated team of designers, developers and QA engineers. First of all, ask yourself: is it worth it at the early stage? In the article we help you gain insight on in-house development vs outsourcing debates. Also, we outline the cases when in-house development would do well and when you can’t make it without development outsourcing.

Reading time: 13 minutes

in house development vs outsourcing
Table of contents

    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 software development 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. 

    Outsourcing versus outstaffing

    Outstaffing fills your in-house gaps whereas outsourcing means delegating your software development project

    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 essence of outsourced software development.

    Outsourced software development: overview

    Digital product ideas often come to those who don’t have enough background in development. For such entrepreneurs outsourced development acts like a golden ticket to a professional roll-out. You just have to take heed to protect the product as your intellectual property

    External team has streamlined development processes and by virtue of expertise they run hasslefree. This also comes at hand if you’re about to validate some hypotheses to see if it hits the market or not. Such an approach is called a minimum viable product release

    Outsourced software development companies perform the full cycle of product building from initial product discovery up to release and further maintenance if needed. They are already fully packed with all the staff you need to release your first application or website including:  

    • project managers,
    • UI/UX designers,
    • frontend- and backend-developers,
    • QA engineers.

    Let’s see what makes startuppers lean toward outsourcing software development over in-house development.

    Pros of outsourced software development

    First the perks. There are four main grounds for outsourcing software development.

    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 Eastern Europe — $30-59

    READ MORE  We can help struggling companies to pivot: rebooting a British startup. Purrweb’s case

    Let’s draw an example. Like WhatsApp. 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.

    WhatsApp now and then

    Owing to outsource the first WhatsApp versions met the market demands though the app never stopped there

    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.

    in house development vs outsourcing

    Meet Headcount, a vivid case of rapid MVP development

    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 off the development and made it on time. 

    Looking for a company to outsource your project?
    After 300+ completed projects, we can create an app in any niche — from fintech to IoT. Contact us and get a free project estimation in 48 hours.
    Contact us

    You get access to an international pool of talent

    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 using 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.

    Alibaba interface in 2000

    Proof from 2000 illustrating that Alibaba has greatly evolved since the release

    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 $570B.

    READ MORE  Online stores, marketplaces and robots — how to start eCommerce service

    Possible to delegate particular processes

    You don’t necessarily need to use full-scale development outsourcing. Simply delegate part of software development 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.

    Mamado app

    This is what Mamado looked like when we released it

    Cons of outsourced software development 

    Even the sun has dark spots. We want you to be prepared for the ins and outs of outsourcing software development in order to make the best of working with a software development partner

    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 ⬇️

    READ MORE  List of app development outsourcing mistakes: how to avoid your contractor’s vanishing without a trace

    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.

    READ MORE  On-demand delivery app development explained. Cargo case study

    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.

    For 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

    Based on all the aye and nay listed above you can judge whether an outsourced team fits your case or not. But just as a safeguard we’ll share some scenarios when handing in the development process to a vendor seems the most reasonable. 

    At the 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.

    To make the most of the limited budget you can go for outsourcing development of a minimum viable product. Just like our clients did with Kem, a mobile payment platform in Kuwait. Its owners contacted us to make the basic application that could attract investors and let them see that the idea was worth supporting.

    Kem interface

    MVP version of Kem fully conveyed the hypothesis our entrepreneurs wanted to demonstrate to investors

    To enhance product potential our software developers used mock data. This gave a clue to the banks of how the application would perform in user hands. 

    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. 

    Spartak website and application

    For “Spartak” website and application serve as a supporting tool to boost fans’ engagement

    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. 

    READ MORE  5 reasons for outsourcing the MVP development for startup

    How to set up a cooperation with an outsourced team

    In nine out of ten cases startuppers just skim through resources like Clutch to select a contracted software development team. You just study client reviews, portfolio and experience in your niche.

    Purrweb’s account on Clutch

    We highly recommend Clutch as an objective picture of a vendor’s performance

    But as soon as you have picked the side, there arises another predicament. You will definitely want to ensure a predictable development process, transparent communication and proper quality control

    Here is a small checklist of the things you can do to leverage the partnership with a development team: 

    • Specify your business objectives and why you want to achieve them. 
    • Share everything you know about your customers and competitors. 
    • Provide references with desirable and undesirable interface elements. 
    • Arrange an initial kick-off to get acquainted with the team and set communication rules
    • Agree on how often you will hold check-ins. 
    • Stay involved on each development stage to ensure quality control.
    • Set achievable deadlines. 
    • Contact your project manager or arrange a meeting in case of any issues to support productive communication 
    Let’s start working on your project today!
    We look forward to hearing from you. Contact us for a free project estimate within 48 hours.
    Let's start

    In house development: overview

    With in-house development it’s fairly simple. This is a classical way of hiring your own development team. This means to undergo the full process from searching through CVs to onboarding and mentoring. 

    In-house software development serves better for those familiar with the market and capable of arranging design and development processes. In-house model requires self-management and coordination. Apart from stressing out about the product release, an entrepreneur will have to resolve administrative issues. 

    The filling of an in-house development team matches with the outsource. But remember that outsourced teams always have internal leads who are there to check the quality of code or design mockups. So, for in-house development you may have to hire the same experts as well. 

    In some cases you just can’t do without the involvement of skilled tech and design leads. Say, when your development project has IoT integrations like in our case with Shockers application. Our client asked for a desktop app that could analyze data collected by the stun guns.

    Shockers interface

    Our app gets the data about the shots made by the gun and visualizes it

    This was a challenge, but owing to 9 years of expertise we managed to achieve a successful roll-out. 

    In-house development also requires some working environment for the team including office appliances like laptops, desks and chairs as well as some virtual workspace. The latter mostly revolves around task trackers, servers, coding environments and images or icons for design.

    Pros of in-house software development  

    Let’s dive deeper into the pros and cons of in-house development.

    Internal expertise

    During the  outsource 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.    

    READ MORE  Project management consulting firms: why contact them?

    Cons of in-house software development  

    Compared to outsourced development the in-house model has a bit more flaws. Though here we’re considering the matter from a startupper’s perspective.

    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.

    How long it takes to employ a developer

    For example, in the USA it takes on average 43 days to employ a developer

    For example, in the USA it takes on average 43 days 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.

    READ MORE  Photographers, $250,000 of investments, and 300 screens of 'some sort of' design. Purrweb’s case

    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 CTO, 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 $110K, 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, as the bottom line

    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 time to market 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.

    How useful was this post?

    Rate this article!

    14 ratings, аverage 4.6 out of 5.

    No votes so far! Be the first to rate this post.

    As you found this post useful...

    Follow us on social media!

    Share