People install software applications at home and on the go every day. When an app is downloaded, installed and fired up, the user often grabs the opportunity to personalize their app experience through the ‘Settings’ option that almost every piece of software is built with. This is software customization ground zero, at the personal user-level… and it’s mostly a good thing.
The same thing happens in work environments with enterprise software. The difference is that the process is a whole lot more involved, convoluted and expansive. Professional developer/programmer engineers will work with software vendors to tune a core software platform or application and craft it to the specific needs of the organization. This is software customization at the enterprise level… and it’s good thing, but it’s also a bad thing.
Basic enterprise software customization allows customers to tweak software to the operational needs of the organization. This might involve setting the software for specific data throughput rates, provisioning the software to support a particular size of user base and deciding how much storage or how many big data analytics ‘calls’ the software is able to perform. This is good customization.
There are other positive avenues in enterprise software customization according to senior director of product management at Infor Rick Rider and senior VP for technology at Infor Massimo Capoccia. Both men work for a firm that is known for its industry-specific cloud applications, which claim to be more closely aligned to final use cases and so, logically, generally need less customization.
“Taking stock of this discussion, we can say that the very nature and definition of customization has changed. Customization for developers can be a nightmare of IF-THEN options that need to be architected into the way a piece of software works. But if a level of ‘contained’ customization is undertaken as a route to extensibility [i.e. integrating the software with other essential technology services and expanding its scope], via a carefully executed prescriptive methodology, then that’s a good thing. Overall though, it’s better to buy a more specialized product if you can. After all, why would you get a pizza from an all-day diner, when you could go to a pizzeria?” said Infor’s Capoccia and Rider, speaking in a joint discussion.
Chief product officer at IFS Christian Pedersen agrees that tailoring an enterprise application’s user interface (to hide functionality and options away from particular business or user groups) is an positive aspect of customization. He asserts that ‘good software’ has enough interface designer tools to allow this type of tuning without coding.
“Good customization is done via configurations and/or extensions that don’t modify any actual code. Rather – the core code is optimized to interpret an ever-increasing flexibility expressed through meta-data,” said IFS’ Pedersen.
But there’s a dark side of customization. Too much software customization takes customers too far away from the core roadmap of the software vendor. This can make keeping up with product upgrades tough. Service management platform companies go to great pains to try and show customers how they can do more with their platforms and avoid customization. It’s worth their time and effort to do this because it means they can more easily sell the upgrade cycle, which may be a regular cadence of one, two or more platform updates per year.
There’s another reason customization isn’t always good. Major software vendors build their platforms in one of two ways. They either build major single-platform offerings designed to be shaped to the needs of specific organizations at the point of implementation, or they build industry-specific apps designed for specialized use cases.
Big platform plays are good because they’re all-encompassing and powerful. But, equally, they’re bad because they ship with all the features in the box, whether the customer needs them or not. The customer then has to have the software implementation customized, which involves the vendor physically ‘switching off’ all the functions that the customer didn’t want, or didn’t pay for. Some argue that this is power and choice. Others argue that providing an all-functioning Swiss Army Knife approach to software often results in a bloated, clunky deployment that takes up more space than it should.
If ain’t broke…
IFS’s Christian Pedersen comments on this subject further and says that the main reason customizations are bad is because they introduce work and time, risk and cost into the software delivery process. He explains that the more ‘deep’ and ‘extensive’ customizations are, then the more time will need to be spent testing and validating that they still work when applying updates and upgrades.
“We’re talking degrees of difference here. Even simple configurations, such as moving some fields around on a page in the user interface can be impacted by updates. But the impact is usually less than with traditional code-based customizations. In the end it is about weighing the value accessing new innovation, features, security improvements etc. against the impact, effort and risk of keeping those configurations and customizations up-to-date,” said IFS’ Pedersen.
Socks, sandwiches & software
We know that the reality of the situation in enterprise software is that customers want everything. They want software that is independently deployable… yet inherently integrated. This is the ‘big ask’ that enterprise software customers are constantly making of the vendors they sign up with.
When enterprise customers buy software they want breadth, scope and power… yet they also want specificity for a finely tuned sharp edge so that the tool in hand can perform a deft stroke in every use case.
This need for composable interchangeability yet scope for scale and power is a large part of why cloud computing services have developed the way they have. Ultimately, there is no one-size-fits-all in socks, sandwiches or software, so we’ll always have to get used to the tradeoff between prepackaged convenience or custom craft design to some degree.