How Much Software Flexibility Is Too Much?

January 30, 2018

Years ago, I was a product manager at a software company. Like any responsible product manager, I listened to our customers and prioritized the new features that had to be developed. I’ll always remember a conversation that taught me a valuable lesson.

To stay brief, I’ll spare you the details and keep things simple. The story goes like this: The software system was configured in a certain way, let’s call it “A”. But some clients preferred that the specific configuration be different, let’s call it “B”. So I went to our development manager who had been working at the company much longer than me, and I asked him “What if we provide a parameter in the configuration file allowing a client to pick A or B?” It was a simple solution that would require minimal development effort, so I thought it was a win-win for everyone. His answer was something like “We should not do that because clients will create great harm for themselves if we do”.

The answer was surprising. At first, I thought that maybe the development manager was taking me for a ride and giving an excuse to avoid doing the change. But after much reflection and inquiry, I agreed with him and decided to prepare information about why we would not offer option B. We educated our clients that it would be a bad idea for them to use the software system in that way, and they agreed with us after they understood our explanation.

Today, leading software solutions offer both configuration and customization capabilities to provide more flexibility. Configuration consists of changes in the behavior of existing features and functionality; while customization consists of the addition of non-standard features, expansion of existing functionality, or major changes in the behavior of an existing feature that would require new software code. But how much software flexibility is too much?

It’s a delicate question because each organization is different, and the needs of all organizations must be met. That’s why flexibility must be offered. But software vendors also have a responsibility to look after the long-term care of their clients.

Responsible software vendors, those that genuinely care about the future wellbeing of their clients, offer a level of flexibility that fully addresses client needs, without creating a situation where it leads to a harmful use of the software system. This means taking the time to have a conversation and understanding the underlying challenges that users want to address. Here’s a common scenario that happens when software vendors take the time to talk to their clients: Software does ‘A’, but a user wants the flexibility to do ‘B’. The vendor talks to the user to identify the user’s problem and determines that ‘C’ would address the problem better than ‘B’, and so the flexibility to do ‘C’ is offered.

The lesson is that every time a user wants to deviate from the norm and use a software system in another way, a conversation must happen, a conversation that seeks to understand the problem that an organization wants to address, in order to offer the most adequate solution, even one that may not have been initially imagined by the vendor or the client.

The conversation becomes even more productive when it takes place with multiple clients with the same challenge. In addition to one-on-one conversations with clients, application-focused and industry-focused user group meetings must also take place, as well as that bring together all software users. The collective intelligence present in a room can solve any challenge, even the most insurmountable one.

Do you want to improve EHS management in your organization through software? Download the Verdantix Green Quadrant EHS Software 2017 report to learn more about market trends and compare the top 20 EHS software suppliers.

Verdantix Green Quadrant EHS Software 2017