The Version Lock Situation
As a business owner or executive working with a business system, you’re bound to come across this question: “Do I perform customizations on my packaged software?”. In my experience, I’ve found there to be different schools of thought around custom coding. For example, I have one client who felt hostage to their old legacy system (client / server on-premise architecture). It was modified over the course of time and they chose not to perform the vendor provided software upgrades because doing so would mean they would have to carefully analyze and tweak their customizations to ensure they work in the new version. I get it — the business is appropriately focused on more important endeavors than to keep their software up to date. Waiting or avoiding the software upgrade is the classic version lock problem. Wait long enough, and you will need to practically perform a new implementation to get after new vendor provided upgraded capacities.
Since doing a software upgrade meant that he was going to practically need to do a new implementation, the owner wanted to see new software. When he and his management team learned and saw NetSuite demonstrations, they were quite enthusiastic. It solved many of the problems they were experiencing with many different disintegrated systems, IT hardware breaking, and all the problems trying to get information out of the ERP system. However, the owner was adamant about not performing any modifications to the future NetSuite environment. His logic was that NetSuite is serving many customers and it should have the built-in best practices to run his business.
Start with the Fundamental Business Practice
What I admired about the owner’s approach was that he wanted his management team to focus on the business fundamentals. He didn’t want to drag any of the legacy customizations that may have been developed to solve a problem that may no longer exist. Yet I was uncomfortable.
Business Requirements Drive Functionality
I knew of a few areas where NetSuite would not meet their requirements. For example, the client had a complex mechanism to handle vendor rebates which NetSuite out-of-the-box did not address. It’s at this point you have a few options:
- Change the business to remove the requirement (typically difficult).
- Produce a workaround which often entails manual processing (typically easiest but usually comes with other operational implications).
- Perform software customizations (solves the problem but requires investment).
In this case the owner was not open to performing software customizations due to version lock. His reasons to avoid customizations were more emotional after feeling burned and hostage to his current situation.
How NetSuite Solves Version Lock Problems
One of the things that I admire about NetSuite is the way that it is designed to be extended. It has a layered architecture to create extensions and customizations. You can’t get at the core of NetSuite (posting logic, transactional integrity, other) as it is protected. But you can extend, modify and produce new logic which acts seamless with the core application. As true multi-tenant cloud architecture, the core software is upgraded, with all of your customizations, twice a year. Good or bad, your customizations are going to be dragged along during the semi-annual major upgraded. Voilà — no more version lock!
When Does it Make Sense to Customize?
With Version Lock behind us, when does it make to sense to perform a customization? I suggest it is powerful to answer these questions from a non-emotional, well-grounded place:
- Implications: What opportunities can be captured, threats avoided, or obligations will be met by performing the customization?
- Financial: What financial investment will be required to produce and stabilize the new software?
- Timing: Can the new software be developed within an acceptable timeframe?
- Maintenance: What resources will be available over the long-term to take care of application maintenance should the customization need attention?
One thing NetSuite nearly fully solved is the maintenance question. To say that your NetSuite customization will never need attention during an upgrade would not be fully accurate. But so long as you develop the software using the practices prescribed, there should be no issues. Hence, the real issue for software maintenance becomes access to talent. Access to talent is always the key question to have answered when performing software customization.
In my client’s case, they developed workarounds to the rebate problem. His logic is that he could not yet understand the impact to make a good assessment to customize. I fully support his decision. Yet, it was not really a version lock consideration that drove this choice in the end.
Is ERP Version Lock preventing you from solving your business systems concerns? Perhaps it is time to take advantage of the latest technology to empower your company?