Growing a Platform: Breadth, Depth and Gear Shifting
Platforms grow through discovery, not in one shot: balance breadth against depth, spiral upwards, publish the roadmap, design for people who join late, and let users shift gear when they outgrow the simple path.
On this page
You cannot anticipate every need.
The most expensive misconception in platform engineering is that building a platform in one shot is more efficient than growing it through discovery.
The platform nobody used
I’ve seen large organisations spend well over a year building a cloud platform to “streamline cloud development”, only for it to have no users when it launched. Progressive teams already had their own setups, some found it too prescriptive, and others found it too complex. It was built with no specific user in mind. Trying to make everyone happy, it made no one happy. That’s what skipping the explore phase looks like (Explore, Expand, Extract).
Breadth against depth
- Too broad. “I’d use your platform if you just added feature X.” Chasing every request spreads the platform thin, and those edge users may never adopt it anyway.
- Too deep. Every capability becomes a learning cliff, and cognitive load rises for everyone.
- Spiral upwards. Iterate by adding a little to each part of the platform, or divide and conquer and finish one aspect at a time. Either way, keep moving in small loops.
- Be transparent. Not everyone will like your trade-offs. Publishing the roadmap, and showing the loop is turning, buys goodwill. People can wait for what they need, or join in and help shape it.
A set of curves
Users don’t watch the platform grow from the beginning; they arrive at any point. Someone who joins late meets everything at once, with much higher cognitive load than the people who grew up with it. Look at the platform through a newcomer’s eyes as well as an existing user’s:
- sensible defaults
- templates for a small set of base cases
- docs and training that people can follow on their own (slow to build, worth it)
- tips that lead people towards advanced features when they’re ready
Gear shifting
A simple, low-code path is great for a specific set of users. When their needs outgrow it, let them shift gear: drop down to code and extend. There’s a learning curve at the shift, but it’s far better than halting the people who’ve outgrown the simple path (Low-Code Platforms: Where Do They Belong?).
Friction sets the batch size
When development friction is low, teams take smaller steps and debug more readily. When releases or feedback are slow, they wait, batch up work and suffer painful merges, even though smaller releases would mean fewer conflicts. DORA Metrics make this visible, as long as nobody turns them into targets (Goodhart’s Law).
Slicing and scaling
To grow without big bangs: feature flags, service stacks and composable services. And remember that scaling down is harder than scaling up (SLA vs SLO vs SLI).
Related: Internal Developer Platform · Golden Paths · Web Accelerator · Platform Strategy
- #platform-engineering
- #product-thinking
- #onboarding
- #cognitive-load
- #roadmaps
↩ Linked from (3)
…Code Platforms: Where Do They Belong?), and one of several ways to release in slices alongside feature flags (Growing a Platform: Breadth, Depth and Gear Shifting).
…ions, and design the product with them, not for them. Most of the platforms I've seen fail skipped this step (Growing a Platform: Breadth, Depth and Gear Shifting).
…ll and the audience genuinely isn't technical. With a gear shift to code when a use case outgrows the canvas (Growing a Platform: Breadth, Depth and Gear Shifting). And a new question: AI can now write well-structured, p…
↪ Links to (8)
Related by topic
- Growingcase study
A Resumable CMS Migration Tool
Distributed systems - Growing
Books That Shaped How I Build
Career - Growingcase study
Building a Web Platform for 80 Sites
Platform engineering - Growing
Infrastructure as Code for People, Not Just Servers
Platform engineering