Generic vs specific requirements

As part of being product manager we often encounter the challenge of creating generic product based on our market research, industry best practices and our beliefs vs going to implement something that our customer specifically requests. This articles tries to explore several aspects in definition of the product that will allow to maintain balance between two worlds. Such balance will allow to benefit from immediate profit of delivery product to customer that will use it and long term profit of delivering product, that will be usable by additional customers

When customer needs feature that you want to do quite a long time, but you never get priority

While managing the backlog, and assigning priority for the items in our backlog, we take into consideration multiple factors that cause us to select specific items e.g. ROI value, adjusting our offer to one that is market standard and even the feature that we personally like. The situation changes when we have customer and by surprise (alternatively we may imply that it is our deep understanding of the product) the customer wants the feature that we wanted to implement in the product. In this case, our primary goal is to maintain balance between designing the product of our dreams and product that our customer will be able to use.

The following steps should be done to ensure that

  1. Learn how customer works today to understand his business process. This step will allow you to receive real life requirement

2. Try to implement (run through) his business process on your dream product. This will assist you to ensure that the product will answer the needs of the customer and if required to introduce necessary adjustments

3. Present the solution to the customer and get his opinion. This step will allow customer to feel that his needs are addressed and you to make sure that product meets customer’s needs

Managing unified product by configuration

When the product is designed the usual wish of the product manager is that the more users the product has, the better. However, it is complicated to create something that will fit requirements of the multiple users. In order to solve this challenge configurations of the product are coming to place. The configurations will allow to enable, disable or customize certain features of the customer. Few answers should be answered to define proper configuration features

  1. The level of configuration

Probably your product has hierarchy of the users, you need to understand on which level of the product customization should be supported. The main challenge here is to find correct way from providing the most flexible configuration, but still manageable so it will require sensible effort to configure and will not be the system that for each customer extensive configuration should be defined

2. Transparency and visibility for the customer

The fact that the product is configurable should be transparent to customer

3. Documentation

Please make sure that all configuration issues are properly documented, it will make life of all stakeholders easier. Your support and configuration team will be happy to check in some reference guide how to setup the product. Sometimes when there are numerous settings and having them defined in one proper place will save headache of understanding why product behaves in some unexpected manner

The servant of the two masters

While delivering the product we usually try to fit it for multiple customers and make it generic as possible. However, such generic approach may bring product that will become swiss army knife style product. Don’t take me wrong, I love swiss army knives. They look cool, work good and are very handy on camping or barbeques, however I will never think to cut dinner with this such knife when I at home or use its screwdriver when, I need to do something serious.

1. What should stay constant and what should be variable

Try to understand which features of your product are constant for the same users and which may require adaptations to fit the specific user needs. Every car needs to have 4 wheels so it will be stable on the road, but the seat and steering wheel should have ability to adjust their height and location to accommodate drivers of different heights and arm lengths

2. Variable features

There is a need to understand how the variable parameter is going to be changed. This will allow to define the scale and level of customization that will be accessible for configuration. Your car needs to suit maximum of potential customers, but there is a very small chance that you will find customers with height below 140 cm and above 220 cm. In the worst-case scenario, you will lose this segment of the market, however you will provide perfect solution for those in between

3. Interaction with variable and default values

In case that you have feature that uses variable settings please try to make life of your customers easier. Allow to manage default configuration for each user, so he will feel that solution fits exactly his needs. Don’t make too many ways to affect the variable configuration to cause the confusion. The values and the interaction with the variable should be simple and straightforward

Conclusion

As we’ve seen in the article there is always trade-off between decision to go to generic solution and ability to customise. We want that each customer will find features in the product that will be especially useful for him, while maintaining the widest range of potential customers. The best way to do this is by selecting relevant features, adding ability to configure the system for desired behaviour and maintaining the correct default values