Bespoke Software Development

Custom software – Taking the Hybrid model approach

Custom software – Taking the Hybrid model approach Computer software (aka programme or software) contains Read More

hybrid approach to custom software
hybrid approach to custom software

Custom software – Taking the Hybrid model approach

Custom software – Taking the Hybrid model approach

Computer software (aka programme or software) contains a set of instructions to direct a computer to perform specific tasks or operations. Businesses often invest in software to store, retrieve, streamline and automate their business processes. For example, operational system like Customer relationship management (CRM) software can help the business manage its interactions with current and future customers in order to drive sales growth and improve business relationships with them.

When a business decides to invest in software, they have three main categories of software to choose from:

  1. Commercial Off-The-Shelf (COTS) software
  2. Custom software (aka bespoke software)
  3. Hybrid software

As this article focuses on the hybrid software model.

Introduction

Commercial Off-the-Shelf (COTS) software:

COTS software can be compared with ready-made suit i.e. pre-build to address specific set of business needs. Microsoft Word and Excel are very good example of COTS software which address specific needs for creating, editing and managing documents and spreadsheets.

Custom (aka bespoke software)

Custom software is just like a tailored made suit i.e. specially developed for some specific organization or a user to accommodate their particular preferences and expectations.

Hybrid approach

Hybrid approach, as the name suggests, is an approach that aims to deliver the advantages of COTS and custom software, and mitigate some of the disadvantages associated with them. Under this approach, the main focus is on the COTS software – mainly the mismatch between its features, functions and the business particular requirements, preferences and expectations. The idea here is to buy a COTS software which satisfies maximum number of requirement and develop a custom software (extensions or add-ons) to fill the gaps left by it.

Implementing large and complex COTS software like ERP, CRM, CMS, etc. often require the development of custom software extensions and add-ons to fully integrate it with existing software applications and business processes. Generally, all vendors of COTS software include the cost of developing extensions and add-ons as implementation costs. These costs vary from business to business and take into account the time required to define, develop and manage the development of extensions and add-ons.

When compared with COTS and custom software, a hybrid approach is just like buying a ready-made suit and then giving it to a tailor to make alterations to deliver a better fit.

Advantages:

Time:

Generally, taking a Hybrid approach is much quicker when compared with the time it takes to develop a custom software. This because in order to develop a custom software, a business needs to go through a software development process, which for some business automation requirements, can take weeks, months or for complex requirements can even take years.

Buying a COTS software that satisfies majority of the requirements and developing custom extensions and add-ons helps to significantly reduce the time it takes to implement the software and realise the benefits sooner.

Cost:

COTS software aims to please the masses instead of the classes i.e. they focus on the most common automation requirements of a particular industry, vertical or a business function. The objective is to sell/license it to any many businesses as possible. This is only possible if the investment required to buying/license and maintain the COST software is less then developing a custom software from scratch, which is generally more expensive.

Hybrid approach allows the business to buy COTS software which closely matches its requirements and invest in custom software only for developing extensions and add-ons, which requires significantly less effort and cost.

Agility & Competitive edge:

When it comes to enhancing/upgrading COTS software, the business is dependent upon the COTS software vendor to come-up with new features and functions. Also the timing of such upgrades is also under the control of the vendor and sometimes can result in a long wait for a crucial function or feature that the business desperately needs.

With the Hybrid approach, the business always has the option to enhance the extension/add-on without waiting for the COTS software vendor to release an upgrade. This can provide the much needed agility and give a competitive edge over other businesses who use COTS software and have to wait for an upgrade.

Disadvantages

Maintenance:

Having more than one software application (COTS software being the main application and custom extensions/add-ons being another) can increase overheads required to successfully run and maintain them. Maintaining the necessary hardware, licenses, upgrades and patches for the more than one software application will definitely add to the cost and effort required.

If the vendor of the COTS software application is different to the company that’s developed the custom extensions/add-ons, maintaining separate legal contracts can also add to the maintenance and overhead costs.

Dependency:

In a hybrid model, the extensions and add-ons are dependent upon the COTS software. This dependency can be on any feature or function viz. technology, APIs, database design, screens, processes, etc. If COTS software is modified in any way (epically during upgrades and patches), it increases the likelihood of the custom extensions/add-ons to stop working.

This dependency also applies the other way i.e. it might not be possible to upgrade the custom extensions/add-on to enhance them because of limitation in the COTS software.

Redundancy:
In some hybrid scenarios, data stored in COTS software is replicated and stored separately by the custom extensions/add-ons. In such situations, there is always a risk of data discrepancy and violating referential integrity in the two applications, which may require manual upgrades/maintenance to keep them in sync.

Cost overheads & license restrictions:
Sometimes COTS software have licensing restrictions on the way users and other systems can interact or exchange data with it. Allowing the custom extensions/add-ons to integrate with it might require purchasing additional modules, the costs for which might negate the benefits for the same.[/vc_column_text][/vc_column][/vc_row]