So you’ve come up with an amazing idea for a new digital business and somewhere along the road, you’ve faced the age-old question: Should you build your product entirely in-house or look for faster routes to market by working with an external vendor?
Googling ‘build vs. buy software' will get you thousand pages with comparisons and pros and cons lists. And while those lists might help you, a lot of them miss the whole point of this question. It’s not an either-or decision, but more of a when-what decision. It’s about finding what fits your business right now, and the answer might differ in a couple months' time.
We had to make these decisions multiple times for our clients and for ourselves internally. We’ve taken the time to ask the hard questions and unravel project specifics that didn’t meet the eye at first glance. Here’s what we’ve learned:
Buy, build or partner? It’s a matter of business maturity.
If you are just starting with a new business and you have lots of industry expertise but no technical or development knowledge, you will greatly benefit from the help of an agency who can take care of the development process, while you focus on building your company. If you’ve already been in business for a while, your digital product is up and running, and you are ready to take full ownership of it, that' when you start building your internal team. Of course, that’s just the tip of the iceberg.
1. Custom development with a tech partner: the most expensive and most rewarding
Having a third-party look at your business plan and advise you on product features can give a much needed helping hand and objective advice. But working with another team would mean your initial ideas might be challenged and reiterated (that’s just part of the process). Of course, finding a suitable partner that understands your business is not an easy task and we’ve covered how this process looks like for insurance companies.
“If that’s the case, why can’t I just hire people as part of my company and cut the extra cost?” you may ask. And yes, technically, you can. But if software development is not part of your core expertise, you will most probably struggle with forming and managing your team efficiently.
Managing software development teams requires extra effort
Firstly, if you’re just starting out, your development & design team is likely to be small (1 designer, 1 frontend, 1 back-end, etc), which means each of them would be solely responsible for their work and will not be able to collaborate and exchange ideas with other teammates (think collective knowledge). Secondly, to make development teams work efficiently, you would also need Project managers, Product owners, Quality Assurance engineers and so on. You would need to significantly expand your team and pay a high upfront cost for hiring and onboarding those people.
You don't want to end up doing this. Image credit: Lokajit Tikayatray
We know this, because we had this conversation with a client of ours, who chose to go on and build an internal development team after we have successfully developed the first product release. Because their core expertise was mental health therapy, they struggled with sustaining the team and within the span of a year, over 6 people came and left their in-house development team. Needless to say, they chose to stick with us for a while, at least until they figure out the most pressing business priorities and free up time for internal team building.
2. Building entirely in-house: it’s slower but gives you full ownership
Fostering internal knowledge and expertise is ideal if you’ve already been in business for a while and have big plans about how your business is going to evolve. Building in-house will also give you complete ownership over the process - from deciding on the concept, to scoping out the full project, building, testing, learning and rebuilding.
At the same time, building internally, especially if your core expertise is in another domain, is likely to take much more time than what an external agency can offer. Then there’s the opportunity cost - it is the work that your team could have produced, have they not been involved in building that solution. Think critically and weigh the options:
How much revenue do you "miss out" on while you're in the 6 - 18 month build phase?
What is the cost of your in-house team building internally compared to the cost you would pay for an external vendor?
Why we built our website’s CMS entirely in-house:
As a development agency, you might assume we never think twice about using our knowledge for our own needs when it comes to custom software. But that’s not entirely the case. When we needed a content management system for our website, we could have easily chosen an off-the-shelf universal solution that would do the job, so our team could be available to take on more client projects. However, the opportunity cost did not add up for us - we knew that choosing a ready-made CMS would save us time but we would have to compromise on the visual quality - and our Frontend team could not allow that. So, we decided to build it ourselves and be sure it will hold up to our standards.
At the same time, for our internal HR needs, we chose to go with the BambooHR platform, instead of building on our own tool - it made little sense to reinvent the wheel, when there’s a perfectly working solution out there at a fair price.
3. The middle ground: Finding a ready-made solution and developing additional features
Although a lot less popular, some companies would choose to go with an off-the-shelf solution (or a white-label product) and custom-develop some additional features on top. At first glance, this seems like a fair option - you are fast to enter the market, you don’t invest in building a whole team from the ground up, but you still have a certain level of flexibility. So what’s the issue?
Well, it doesn’t always work that well in practice. A lot of times, it is hard to predict all the additional features that would need to be added in the future and some might turn out very difficult to execute technically.
A client of ours in the Fintech sector faced this problem with the ‘refer a friend' feature. The Marketing department knew how crucial this is for increasing the user base but their back-office was working on an off-the-shelf solution that didn’t offer this functionality. As a temporary solution, the ‘referral’ was happening manually: an employee was tracking and sending referral bonuses from a spreadsheet, and as you can guess that didn’t work very smoothly. Because of human errors, some customers not receiving their bonuses and leaving bad reviews on the App store.
The bottom line
Whatever option you go with, know that it’s not set in stone. You can start off with an agency and along the way build your own team to take care of the development. Or get a SaaS solution to test your concept on the market and have it custom-developed at a later stage. As evident from these examples, buying vs. building software is rarely a one-time question and it’s crucial for your success to go back to it from time to time.
If you’ve already made your choice for custom development and need a partner, reach out to us. We have the expertise to guide you through the whole product life cycle and we are flexible enough to fit the needs of your team and business.