Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

On Continuous Acceptance

2025-05-30

I’m sitting here feeling frustrated about platform engineering, pondering whether I should make a video about it - which would require standing up, as well as having something concrete to say (which I’m not sure about).

What’s platform engineering, you say. Here’s a fair definition from Phil Taylor:

“Platform engineering aims to automate everything in the software delivery pipeline. It attempts to standardize and automate the deployment of applications across private and public clouds.”

Sounds OK, so, what’s my problem with it? I could quibble about the stated purpose - I’d perhaps put it in terms of end to end delivery based on supporting services and tools (“platform engineering is about engineering a platform…”) but that’s one for over a beverage.

It’s not that. It’s more… why do we need a term to describe what could be called “doing things in the right way?” A lack of standardisation and automation needs to be met by exactly these things, for sure, but that won’t address the root problem - how we let things be so non-standard and fragmented in the first place.

The answer is, reasons. And if we don’t address these, platform engineering will only ever be a band-aid, or a partial response which helps in the short term.

Want some reasons? A lack of controls around tools adoption, because controls stymie innovation. Vendor freemium models that play to our cuckoo-like desire to try something new. Short-termism in the name of progress, on all sides. And so on.

I don’t have a problem with these things, but if we accept them, we need practices that take them as fact. Platform engineering says, “you’ve created a monster, let’s make it better so this time next year, all will be neat and tidy.” Guess what, it won’t.

That’s my second problem. By creating a name, we give it a lifecycle of its own. Platform engineering moves from theme to trend, and people (me included) pile on with, articles saying, “Here’s how to do it, but it’s not a magic bullet,” or “What people get wrong,” or (my favourite) “Platform engineering is dead, long live platform engineering.”

Having created a space, the conversations exist within that… until we move to the next one. But as per the above, the space could only exist as an aspirational goal. See also DevOps, Agile, continuous anything, and indeed, every maturity model level five.

The only continuous things are change, human behaviour, and complexity resulting from both. Neither good nor bad things, just things.

The bad thing is our lack of acceptance, or if I may, our denial of reality. No sunlit upland of software delivery exists, where everything just works, there never was. Perhaps continuous acceptance might be a place to start, followed by continuous allocation of resources to review and refactor the tools, libraries and services upon which we rely.

Now, that’s a definition I can get behind.