Put the business management aspect aside, there are areas that IT has its job to response to business in order to improve business agility to response the new markets. There are two ways for the business to response to new needs, provide brand new products or provide new flavors of existing products. While proposing the completely new products is great, proposing the new flavors is also very interesting to do.

What we can do for this? There are some key concepts that we have to keep in mind in responding to this requirement:

  1. Make the products customizable through configuration as much as possible, not coding or re-deployment.
  2. Configuration or customization process and tools must be easy and fast, but safe and secure.
  3. Separation between each configuration must be clean and easy and able to operate each one of them independently.
  4. Beware of data, logical processing, and physical components dependencies between configurations.
  5. Beware of the separation and difference in QoS and non-functional policies between each configuration.
  6. If there are new things or modifications need to be introduced in to the system, be sure to make it loose-coupled with the legacy components.
  7. Test it with real data, real scenarios, real load, in (very close to) real environment, over real network.