Should you build or buy software
by Dominic St-Pierre, Founder
At a particular stage, most businesses face challenges that software can help them solve—depending on whether the problem is core or not, the decision to build custom software or buy an existing solution emerges.
Rule of thumb for buying software
As always, the answer to most broad questions like these is: "It depends." If the problem isn't core to your operations and reasonable solutions exist, buying an existing software is probably a good choice.
Accounting, CRM, and ERP software categories are usually decently addressed by software-as-a-service companies. That being said, we've built a custom CRM for one of our clients in the past, but customer relationships were part of their core business workflow.
Still, you should be able to find a good matching existing software for these problems. Also, it is not worth it to expedite this decision. Make sure your team experiences real issues before starting to look at solutions. Implementing a CRM can wait unless the need is real.
Pros of buying existing software
- You get the software quickly: Usually, it will be faster to buy than build since the software is theoretically already in production for other customers.
- Lower initial cost: Going with an existing software solution involves less initial cost; however, be careful; see the cost of adoption in the cons.
Cons of buying existing software
- Time-consuming for all teams involved: Searching, testing, and deciding which software to use is time-consuming for everyone.
- Disagreements: Unless you go with a dictatorship approach, people will have different opinions and preferences, and reaching a consensus can be more complicated than you think.
- Data migration: You must account for the cost and complexity of importing your existing data into the chosen software. It can imply a higher price for your company.
- Cost of adoption: Your employees need training and time to learn the new software and processes. Choosing an existing software removes the flexibility of matching your current operations with the software workflow.
Based on those pros and cons, you can analyze and project if the decision to buy is the better path. Sometimes, it's worth entertaining what it would look like to have a custom software built and then make a decision.
Building a custom software
We've been creating software systems for more than 15 years. The primary objection we've heard is, "We cannot handle the process of building our software. We're not a tech company."
Your company does not need to be technical to participate in the development process of your custom software. You need to know the problem(s) you want the system to solve. Understanding business problems is one of our strengths, by the way.
Pros of building a custom software
- Tailor to your needs: As the name implies, custom software is a system that's 100% addressing your business's challenges via processes that align with your core workflows and that you approve and validate.
- Teams collaboration and training: The teams involved with the software will collaborate and agree on direction during the development phase. That counts as training, as they are helping shape the system over time. Early versions are a good playing ground to get familiar with the flows.
- Lower cost in the long term: All software systems have the same phases: development, polishing, and maintenance. Expenses drop significantly in the polishing phase, especially in the maintenance mode phase.
- Control over your data: More often than not, custom software development includes data migration. Most importantly, your company owns your data and controls where it's the most secure to host them.
- Flexibility: Your company evolves, and so are your processes and workflows. Having custom software ensures your system grows with the company and does not require switching solutions in 10 years.
Cons of building a custom software
- High initial cost: Building custom software for your company implies a decent initial investment.
- Risks: Not choosing the right partner can be risky, sometimes fatal to a project's success. Ensure the company you entrust with your software development understands your problems and expected solutions.
In conclusion
Even though we're building custom software systems as a living, we've tried to be objective. It is a challenging decision.
One tip to help you assert a software development partner and lower the risk of failure is:
Top tip
Start with a small but core problem you have. Shrinking the complexity of the first project and getting a valuable deliverable can help you gauge the fit of a software development partner.
In any case, we're always happy to help. Do not hesitate to reach out if you have any software development needs.