The idea is pretty simple. As organizations compete with each other, they want to tailor the deployed solutions to match their business processes and other organization-specific needs. Enterprise software vendors usually design their software in a way that allows for a significant amount of customization with technologies such as modular architecture, web services, application programming interface (API) and software development kits (SDK).
You might think that all of this is going away in the new world where software is delivered as a service (SaaS). It is certainly true for the SaaS software that targets the small and medium sized businesses or simple generic applications. But if we consider the leader in SaaS - Salesforce.com - as the sign of the things to come, we must realize that most of the Salesforce deployments today are being heavily customized.
Customizations are important. In fact, a big part of the appeal of open source software is the ability to significantly customize it; even re-write entire functionality modules given that the developers have the actual source code. Of course, customizations matter in the world of commercial ‘closed source’ software just as much.
Customizations, however, come at a price. Not only does a typical enterprise deployment often require an investment into professional services that comes at a multiple of the cost of the software licenses, customizations also carry a significant hidden cost.
Every time the software goes through an upgrade cycle, the customizations have to be upgraded as well. There is no easy way around it even if the vendor provides tools to make the work easier. Those are your customizations, they are a one-off type of software and nobody but you can upgrade them. Often the work to migrate the customizations can be significant. If the customizations actually contain significant amounts of original code, migrating them may be akin to a complete re-write.
Consequently, customers tend to struggle to keep up with the vendors who are trying to maintain the pace of innovation. It is important, that the customers are allowed to do that - not to keep up. The ability to skip a version is becoming a critical requirement for enterprise software. Many vendors handle it by providing the notion of safe-harbor releases that ensure that from here, you can move to the next level at your own pace.
In the end, there is no magical solution. Customers shouldn’t avoid customization because they do need the competitive advantage that highly customized software can provide. In many industries such as insurance or financial services, there is very little differentiation possible on the product side. Car insurance is just car insurance and mortgage is just a mortgage. Only the customer experience and the process efficiency can differentiate competitors. Those differentiators require customized software. But customers have to think beyond the customizations of the current release. The ease of migrating customizations is one of the key issues overlooked by many vendors in their slick demos.