“No customization” mantra doesn’t work anymore
In many projects, I hear the same thing: minimize the number of customizations and stick to out-of-the-box. The rationale is clear: the more things you add or change, the more expensive and complex the further support is going to be. Systems are getting bigger, less transparent, comprehensive and changing the default behaviour creates unpredictable, hard-to-detect side effects. The cost of errors is increasing too. However, there is a flip side to that, and that is the lack of flexibility and responsiveness. What is a greater evil?
There is another trend that we need to take into account: amazonization. Yesterday this great company reached one trillion dollars in value. Amazon has been killing brick-and-mortars and independent online stores by offering better service and prices. Standard best-practice solutions may not work anymore, because giants will always be certainly out front. Small start-ups will have the advantage of personalized, custom way of interacting with a customer. Being unique is a great leverage to get ahead.
All IT solutions, and e-commerce platforms are not an exception, are aimed at automating and enhancing the business processes you currently have or you need to have. If your business is built with some standard “business template”, you will likely be happy with many packaged solutions. Simply because they were made for such companies as yours. However, such businesses are getting to be a thing of the past. In order to survive in this new age, you need to be unique.
Loving diversity, on the other hand, allows us to grow, to understand others in order to better understand ourselves and to evolve. Being different is crucial. Who would want an exact copy of themselves next to them their entire life? The same is with the systems. Can you imagine a world where all human beings are identical? What we see now is a lot of identical stores. Yes, it is a working model today, but what will we have tomorrow?
In the world of the similar-looking things, any bright idea makes you visible. The e-commerce platforms give you some space for that, but, with time, it will stop to amaze customers: your store is no longer better than Amazon. Your solution will be as grey as thousands of others on the market.
Each component of this triangle needs to be aligned with others. The technology stack is inextricably linked to the processes and people. Of course, you can train people to make tools and technologies useful, but you need also to change processes. Alternatively, you need to change the system having the processes and people fixed as is.
Changing the processes is a challenging issue. You may find your processes a key competitive advantage. However, from the IT project manager point of view, changing the processes is something that outside the project, while changing the system and training is part of it. That is why many prefer to recommend changing the processes rather than customizing the system.
Be holistic
Changes are to be implemented across the people-process-technology stack, the golden triangle of change.
Each component of this triangle needs to be aligned with others. The technology stack is inextricably linked to the processes and people. Of course, you can train people to make tools and technologies useful, but you need also to change processes. Alternatively, you need to change the system having the processes and people fixed as is.
Changing the processes is a challenging issue. You may find your processes a key competitive advantage. However, from the IT project manager point of view, changing the processes is something that outside the project, while changing the system and training is part of it. That is why many prefer to recommend changing the processes rather than customizing the system.
Gábor Török
5 September 2018 at 07:52
Great article, thanks for sharing, Rauf!
You know what? Originally, I also thought that given such a flexible system as Hybris and assuming that we have a bunch of Java devs in the team, why not hack the whole system apart? Then, I had to realise that there may be a significant risk in implementing something that already exists (even if partially) in Hybris, since this system has been used by many clients over years, after all.
That said, I would say clients should STRIVE to minimising the level of customisation and of course shall never believe that zero-customisation systems exist. Let’s aim at doing configuration over customisation, don’t be afraid of changing domain/organisational processes with the introduction of such an expensive/important system in their ecosystem as Hybris. They usually also treat Hybris as black box and would like to use it so that it perfectly fits into their existing processes – which probably have been developed over years, if not decades, using tools that now want to get rid off. As such, they must be educated that Hybris is not just a new, shiny tool, but it will bring in some changes in the way how they’ve been operating until now. Consultants must pass on this advice as well, not just merely focusing on the necessary technical changes.
Cheers and keep up with the good work!
Rauf ALIEV
5 September 2018 at 15:51
Thank you, Gabor! Sorry for the delay, too many spam replies, and I turned moderation on. Can’t approve it outside the office that adds.
The great addition to what I tried to say, thanks.
Yuriy Galavay
5 September 2018 at 11:30
I think this is a good question, and I think the answer is “it depends”. I’ve seen the cases when people try to solve some particular problem using OOTB tools, which are not appropriate here, and personally, I find this as a big Evil, to fit un-fittable.
From another side, we have Hybris, whose biggest value is its generic way. Where any developer in a relatively short time can start developing because he already knows these tools and ways how to solve some particular problems.
The only thing I’m sure, that if some tool does not fit here well, we do not need to force it there just because it’s OOTB.
Rauf ALIEV
5 September 2018 at 15:54
>I’ve seen the cases when people try to solve some particular problem using OOTB tools, which are not appropriate here
One of the great examples is implementing News via Product data model. News item extends from Product, Product list controller and Product Page controller are ready for News too, just change the templates, search will work too OOTB. Almost zero customization and the client got what it looked for. I’ve seen such design, and it was created one of the big four companies.