Profitable software development: Should you hire in-house or a development firm?
In the tech world, custom software development is part of how products are differentiated. You have an idea, you create a custom product, and the product goes to market, but product development is a part of everyday life in tech companies. Figuring out how and when you should hire in-house or external resources can be tricky.
Should you hire an external dev firm to help you scale? Or should you hire someone internally?
Like most questions surrounding business decisions, the real answer is “it depends.” We’ll examine the pros and cons of each option, starting with three considerations you should think through. We’ll then sum up key points and contrast a couple of scenarios to help clarify your best fit.
3 Basic Considerations
Talent Availability & Required Skills
In-house developers know your organization, goals, and quirks of internal customers. In other words, they “get” you, you trust each other, and they’re just a few steps or a Skype call away. The challenge is that their know-how is likely limited to a sub-specialty, even if they excel in their area of expertise.
Are they proficient in web, mobile, and desktop software development? Can they manage front-end and back-end architecture? It’s exceedingly rare to find someone skilled in multiple facets of custom software development and all that your project will require from start to finish.
By contrast, a custom software development firm can deploy developers, business analysts, UI/UX experts and other specialists to manage your project, each mastering different aspects to ensure quality, accuracy and speed.
In all, we find it typically takes about three people to execute a successful custom development project. Whether insourcing or outsourcing, you’ll need to ensure you have the right mix of specialties, including UX/UI design, development, and analysis.
Moving parts of a custom software development project include:
- Analysis of the problems you want the software to solve
- Compilation of current processes
- Financial and resource considerations
- Quality control
- Project planning, timelines and communication/reporting
We don’t know many developers who can manage all of the above and do all of it well. If assigning a custom development project to a single employee or contractor, it’s inevitable they’ll take shortcuts to get the work done — it’s simply too heavy a load to carry alone.
For that reason, we advise having a well-balanced team working on your project. Don’t expect good results from a one-man/woman show.
With internal hires, you take on their salary, benefits, and other payroll expenses. A junior developer will cost you at least $80,000 in annual salary, plus benefits. Expect to pay more for a senior developer. It’s wise to also factor in how much of your time you’ll give up to manage this individual or team.
Custom development firms work with a budget. Expect to pay approximately $120 per hour on average, which includes a bench of specialists, rather than a single developer.
Insource or Outsource?
At this point, one option may have emerged as your best bet, just based on the info we’ve covered so far. To further clarify your best path forward, below we contrast scenarios and best practices we’ve observed from scores of software development projects:
Scenario 1: New project from scratch
Hire In-House If…
- Your business is the software you’re creating.
- You have a significant investment that allows you to hire a multi-talented team.
- You understand the documentation that needs to come out of a first-time build.
- Your software will evolve constantly.
Hire a Dev Firm If…
- The software is just a piece of your business.
- The software is a one-time project and won’t change rapidly, aside from some maintenance.
- You can only afford one developer but want the expertise of a team of specialists.
- You want professional documentation that could be passed on to other firms or developers
Scenario 2: Enhancements to existing software
Hire In-House If…
- You have good documentation for your existing software.
- Your software will evolve constantly (versus a one-time project).
Hire a Dev Firm If…
- Documentation is subpar.
- You need to add features but the software won’t be constantly evolving.
- Budget is tight.
Keep in mind that you can also take a hybrid approach where you have an internal team and you can hire a development firm to consult on the best way to tackle different aspects of the product that might not be their expertise.
All things considered, the right mix of skills and proper documentation serve as insurance against costly problems and delays, ensuring your software supports your operations, revenue and client care for the long haul.