To build or to buy?
Most businesses will at some point run into the inevitable question — should I purchase a license for a ready-made software solution to support my daily operations, or should I develop an IT solution that caters to my specific business needs? At the end of the day, there’s no one correct answer to this question. There are benefits and drawbacks to both approaches, and sometimes the best way forward is a combination of both.
Ready-made software — a quick set-up has its benefits and drawbacks
There’s a wide range of generic software applications available for most if not all industries. These solutions boast instant accessibility — all you need to do is set up the system by connecting it to your devices and you are all set. This might seem incredibly efficient, and if your needs are as standardized as the software, then off-the-shelf is probably the way forward. Generic applications are also often designed to support and promote industry best practices and can thus be used as a tool to improve processes on the go. The developers of such popular ready-made products have access to extensive user feedback and often integrate that knowledge into the final packaged solution. An example of such software is Navision, one of the most widely used solutions from the Microsoft Dynamics family.
The biggest benefit of the standardised solution is the size of the initial investment, which is noticeably cheaper in comparison to custom development. The cost of a ready-made package is low as development costs are divided between the many parties using the application. The cost-benefits of such software is likely to become redundant when customisations are required to facilitate the growth of your business.
Customisations are developed with a specific user base in mind. While the initial, budget-friendly solution might work today, the price is likely to go up with every upgrade. Be prepared to budget for additional expenses to cover the manual transfer of your add-ons if you have added customised solutions on top of the standard package. Customisation is not a quick process but customising a licensed solution will limit you to working with a small number of specialists who boast an in-depth knowledge of the licensed software. This is likely to push the costs up by up to 80%.
Custom-made software — patience leads to greater control
If your line of business or specific operations requires constant customisation, then it’s definitely better to opt for custom developed software. Custom development opens you up to endless functions and personalisation options with no need for compromises — much like buying a tailored suit. This does require a larger upfront investment and planning, but the solution’s effectiveness will most likely see this upfront investment rewarded in the future. When developing a tailor-made solution, each function of the business process is broken down and analysed to come up with the best solutions, keeping your workforce in mind. A custom solution is shaped to fit your business, rather than the other way around — a great option for established businesses with complex workflows and strategies. Having said that, even large businesses often use a mix of standardised and tailor-made software solutions. Rather than taking on a large customisation project, we recommend developing one stage at a time by starting with a solution that is most urgent.
Creating a custom solution could leave you dependent on the custom software developer, but if you choose your partner carefully you’ve got the benefit of a software team that truly understands your business.
There’s no cookie cutter answer as to what the right solution for your business is. Before jumping into custom development, it is wise to do some market research and see if there’s perhaps a solution out there that already fits your size and line of business. If you do not currently employ specialised staff to handle your IT projects, then the best option is to turn to a development agency for an initial consultation.
What can we suggest in case there is a suitable product on the market, but there is a need to manage the risks we covered in the first section? One option is to take a service-oriented approach (SOA), where you have the core system as standard as possible and all the differences and additional needs and requirements are done as external, integrated services. This solution allows you to start quickly with the standardised tool and add exceptions and special requirements later. The standard system should provide enough API’s for third-party solutions to integrate with.