I’d like to relate a story from a training class:
When flying into Dallas-Fort Worth, the cities seem to shoot up out of nowhere from a giant prairie. Looking closely at the ground you will see many of the roads leading into the cities curve and bend, following no discernable logic at all. Why are they like this? Because back when Dallas was primarily a ranching town those were the paths the cattle would follow as they were driven into town. They would walk the long way around hills, cross rivers only at the low points, and follow a path of least resistance the whole way there. Over time people started following the same paths, and eventually they paved them and made them permanent. So now the town has a bunch of inefficient roads just because that was the way they had always been.
During my twelve years in the ERP software realm, eight of which have been spent customizing ERP software, I’ve heard many times that “All ERP installations require customization”. While I believe this to be true, I also know that it is vitally important to know the difference between customizing ERP software to improve a vital business process and ERP customizations done which only entrench a poor process. So, to use an old adage, be careful with customizing and “don’t pave the cow paths”.
Anything that is customized has an inherently higher value, whether it is automobiles, furniture, or jewelry. ERP Software is no different. Customizing the software always adds significant costs to an ERP solution. Customization must be done as a last resort to solve a problem with the software, which addresses a key business process. To customize a bad process is a sure guarantee of runaway costs and potentially ruining an otherwise successful ERP implementation.
Three Key Reminders About ERP Software Customizations
- “But my business in unique” – Understand the reasons behind the customization. Are you adding significant value to the ERP solution by writing custom code or are you just entrenching a poor process that’s always been done that way. If it’s the latter, then change the process and re-visit the customization. Take a lesson from the companies who understand that the more standardized their processes are, the better the ERP software will meet their needs. Just because your product is unique, doesn’t mean every business process needs to be. Take the time to learn the difference and make the best use of the standard processes in the ERP solution.
- Pay a lot now or pay a lot more later – Find a top-level programmer with significant coding experience. Ask to see their work and have it reviewed by other programmers. Finding, and paying for, a top-level coder up front, will save money down the road. Finding this person after you’ve already had a solution customized by an inexperienced person will be at a far greater expense and may even result in a failed project in the end.
- Plan the work and work the plan – a little cliché perhaps, but a good programmer will gather requirements, analyze them, design and even test, to some extent, his solution in iterations many times before writing one line of code. The coder who writes code first is doomed to fail. The requirements will not be met, the solution will not be robust, it will be full of bugs and may not even work at all.
So as you enter into your next ERP selection or ERP implementation project, remember the cows, my story, and your ultimate project goals and ERP strategy.
Blog entry written by Kevin Cahill, an ERP Consultant at Panorama Consulting Group.