Enterprise Applications: Customization Vs. Configuration

One way businesses are coping with the challenge of upgrading and optimizing enterprise apps is to avoid customization. But configuration options present challenges of their own.
Case For Custom

For some businesses, customization is part of how they differentiate themselves. A prime example is Nissin Foods U.S.A., one of 36 subsidiaries of global Japanese food company Nissin Foods. Nissin USA has customized its Microsoft Dynamics NAV ERP implementation to handle trade promotions, electronic data interchange, supply chain management, and manufacturing resource planning tasks that are unique to the industry and the way it works.

"As a food manufacturer, we're picky about everything, and we couldn't find anything off the shelf that fulfilled our needs," says Ruben Haritoonian, head of MIS and IT. Working with systems integrator Deloitte, Nissin considered SAP, Oracle JD Edwards, and a few other ERP options before settling on Dynamics NAV. The selling point: "It's highly customizable," Haritoonian says.

With customization, Nissin was able to retire a $1 million legacy trade promotion software package, and within two years, it paid for the custom work with the money it saved on software maintenance of the legacy system, Haritoonian says.

We also hear some IT pros say that cloud-based apps and customization just don't go together, but that's a myth, says Stephen Baumer, CTO at GoPro, a maker of wearable and gear-mountable sports cameras. GoPro, which runs its IT operations almost entirely in the cloud, has done multiple customizations of its NetSuite ERP, e-commerce, order management, asset management, inventory tracking, and CRM applications, Baumer says. NetSuite provides SuiteBuilder customization tools and a SuiteFlow workflow engine. To change functionality that those tools don't expose, you can "open up the hood and customize at a deeper layer with JavaScript," he says.

In its most complex customization, GoPro didn't want to use NetSuite's standard functionality for credit holds and credit limits, so it developed and inserted its own algorithms by uploading a one-page JavaScript file into the library associated with GoPro's instance of NetSuite.

So what happens when NetSuite rolls out its next upgrade?

"NetSuite gives us advanced warning that there's going to be an upgrade, and we have 2-1/2 months to validate all of our scripts in a test environment," Baumer says.

Having a limited number of scripts and a single customization is one thing, but does the list of customizations inevitably get out of hand, as it can in the on-premises world? "We're probably getting to that point, to be honest," Baumer says, noting that GoPro has about 25 customizations, though most are tiny, three-line code changes, he says.

Sometimes the company doesn't even get around to testing the customizations, yet it has never run into a major problem in the wake of a NetSuite upgrade, Baumer says. "NetSuite is conscious of the code that's out there, and they don't usually make changes in a way that makes scripts break," he says.

Reconsider Your Methods

For SaaS and on-premises software vendors alike, configuration is now the favored approach for letting customers tweak application functionality. It's also used to add industry-specific features. In some cases, vendors make a point of spotting often-customized features and functions and making them more flexible through configuration settings.

While all IT teams try to seek out the enterprise applications (particularly deep ERP systems) that best fit their needs out of the box, the reality is that the business may still need some level of customization. With that in mind, explore the depth and breadth of options: What can be done without customization, and what development tools, APIs, source code, partner resources, and support options are available if you do need to customize?

If, at first blush, a business requirement doesn't appear to fit with out-of-the-box capabilities, have the discipline to ensure that requirements are well documented and thoroughly understood. In fact, Eric Kimberling, an ERP expert and president of Panorama Consulting, advocates a thorough cost-benefit analysis before writing a single line of code. "Ensure that you're only customizing where it provides the company with a unique competitive advantage and where there's no viable workaround within the system," Kimberling says. Otherwise, you may be committing your IT team to supporting custom software--keeping the lights on, that is--for the long term and for no good reason.

Chart: Does your company use any enterprise software as a a service, cloud-based, or on-demand applications?