Customization vs. Configuration: Which approach is best?
Software vendors have always sought to provide highly adaptable solutions by allowing customization. Most vendors will claim that it’s easy to customize their solution. However, there are two different approaches. One approach involves the need to program or code (customization) and the other involves using a simple user interface that non-programmers can set up (configuration).
While custom coding offers the promise of doing virtually anything you may want to do, within reason, it typically comes with a high cost. Customers have to employ either large IT teams or many outside consultants to change the application whenever business requirements change. And, many times the application is so “customizable” that you can’t make the software do much of anything without lots of coding. This coding-heavy approach leads to scope creep, long implementations, and broken budgets.
With today’s plethora of cloud solutions and mobile apps, most of us want the ability to configure quickly and easily without having to know how to code. When evaluating new solutions, it’s important to ask software vendors to demonstrate how to configure the application so you can determine the level of effort and technical expertise required to do so.
Configurable Solutions Have Lower Total Cost of Ownership
Applications designed to allow easy configuration via an intuitive user interface provide the ability to add or change users, security privileges, approval routings, fields, page layouts, and more. Truly configurable applications are always fully supported whenever new versions are released. This means that software vendors have reviewed backward compatibility to ensure past and future functionality with the ability to configure without breaking how the application or any integrations work.
For solutions with a code-based approach to customization, it’s very different. Each customer may have customized the application in such a way that the vendor cannot guarantee compatibility for new versions (or at least not without significant additional consulting and coding). Many times, customers become rev-locked on an existing version because the level of effort to bring the customization forward with the new release is too high, impossible, or deemed to be risky.
From a financial perspective, configurable solutions cost less to implement and deploy than customized ones. Companies must take into account the total cost of ownership when evaluating the initial implementation of software, the ability to upgrade future releases, and the effort required to maintain the solution with in-house IT or external consulting resources. With this in mind, it’s wise to consider the entire cost-benefit analysis to determine the total cost of ownership.
Aside from comparing the software subscription, initial implementation, and ongoing cost to maintain the system, buyers should strive to talk with several customer references to understand the level of effort required to modify and maintain both types of applications. Surface-level questions about customization won’t do the job, either. Prospects need to ask detailed questions about setting up users, fields, screens, routings, security, and external access. Detailed questions will help you understand the implications and benefits of using each system.
Scalability and Ease of Administration
One common fallacy about configuration and customization is that customization offers greater scalability. With modern cloud-based software, solutions were designed to be configured by just about anyone while also being able to scale from small to large global enterprises. With minimal training on the use of the administration of configurable solutions, users can quickly learn how to configure their software to meet their specific business needs.
Solutions that must be customized via coding require more technical resources to modify the system and maintain it whenever business processes demand changes. With configurable solutions, the software provider develops with ease of administration in mind. The administration user interface is designed in a straight-forward manner with built-in drop-down menus, pick lists, and field attribute options.
Some would argue that customizable solutions offer greater flexibility in regard to integration as well. However, configurable solutions are often easier to integrate, especially if the software provider offers application programming interfaces (APIs). With standard APIs, customers could write their own integrations, but more often, software vendors create an ecosystem of partners willing to create API-based integrations to upstream or downstream systems like enterprise resource planning (ERP), computer-aided design (CAD), and customer relationship management (CRM) systems. So, configurable solutions with APIs offer the simplest and easiest way to support business processes that span more than a single system. And, the use of APIs ensures that future releases will be designed so integrations will work as the primary software solution evolves. With a customized solution, there is no guarantee that the solution will easily upgrade or that integrations based on customized code will work going forward.
Purpose-Built Cloud Solutions Offer Flexibility
Both on-premises and cloud-based solutions can offer customizable or configurable approaches. But true multi-tenant cloud solutions offer shared infrastructure to scale and provide lower costs. These multi-tenant solutions are architected from the ground up to maximize the consumer experience and ensure easy upgrades and greater scalability with configuration built into the model. This is the only way multi-tenant cloud solutions can guarantee that every customer can upgrade automatically every time the cloud vendor pushes out a new release. Every customer comes along for the ride with nobody left behind or stuck on older revisions due to customized code conflicts.
The “cloud train” left the station long ago and more than 80 percent of companies will rely on cloud solutions by 2020, according to LogicMonitor. On the other hand, on-premises solutions are projected to decrease by 10 percent and will account for only 27 percent of all workloads by 2020.
Which Approach Is Best?
For companies that want to move fast, collaborate with large distributed teams, and own their own destiny as business processes evolve rapidly, configuration provides the best option to meet business requirements, control costs, and ensure long-term viability of software solutions. There will always be a few “nirvana naysayers” who tout the need to customize applications to meet every customer-specific business process. But the cost, time, and risk associated with the custom-coded approach is too high for today’s modern, lean enterprises that want the ability to control their own path without relying on custom code, expensive technical resources, or risky science projects.