Customization Series, 4 of 4: Behind the Scenes (or under the hood) of Customization of ERP Systems

As we have seen in our past blog entries on ERP system customization, there are many serious issues that must be carefully thought through when considering a modification to the core programs within your ERP system.  In this wrap-up on the topic, we will shed some light on the areas of infrastructure and code maintenance.

First, ask yourself these questionsIf you are planning on performing the customizations yourself, how much will the software development kit (“SDK”) cost?  Do you have the product source code or must that also be purchased from your ERP vendor? Do you have the skill set to use the SDK once you have purchased it or do you have to bring someone on staff to write the code or hire a contractor?   These SDK’s can run many thousands of dollars, depending on the tool used.  If you have hired a contractor to do the work, will you be dependent on that contractor to maintain the customizations made?  If using a contractor do you know if he is keeping good Source Code Control and version tracking?

Software development entails the development or use of a source code control system (“SCCS”).  The SCCS ensures that, as changes are made to your custom project, earlier versions of these changes can easily be retrieved if needed, in case a new change to the code turns out to be faulty.   SCCS stores copies of different versions of your program changes so they can be tracked, documented and retrieved, if necessary.

Anytime you begin the process of modification of software, it is imperative that changes made to base code are both written in, and tested against, an isolated environment that is not your live, production environment.  In other words, the objects that run your program, and the database you test against, need to be copied to a completely separate environment so they are not corrupted and lost if the code does not work.

If done right, this will often entail additional hardware and software to adequately protect you from live data and code corruption.  For example, a Relational Database Management System (“RDMS”) like Oracle or SQL Server for your live data will need to be copied somewhere else, so your customizations can be tested against your data without the risk of data damage in the live system.  With most licensing schemes, installation of a second instance of database software requires an additional license fee for that second database.

It is never advisable to test custom code against a copy of your database on the same instance as your live, as erroneous programming statements may cause runaway processes or modifications to your live data.  Should this occur on your live database instance, the entire system can be brought down, shutting your users out of your production system.

This replication of your data environment can easily run into thousands of dollars for hardware and database software.  We have seen dozens of examples where the user, in an effort to cut costs, has brought down production systems while testing bad code.  This left their enterprise without a system while the problem was resolved.  Another method of accomplishing this replication of the environment is through the use of virtualization. Either virtual servers and/or clients may be employed to help isolate the development/ testing/data environment.

Another consideration when taking on a customization project internally is “What about support?”. You may find that you are stuck at the release level you are at for the ERP product, leaving you to support  and upgrade the product internally.

The best solution will most often be working with your ERP vendor to provide the customizations you need and to be able to continue to support the product through updates. There may be additional costs involved for that support, but in the long run they should be minimal compared to the costs of taking this all on yourself.

As you consider customization of your ERP system, we hope this series has helped you understand the risks and costs of such projects, as well as how to evaluate your ERP vendor for the best fit possible within their standard code.

Posted by Ken Hayes, Vice President, ProfitKey International

3 thoughts on “Customization Series, 4 of 4: Behind the Scenes (or under the hood) of Customization of ERP Systems

  1. Don Hebert

    This article does a good job of summarizing the various costs (hidden and otherwise) that can be incurred in a customization project. Hopefully a company considering customization can assess the costs and benefits and chart a course forward. ERP systems almost always represent a long-term relationship with software and the ERP vendor and they both have a stake in the outcome. In some cases the pay-off of customization can be substantial.

    There are actually two kinds of customization, one that updates the underlying database and one that doesn’t. The first type has a much higher number of risk factors then the second and is subject to all of the considerations mentioned in the blog. The second type is really about organizing and presenting information to the end user in creative and useful ways. Although it can be technically challenging to utilize tools such as .net, asp and vba, the result can be of huge benefit to the client company but of low risk to the ERP system. Read-only applications also tend to be resilient in terms of accommodating ongoing upgrades.

    ProfitKey does a good job when it comes to accommodating users that want to custom their system, even though the blog appears to be warning against it. This is understandable given that customizations may represent modifications to the functionality of their system that they have no control over. If customization does become necessary it is a good idea to involve the ERP vendor as much as possible. This will maximize the possibility of success and minimize potential problems.

    By the way, with the trend toward virtualization, the cost of creating test servers is coming down quite a bit. The flexibility and benefits of virtualization tools such as VMware have become quite compelling.

Leave a Reply