Customize and Configure. Two words that are used interchangeably (and mistakenly) all too often. Using one of these incorrectly can typically lead to excessive unproductive time being spent and thousands of dollars of extra money. When many people speak of customizations, they are really looking for configurations. Or when asking for customizations we as trusted partners really need to ask the hard questions to see if the client really needs customization or can we get it done with a configuration or can we guide and tweak the process, so the customization is no longer needed.
I like to use car analogies to help illustrate concepts as almost everyone has dealt with a car at some point.
Car manufacturers typically will put out the same model in different packages or configurations, LE, LX, SLT, etc. They have taken the same base model and added some modifications to it – leather seats – sunroof – larger screen for the display – WIFI hotspot, etc. However, at the core is a base model so maintenance and support of that vehicle is still efficient for the dealer or your local mechanic. Now if you take this even further maybe you personally add to it – some different wheels from the dealer maybe some running boards on a truck – still considered a configuration as the base is still there – easy to return to what it came off the showroom floor looking like – and still able to be serviced by the dealer or widely available mechanics as it is still the base car underneath.
Now, what if I took a truck off the showroom floor and turned it into a race truck – roll cage – custom-built engine – suspension – race wheels – it would be completely custom – very little if anything left of the stock truck from the showroom. If I brought it back to the dealer, I would not be able to have them work on it – it is too “customized”. Now my maintenance is that much more expensive and specialized. I can’t just have any certified mechanic work on it so my expense just went up – and if it is too customized, I may not even be able to fix it or upgrade it and will have to start over. Or I will need to have more custom work done to get it going again and the expense continues.
Now let’s bring this analogy back to the software application world. Many people are of the belief that off the shelf software cannot possibly meet the demands of their business process. However, many systems today are designed to do just that – maybe with some configuration – but little need for customization.
Let’s define the two here in this application world as we did for our truck analogy. Customization, to me, is, changing the inherent way the system is supposed to operate at a base code level – race truck. To the point where someone looks at the system, it will be almost unrecognizable and troubleshooting and upgrading becomes longer and more involved (read – more expensive). Configuration would be changes using out of the box code or parts of the system to fit the need – SLT with some nicer wheels. But the system itself is still as it was designed and easy to upgrade and troubleshoot. Configuration could even involve some complex coding to make it happen, but it would still be within the standards of the base system, so it is able to be supported the same way.
Now in my truck analogy, some of you may say well race trucks are customized for a specific purpose. Would we not customize software applications for our specific purpose or process?
Well maybe, but this is where I challenge you. How specific is your purpose or process really? Chances are not really. Now hear me out – I am not saying your process or need is not real or important but I bet if you looked elsewhere in your industry or even across other industries you will realize that your process is not that unique – that others are doing it – and maybe even dare I say better and in a more efficient way. Maybe look to adopt what others have figured out. In the end, I would say your clients don’t really care about how different your process is as long as they have a great experience with you. It does not matter if you adopted your process from someone else. Your difference should be the people and talent you have supporting that process and delivering your products and services. The less complicated and customized something is to use the easier it is to deliver a great experience.
Do you really need a race truck or will the stock truck with a few certified add-ons be better for your purpose? Especially if you put the right driver in that truck.
Having the willingness to say “hey others are doing it and using this application – let’s see how they are using it and let’s try it” takes guts. It is hard to let that process that you built, over potentially years, go and try something else. However, rather than customizing the system to fit your specific iteration of a process – look at how the system solves for your process and try that approach. If with a little configuration the system will work for you – in the long run, you will be far better off from a system maintenance standpoint and be able to take advantage of any new features released by the vendor.
There are many systems out there such that if you do not find one that fits your need without heavy customization – keep looking. If you still don’t find one – look within and ask the hard question – is there a better way to do this – can we let the software guide our process? There are 1000s of businesses out there and application system designers work with them all, so chances are they have seen it more than you have and have figured out that best starting point already.
You can either let your process dictate the system – or let the system dictate your process – with some configuration changes. (Of course, this is another area of debate – maybe another article).
Another benefit of letting the systems guide your process flows allows you to focus on the people aspect of your business and improving your services. It frees you up to take quick advantage of the next release of that business system and allows ease of troubleshooting and maintenance. It saves time and money when you look and say “hey my process is not that special” – my people are – my product is – therefore my business is.
As a closing point, I will say that there is a place and time for customizations or a custom app. For the customizations, all I am saying is to be more calculated with them rather than it being the first go to. And for the custom application, systems like ServiceNow have a great solution – scoped applications. You can isolate your custom work so that the base is still manageable. More on that maybe in another article.