When purchasing a software application, we are faced with deciding between several options. Should we buy an off-the-shelf software application, also known as COTS (Commercial Off-The-Shelf)? Should we contact a software development company to build the application from scratch exactly as we want it? Or should we opt for a BPMS platform on which we can configure the desired application? Such a decision is not easy at all, as each option has its advantages and disadvantages, and the optimal choice can only be made after evaluating several parameters.
Let’s analyze the three options together and see how they compare.
1. OFF-THE-SHELF SOFTWARE APPLICATION
The first option that comes to mind is an “off-the-shelf” software application, and it is often the selected choice. A highly diverse market of ready-made software applications covers almost any organizational need, from ERP to CRM and from WMS to BI. This type of application includes various settings that allow the activation and deactivation of different functionalities or modules, and various customizations based on the client’s specifics. Different providers use a wide range of technologies, and the interfaces and functionalities are highly varied.
Advantages of an off-the-shelf application:
- Best price compared to a custom application or BPM (because the application is sold in series);
- Delivery time is very short since the application is already developed;
- Technical support is good both in terms of price and availability because it is offered to a large number of clients and can therefore be optimized;
- The application is generally stable, with few defects, and receives relatively frequent updates;
- Includes best practices from various industries, report templates, and standard functionalities in line with legislation (where applicable).
Disadvantages of an off-the-shelf application:
- The possibilities to adapt to the client’s specific needs are limited;
- Custom functionalities cannot be developed unless requested by multiple clients;
- You cannot differentiate yourself from your competitors if you use the same application with the same functionalities and performance;
- The possibilities for interconnecting with other applications or systems are generally limited;
- Updates are usually paid for through a subscription, and opting out of them is not a solution because, in the long term, you may be left with an outdated application that the provider will no longer support;
- Dependence on the provider – changing the provider can only be done by giving up the application. Moreover, data is usually stored in a very particular way at the application level and is difficult to extract and import into another application.
2. CUSTOM SOFTWARE APPLICATION
A custom software application is an option that comes to mind when: “What we need is so specific that it can’t be found anywhere ready-made.” Moreover, sometimes managers say, “And if we are going to make the effort to build this application, we want it to be ours and not end up with anyone else,” even if it means paying extra. We will see that a BPMS platform can also meet these requirements, but such an option is newer and much less known.
Advantages of a custom software application:
- Provides excellent flexibility to meet the client’s needs both in terms of graphical interface and functionalities;
- Selection possibility – there are many companies (both domestically and abroad) that offer custom software development services using various technologies;
- Offers the possibility to own the intellectual property rights to the application so that another company cannot use it.
Disadvantages of a custom software application:
- It is the most expensive solution compared to an off-the-shelf application or a BPM;
- Development time is generally long, and most projects of this type experience delays and cost overruns compared to the initial plan;
- Requires excellent collaboration between the client and provider throughout the project to correctly identify requirements and implement them as expected (because once created, changes are not easy to make);
- Maintenance is expensive and time-consuming – due to the particular way the application was developed, as well as the disbanding of the development team and incomplete documentation at the code level (a situation encountered in most cases);
- Modifications or adding new functionalities are challenging to make, so the development time is extended, often with incomplete testing, leading to operational deficiencies; for all these reasons, the cost of changes is high;
- The possibilities for interconnection with other applications or systems are limited to the initial design;
- Dependence on the provider – even if the client owns the source code, in the case of a complex application (with hundreds of thousands of lines of code), transferring maintenance or new developments to another company is complicated and implicitly becomes very costly.
3. BPM PLATFORM
The BPM platform, a newer and less known option, is a digital transformation solution that allows businesses to model, implement, execute, monitor, and optimize their processes. It offers an interesting mix between an off-the-shelf application and a custom application. Specifically, the platform includes a user portal, a database, and a graphical interface that uses BPM principles to construct application functionalities without writing code. Once the platform is installed, any number of workflows can be implemented on it. These workflows can be modified quickly, often without the need for provider intervention. The application is dynamically built based on the configurations made, and changes can be published in the user portal in real time.
Advantages of a BPM platform:
- Offers the highest level of flexibility and agility compared to an off-the-shelf application or a custom application because it allows for easy initial modeling and re-modeling of processes;
- Allows for gradual and agile implementation of business processes, sometimes even by the client, with minimal involvement from the provider;
- Enables quick and easy interconnection of data from various processes as well as integrations with other applications and systems at the database level or via API;
- Processes are generally visual and easy to understand for good inter-departmental communication versus the “hard-coded” method used by custom or off-the-shelf applications;
- It offers the possibility to own intellectual property rights over the concept of processes so that another company cannot use them.
Disadvantages of a BPM platform:
- Has a medium price both for acquisition and maintenance – higher than an off-the-shelf application but lower than a custom application;
- Implementation time is medium – shorter than a custom application but longer than an off-the-shelf application;
- Dependence on the platform – processes are configured at the BPM platform level and depend on it. Migration from one platform to another is generally easier than in the case of applications created from scratch or off-the-shelf, but it can still pose challenges;
- The graphical interface and functional capabilities are generally more limiting than in the case of a custom application, but this can also lead to higher adoption of such an application.
Conclusion
Depending on the company’s maturity, business strategy, and available budget, the optimal choice may be an off-the-shelf application, a BPM platform, or a custom application. In the infographic below, we have summarized the options for a synthetic understanding of the phenomenon and for faster decision-making. Whatever decision you make, don’t forget that it’s essential to remain consistent with your business strategy!