Whether you’re a carpenter or a consultant, choosing the right tool for the job is half the battle. I’m thinking a lot about this lately as we’re planning the redesign of a particularly complex system for a major client. Here’s the story.
Back in 2003-2004, my client installed a major upgrade of their Lawson accounting system. As part of the project, they replaced their home-grown billing system with Lawson’s project billing software. They were already using Lawson for general ledger, accounts payable and accounts receivable so this was basically a good idea. Using off the shelf software is almost always cheaper than building software yourself—just like buying an off the rack suit is almost always cheaper than getting a custom suit with equal quality fabric.
Unfortunately, the implementation team really only understood Lawson, their “hammer” as it were. They did find a way to meet the client’s requirement. That way, however, was very, very, very complicated. Every time the client sets up a single new project, the system requires the user to enter a total of 37 screens worth of data! And they enter hundreds of projects a year. We’ve automated the process so 98% of the time it works and the users don’t need to worry about those 37 screens. Still, there are too many times when something breaks and the fix is not at all obvious, delaying work and running up the maintenance cost. The client is expanding world-wide so we need to change our ways. It’s time to find a new tool.
My new tool in this case is just a touch of custom development. As I said above, building things yourself is generally more expensive than using a canned solution. Modifications cost money now and cost more money every time you need to upgrade in the future. But when keeping the package pure means pressing the “OK” button 37 times every time you create a new job, it’s time for a new approach. I think we can find a way to reduce the number of screens from 37 to about 10 of fewer.
Final lesson: Off-the-shelf is great as long as the processes you create can be understood clearly by your users. When a system is so complicated that it requires on-going fixes and expensive support, it’s time for different tool.