Now I have seen this too many times. Organizations spent months evaluating and procuring a commercial application and then bring in business consultants to “customize” the application to fit their “unique” business needs. Ok, I give you that; you have truly unique business needs. Following is what typically happens.
The application implementation project starts with requirements gathering. Business consultants capture business needs, as-is processes, to-be processes and generate volumes of documentation, for which rain forests will never forgive them. Finally, every one signs off the design documents, in triplet. Generally this is followed by a small kick-off party. How do I know, you ask? Because I’ve been to those parties.
Now that we have all the requirements, the development starts. The “unique” needs of organization require 124 new forms, UI with corporate look and feel, new data objects, new data model, new roles, new state-transitions, new status, different priority types, new rules, new functionality and of course integration with 9 other applications. Let the coding begin. Eight months down the line, testing commences, user training happens, and we are ready to go to production. Of course, only after another well-deserved go-live party.
All is well for few months but then the new version of the application arrives. IT decides to skip that version, after all we just went live after a yearlong implementation. Moreover, we should wait for the next stable version. IT waits for a couple of years, beyond that they start getting too much pressure from business to “upgrade”. The evaluation starts again, and to everyone’s surprise the upgrade does not seem that easy. Initial estimate is six months and essentially most of the customizations need to be re-done. Consultants come in and discover the implemented application now is not even close to out-of-box version that was purchased. Over time, the company has created a totally different application with all new UI, rules, code and barely recognizable data model. Migration tools will not quite work. We need additional scripts to move to the new version.
Sounds familiar? This happen more often than we would like to think. So what is the alternative for companies which want to use functionality and domain best practice that applications provide but creating their own unique value on top of it?
The answer is BPM suite. Use the application for what it does best. Configure the application to your business needs but move all customizations to BPM layer. New UI, new processes, rules, integrations can be moved to BPM layer. This considerably reduces your requirement gathering time, customization time, and time-to-solution. Your processes become agile, and you can change those as frequently as business demands. You can have go-live parties every other week, if you want to. Importantly, when the time comes, you can easily upgrade your applications.
See why University of Adelaide uses Oracle BPM Suite to manage customizations to PeopleSoft application.