Have you ever heard: ‘We really like your product…except for a few minor details.’? And then the CIO rolls out a list of additional ‘must have’ requirements, hundreds of them, to add to your amazing product. Have you ever heard, or even said: ‘Team, we are about to sign up a highly-profitable contract but…’? And then the customer’s wish list for additional functionality becomes a headache for developers.

So, how can the product be kept a step away from the potentially dangerous ideas of your customers, yet still satisfy them? How can it be possible to maintain the highest levels of performance for a product technically designed to function in a particular way, but now with a layer of numerous add-ins? How much of a challenge will be created by the fundamental need to provide unfailing and outstanding support to the developed solution?

In the commercial world, product customization is an increasingly desirable requirement and a number of common practices have evolved in response to this customer need. Below you can find an overview of the typical approaches; if you are already familiar with them then you are welcome to scroll down straight to ‘The Extensions Approach’ paragraph and learn how we resolve these challenges in what we think is a more efficient way.