Team members collaborating over laptops in a modern office
Back to blog

Outsourcing vs In-House Development for Business

Outsourcing vs in-house development for Indonesian businesses: compare team costs, control, speed, and risk before hiring staff or engaging a vendor.

Twelve months ago, the owner of a delivery service company in Lampung made what he considered the most logical decision: hire two programmers to build his internal system. Salaries, benefits, laptops, and desk space were prepared. Six months in, the first programmer resigned to move to Jakarta for double the salary. Four months later, the second followed, taking the only knowledge of the system under construction. The project now sits with a new vendor that has to read all the code from scratch — at double the original cost estimate.

This story is not proof that in-house is wrong, nor a praise of outsourcing. It is evidence of one thing: the decision to build an internal team or hire outsiders is often made without a full calculation, even though its consequences shape your budget, speed, and business resilience for years.

This article compares outsourcing and in-house development honestly: the real costs, speed, control, risks, and how to choose what fits your situation in the Indonesian market.

Two Ways to Get Technology Capability

Every business that wants to build software has two main paths, plus a middle one.

In-house development means hiring programmers, designers, or product managers as permanent employees. This team works full-time for you, at your office, focused only on your needs.

Outsourcing means handing development to an outside party: a software agency, software house, or freelancer. You pay them for results or for their working time, with no employment relationship.

Between the two lies a spectrum of variations — teams rented long-term from a vendor (often called a dedicated team), freelancers for specific tasks, or consultants supporting an internal team. Understanding this spectrum matters, because the answer to "in-house or outsourcing" is rarely black and white.

Comparison at a Glance: The Table

Before diving into details, compare both approaches across the dimensions you feel most as a business owner.

AspectIn-HouseOutsourcing
Monthly costSalary + benefits + equipment + trainingProject fee or monthly team rate
Time to startSlow: hiring can take 1-3 monthsFast: can start within 1-4 weeks
ControlDirect and completeDepends on contract and communication
Product knowledgeStays inside the companyStays with the vendor (if unmanaged)
ScalabilityHard to scale up/down quicklyEasy to adjust capacity
Main riskEmployees leaving, fixed costsCommunication, quality, vendor dependency
CommitmentLong-termFlexible per project

No column wins everything. What exists is fit: one pattern suits one situation, the opposite pattern suits another.

Real Costs: Count Everything, Not Just Salaries

The most common mistake in comparison is counting only salaries on the in-house side and only the project price on the outsourcing side. An honest comparison must include every component.

In-House Costs Often Forgotten

Programmer salaries in Indonesia vary widely by city, seniority, and specialty. In major cities, junior programmers typically earn Rp 5-10 million per month, mid-level Rp 10-20 million, and senior Rp 20-40 million. In cities like Bandar Lampung, figures usually run 20-30 percent lower, but senior talent is also far rarer.

Yet salary is just one layer. On top of it:

  • Benefits: BPJS contributions, THR (mandatory holiday allowance), bonuses, health insurance — around 20-30 percent above base pay.
  • Equipment: laptops, software licenses, cloud access.
  • Office space and facilities.
  • Recruitment and onboarding: job ad costs, interview time, and the unproductive period when new hires learn — typically 1-3 months.
  • Training and development: technology changes fast, and teams whose skills are not refreshed become obsolete.
  • Turnover costs: when an employee leaves, you lose productivity and knowledge, then repeat the hiring process. Research shows employee replacement costs can reach 30-50 percent of the position's annual salary, and for scarce technical roles, often higher.

For one decent small team — say, two mid-level programmers and a part-time designer — a realistic monthly cost in Indonesia is Rp 35-70 million. That excludes one-off costs like recruitment and equipment.

Outsourcing Costs Often Forgotten

On the outsourcing side, project prices in the Indonesian market also span a wide range. Simple website projects start around Rp 3-15 million, mid-range mobile apps run Rp 50-300 million, and enterprise systems can exceed Rp 500 million. We detail these ranges in our article on business app development costs.

But outsourcing has hidden costs too:

  • Communication and management costs: you still need an internal person who understands the requirements and keeps the vendor on track. That person is not free.
  • Scope-change costs: mid-project changes are usually billed extra, and the further the project runs, the more expensive they become.
  • Quality risk: if the vendor is inexperienced or unsupervised, poor results mean rework costs.
  • Dependency: once the project ends, who maintains the system? Many businesses are shocked to find a vendor's monthly maintenance fee equals a new system's installments.

A fair comparison puts all of this on both columns, then compares total cost of ownership over three years — not the price in month one.

Speed: Who Reaches the Finish Line Faster?

For a well-defined project, outsourcing almost always wins on time to start. Vendors have formed teams, tested processes, and can begin within weeks. Building an internal team means one to three months of hiring, plus onboarding time, before a single line of code is written.

But time to start differs from time to finish. A mature internal team can be very fast on follow-up projects because they do not need to learn your business context from zero. A new vendor needs time to understand your business, and that time is often underestimated in project planning.

The most common pattern in practice: for the first project, outsourcing reaches release faster. For follow-up development and rapid iteration afterward, an internal team that already understands the business is often superior — provided the team is actually retained.

Control and Quality: Who Holds the Wheel?

Control is not about who is better, but who is easier to steer.

With an internal team, you have direct control: you can change priorities tomorrow morning, call a meeting any time, and see directly who is working on what. The short distance between business owner and developer makes feedback fast and misunderstandings rarer.

With outsourcing, control depends on the contract and structure. A good contract defines reporting rhythm, acceptance criteria, and change process. A healthy vendor offers this without being asked; a poor vendor makes you chase reports and wonder what is being worked on.

One principle holds on both paths: control comes not from structure but from involvement. Businesses that hand over a project and disappear for months get poor results, whether from an internal team or a vendor. Businesses that stay involved — reviewing results, giving feedback, making decisions — get good results from both.

Knowledge: The Asset That Gets Lost Most Often

This is the most rarely calculated dimension and the most painful in practice.

Software lives and dies by knowledge: who understands why the code is structured this way, why this module depends on that one, and how the system behaves in odd situations. No documentation captures this completely.

With an internal team, that knowledge stays in the company — as long as the employees stay. Every departure of a technical employee is a knowledge leak, and in Indonesia's competitive job market, technical staff turnover is a reality to budget for from the start. The remedy is well known: good documentation, pair reviews, and knowledge transfer processes. Unfortunately, all three are often treated as side work and done last.

With outsourcing, knowledge stays with the vendor. That is not a problem while the relationship runs well, but it becomes a serious risk when the contract ends, the vendor changes, or the vendor closes. The right protection: ensure from the start that source code, technical documentation, and infrastructure access belong to you, and that knowledge transfer is part of the contract — not a last-minute request.

When In-House Deserves the Choice

In-house is not always the more expensive option; it is the right option in specific situations.

Software is the core of your business. If your main product is software — an app you sell, a platform you operate — an internal team is almost always justified. Such businesses live on rapid iteration and technical advantages that cannot be outsourced without losing speed.

You need continuous, rapid iteration. Businesses that change features every week based on user data need a team that is always present and always understands context. The short communication distance with an internal team makes this pattern far cheaper in the long run.

Your competitive edge sits in technology. If your technical way of working is a secret that differentiates you from competitors, employing your own team reduces the risk of knowledge leaking to the market.

You have the capacity to manage people. An internal team demands management: hiring, career development, performance reviews, and all the complexities of employment. Companies without this experience often find team management costs bigger than imagined.

When Outsourcing Deserves the Choice

Outsourcing is not an escape from complexity; it is a strategic choice for specific situations.

One-off projects. A company profile website, an event app, or a system built then minimally maintained: hiring a permanent team for work that finishes in months makes no sense. For needs like this, website or app development services from a vendor are far more economical. A guide to choosing the right provider is in our article on software houses in Bandar Lampung.

Seasonal or uncertain needs. Businesses that sometimes need large capacity and sometimes little do not fit permanent teams. Outsourcing lets you add capacity when needed and release it when done, without permanent payroll burden.

Specialized expertise. Certain technologies — AI integration, cybersecurity, cloud migration — are hard and expensive to hire as permanent staff when needed for only a few months. Specialist vendors offer deep expertise that is uneconomical to build yourself.

You need speed to market. When time is everything — launching before a competitor, meeting a contract deadline — a ready vendor team can be the answer.

The Middle Path: Hybrid Teams

Like many business decisions, the best answer is often neither extreme.

The most common hybrid pattern works like this: a small core team inside the company — one or two people who understand the business, own the product, and manage vendors — plus outside capacity for work whose volume fluctuates. The core team holds knowledge and direction; the vendor executes the clear, measurable parts.

Another pattern: start with outsourcing to build the first version fast, then hire an internal team to grow and maintain it once the product is proven. This sequence combines the vendor's early speed with long-term internal ownership — and many businesses find it wastes the least money.

One more pattern worth recognizing: handing a project to a vendor while hiring an internal team in parallel to "learn" from the project. This works if planned — with knowledge transfer agreed from the start — and becomes a disaster if the internal team is expected to understand the system without ever being brought into the build process.

Recurring Failure Patterns in Indonesia

From experience accompanying various projects, four failure patterns recur in the in-house vs outsourcing decision.

1. Counting salaries, forgetting turnover costs. Businesses hire a team, then are surprised when employees leave and the project stalls. Technical staff turnover in a hot market cannot be treated as a rare event; it must be budgeted as a standard risk.

2. Choosing the cheapest vendor. The lowest price in the market usually means the least experience, and rework is the most expensive cost in software. A cheap vendor whose results miss the mark makes total cost higher than a reasonably priced vendor from the start.

3. Contracts without knowledge transfer. Businesses pay a vendor to build a system, then discover they own no source code, documentation, or server access. When the relationship ends, the system becomes a hostage. This is preventable at the contract table, before a single line of code is written.

4. In-house without management. Hiring programmers without anyone to lead, direct, and evaluate results. An unmanaged team is not an asset; it is a cost running without direction. Many companies discover they did not need a programmer; they needed a technical leader — and the two are very different.

Questions to Determine Your Choice

Instead of following trends or other people's experiences, answer these six questions honestly.

  1. Is software at the core of the value you sell? If yes, an internal team deserves serious calculation. If software is only a supporting tool, outsourcing makes more sense.
  2. How often do your needs change? Weekly change demands an always-present team; per-semester change can be handled by a vendor.
  3. How long will this project live? A system used for ten years justifies ownership investment; a project finished in six months does not.
  4. Do you have someone who can manage a technical team? Without a "yes," an internal team becomes a new problem, not a solution.
  5. How much knowledge-loss risk can you absorb? If the system fails completely when the key person leaves, you need structures that keep knowledge in the company.
  6. How fast must you start? A close deadline favors vendors; ample time leaves room to build a team.

Your answers will point toward one main path, with the possibility of combination. No answer is wrong as long as it is fully calculated.

The Connection to Project Methodology

The team path choice also connects to how the project is run. Internal teams run iterative approaches more easily because daily communication is free. Vendors are often more comfortable with clear, documented scope, although mature vendors also run incremental approaches well.

Better to decide the methodology together with the team decision, not separately. A comparison of the two common development approaches — agile and waterfall — is in our article on agile vs waterfall for Indonesian businesses.

Frequently Asked Questions

Is outsourcing always cheaper than in-house?

For a one-off project, almost always. For the long term, often not. A productive internal team over years is usually cheaper per month than vendor rates, before management and turnover costs are counted. The real answer depends on the time horizon and the quality of your comparison.

How do I verify a vendor's quality before choosing?

Ask for portfolios relevant to your needs, not just their most impressive project. Ask who will actually work on your project — not who sells it — and request to speak with them. Check references from clients who used them for similar projects. And watch how they explain their process: good vendors answer calmly and specifically, not with promises and jargon.

When is the right time to move from vendor to internal team?

When the system is proven in use, needs keep growing, and the vendor's monthly cost approaches the salary of your own team. A healthy transition is planned from the start: make sure code and documentation are yours, and allow overlap between the vendor team and the internal team for knowledge transfer.

Can an internal team work alongside a vendor?

Yes, and this pattern is common. The key is a clear division of roles: who owns each part of the system, who reviews results, and how decisions are made. Conflicts most often arise when roles overlap and nobody holds the final decision.

A Decision Worth Thinking Through

Back to the delivery service company at the start: the problem was not a wrong in-house choice. The problem was a decision made without counting turnover costs, without a knowledge-transfer structure, and without a technical leader managing the team. Under those conditions, in-house and outsourcing both fail equally.

The in-house vs outsourcing decision is not a once-and-forever decision. Healthy businesses revisit it regularly: when budgets change, when new projects appear, when teams shift. What matters is not choosing the "right" path according to trends, but the path that fits the cost, speed, and risk you can manage.

If you are considering a software project and struggling between hiring a team or engaging a vendor, the Kartech team in Bandar Lampung can help you see the options clearly: we typically map requirements, estimate long-term costs, and recommend the most sensible team structure — including when the answer is not us. See our services or reach us through the contact page to start from your business problem.

Photo: Unsplash

Bring us the hard part.

Tell us what is blocked, what must be built, or where your current technology is falling short. We will start with the problem.

Talk to us