A less radical approach is to take an existing software product (which could be run on premises or accessed as a service) and have it customized to match your company's operations and processes — either by the vendor, by a third party or internally. "That can still be expensive and open-ended," Bartoletti warns. "You can spend two years customizing software, and every change you make can cost you millions." He adds that there is also a risk that you will end up out of sync with the base product's update cycle. That's because each time the base software is update it is your responsibility to test the customizations to ensure that they still work as expected with the base software and modify them as necessary. By the time this work has been carried out the base software may have been updated again — perhaps to include some of the functionality that your customizations provide.
By taking an open source base product and modifying the code to more closely suit your requirements, it may be possible to reduce the total cost of a modified application. This can be done using in-house or third-party developers, or, in some cases, it may be possible to have customizations carried out by the sponsor of the open source project, who should have developers with the appropriate knowledge of the software, and who will also be able to provide support.
But Bartoletti warns against expecting to save money by customizing open source software. "Open source used to be an alternative to expensive," he says, "but today you are making a multi-year commitment to an open source company to provide maintenance and support."
The lowest cost option, at first glance anyway, is to compromise by choosing an off-the-shelf solution that closely matches the operations or processes that you want to preserve (because they give you a competitive advantage). Off-the-shelf solutions are likely to have lower license costs since they are designed to be used by many different organizations and development costs are shared across a much larger user base.
The problem is that since an off-the-shelf solution won't match your special operations and processes exactly, your organization will still have to adapt to match the software. This process re-engineering will incur some costs, and there will be additional costs to retrain staff to work with the new processes. There will also likely be some amount of lost productivity as staff adapting to the new processes; even seemingly insignificant factors such as different terminology or nomenclature used by the software may require changes to the way your business operates, incurring more costs.
And so we get to the heart of the problem. It can be expensive and risky to develop a new application, or customize an existing one, but the benefit is that you can preserve the operations or processes that give you a competitive advantage. Or you can change your operations and processes to better match existing software, which involves giving up some competitive advantage, but there is less risk. There may be less cost involved too, but changing operations and processes have costs of their own.
Sign up for CIO Asia eNewsletters.