Alex Chiri's Blog

When is the right time to start a platform?

Man pointing to a clock

Obviously, the answer to this question is very much dependent on the context of each company. Also, I was never part of the journey of a platform from the beginning, so far. Nevertheless, I will venture some opinions.

Too early

Permalink to “Too early”

There can be a time when it is too early to start thinking of a platform. If teams have freedom to choose their technologies and ways of working (and they should, within limits), there will be a period of extreme volatility and experimentation in how each product team is developing their slice of product. Starting a platform at this point for deploying or monitoring or most other functions could be a bit premature.

Platforms usually arise from identifying common needs among product teams. But the product teams need some time to figure things out when they are just starting out. Most of them at this stage have no clear idea of what their needs are.

Too late

Permalink to “Too late”

I don’t think that it is ever too late to start a platform. But the longer each team goes into reinventing the wheel when it comes to doing certain things, the harder it will be to get a platform to be adopted and integrated.

Just at the right time

Permalink to “Just at the right time”

I see the evolution of product teams and platforms in cycles: there is a period of experimentation and exploration with very few boundaries (expansion, diverge) and then there comes a period of standardisation, abstraction and consolidation into new or existing platforms (contraction, converge). And then the cycle repeats itself.

This is not something that happens naturally, in my experience. There needs to be a constant watch from a higher level and common patterns to be identified. During the experimentation period, someone with a higher level view across teams and departments (architects, staff+ people) can observe patterns but also guide the teams to make better decisions.

I hope it is not a surprise that the answer to the question in the title is the classical “It depends!“. As most things, it depends on the context. Still, it’s good to allow experimentation in the early stages and consolidate later. Prescribing everything in the beginning could end up with having systems and platforms that look good on paper, but are not in touch with the realities of the teams where they should be implemented and the products they are supposed to support.