When acquiring business software there are two general approaches that can be adopted – purchase of “off the shelf”/”best of breed” software or the development of a bespoke application.
Purchasing an off the shelf solution should be the preferred route for any business wishing to automate/improve a generic process e.g. HR or accounts. This allows you to buy in to the accumulated experience that the supplier has built in to the application through numerous implementations. This should also allow a quicker implementation and lower overall cost, however, you will need to ensure that your business processes are adjusted to match those supported by the application.
The development of a bespoke application can be used to automate a business process which is unique to your particular business. This will allow a system to be developed which exactly matches your business process requirements.The down side is that costs can be higher and that you may make mistakes that others have already overcome.
The worst position to be in is to have purchased an off the shelf solution and then have it customised to meet particular business needs. This results in an ongoing cost every time the application is upgraded to ensure that the upgrade works with the customised functionality, that ‘new’ bugs are found in the application and that any application fixes need to be recoded to work correctly.
One company I have been dealing with have got themselves into just such a position. They have large amounts of custom code which is restricting upgrade options and is increasing application management costs.
The consultancy who supplied the system has been paid to install the system, paid to develop the code changes, paid to customise upgrades and patches. This consultancy, it could be argued, would like to perpetuate this situation, as it allows them an ongoing revenue stream.
The moral of the story – caveat emptor – let the buyer beware. Ensure that your are a smart procurer of systems. The consultants who advise you may prefer that you do not follow best practice approaches!!