The fast and the laborious

Development of multiple, similar, products raises a question. How to make them more efficient? Making each product from a scratch is very inefficient. Maintaining multiple products, without commonalities, is a struggle. What to do to make the most of synergies between the products?

This is where software platforms appear. They are abstract product-like entities that eat the shared areas of different products – and often a bit more. They’re not really products, but it should be easy to make one out of it. Cool, now developing and maintaining multiple products is easy! Right?

Setting the line between products and platforms is hard, though. To make everything perfect in the platform, or leave things good-enough and give the responsibility to customize and perfect everything to the product?

Perfecting things takes a long time. In fact, forever. And it’s likely that it still doesn’t satisfying someone. If the products want to be fast, good enough is what to expect from a platform.

Platforms should be looking at whatever is coming next – not what was needed yesterday. In any case, platforms are hard work.