A platform team's long-term health depends less on what it builds than on how it interacts with the teams it serves. Team Topologies names three interaction modes—collaboration, X-as-a-service, and facilitating—and the most common failure is getting stuck in high-touch collaboration long after a capability is stable enough to become self-service.
Quick Answer:
Team Topologiesdefines three platform-facing interaction modes:collaboration,X-as-a-service, andfacilitating. Cognitive load—not org-chart habit—should decide which mode applies to each capability, and the goal is to graduate stable work from collaboration to self-service without stranding the teams you serve.
This is a design decision, not a personality trait your platform team either has or lacks. Get the interaction modes right and stream-aligned teams ship without pinging you for permission. Get them wrong and you become either a bottleneck of manual reviews or a black box nobody trusts. If you're still defining what a platform PM owns day to day, our complete guide to the platform PM role is a useful primer before you tackle interaction design specifically.
The stakes are rising because more orgs are betting on this structure at all: analyst firm Gartner has projected that by 2026, a large majority of sizable software engineering organizations will have established an internal platform team as a formal provider of shared services and tools. Standing up the team is the easy part—interaction design is what determines whether it actually pays off.
The Three Team Topologies Interaction Modes for a Platform Team
Team Topologies, the model Matthew Skelton and Manuel Pais formalized in their 2019 book of the same name, defines three ways a platform team can engage a stream-aligned team: collaboration (working side by side to discover a solution), X-as-a-service (consuming a stable capability through a clean interface), and facilitating (temporary hands-on help that ends with the team upskilled, not dependent).
Each mode implies a different relationship, and mixing them up is where most platform friction starts:
- Collaboration — the platform team and a stream-aligned team work jointly, in the same sprint, because neither side yet knows the right shape of the solution. High trust, high time cost, deliberately temporary.
- X-as-a-service — the stream-aligned team consumes a capability (an API, a golden-path template, a managed pipeline) with minimal platform involvement. Low touch, high leverage, only works once the capability is genuinely stable.
- Facilitating — the platform team actively removes a blocker, teaches a practice, or troubleshoots an incident, then deliberately steps back once the stream-aligned team is unstuck. It is coaching, not co-ownership.
The table below compares the three modes on what's actually exchanged, the relationship shape, and what happens if a capability sits in the wrong mode too long.
| Interaction mode | What's exchanged | Relationship shape | Best used when | Risk if it overstays |
|---|---|---|---|---|
Collaboration | Joint discovery, shared problem-solving | Tight, high-touch, ad hoc | The problem space is new or the right solution isn't clear yet | Platform team becomes a permanent staffing pool that can't scale past a handful of teams |
X-as-a-service | A stable capability via API, portal, or template | Loose, self-serve, low-touch | The capability is well understood and demand is repeatable | The interface goes stale, edge cases pile up as tickets, teams quietly route around it |
Facilitating | Coaching, unblocking, capability transfer | Time-boxed, coach-then-leave | A team is new to a domain or stuck on one specific gap | Platform team never actually leaves—facilitating becomes disguised collaboration |
Read the table as a lifecycle, not a menu. A healthy capability is born in collaboration, gets stabilized, and graduates to X-as-a-service, with facilitating used sparingly to onboard new teams onto it. Treating any one mode as the permanent default is the mistake, not the mode itself.
Skelton and Pais also coin the idea of a thinnest viable platform: build only enough internal platform for the stream-aligned teams that need it today, then expand deliberately rather than pre-building capability nobody has asked for yet. The concept connects to a much older observation from computer scientist Melvin Conway, whose 1967 paper argued that any system's architecture ends up mirroring the communication structure of the organization that built it. Put the two together and the implication is direct: how your platform team interacts with stream-aligned teams isn't a side detail of team design—it actively shapes the technical seams between the systems those teams own.
Cognitive Load: The Organizing Principle for What to Abstract
Team Topologies borrows cognitive load theory from educational psychologist John Sweller to answer the question every platform team eventually faces: what do we own versus hand back? The rule is simple to state and hard to execute: abstract away extraneous load, protect germane load, and never absorb the intrinsic load that's genuinely the stream-aligned team's job.
Sweller's original 1988 research split cognitive load into three types, and Team Topologies maps each one directly onto a platform decision:
| Cognitive load type | What it is | Platform example | What the platform team should do |
|---|---|---|---|
| Intrinsic | Load inherent to the problem itself | Deciding a service's domain logic, its data model, its retry semantics | Leave it entirely with the stream-aligned team |
| Extraneous | Load created by how a tool or process is packaged, unrelated to the actual problem | Wrestling with inconsistent YAML dialects, manual provisioning tickets, undocumented flags | Abstract it away completely via X-as-a-service |
| Germane | Load that builds durable skill and understanding | Learning the org's deployment model well enough to reason about an incident | Preserve it—don't automate the learning away |
The practical test: if a stream-aligned engineer is spending time on something that teaches them nothing about their own product, that's extraneous load and a strong abstraction candidate. If it's a decision only they have the context to make, it's intrinsic, and no amount of tooling should take it from them.
This is also where a lot of platform roadmaps go wrong—they abstract based on what's technically feasible to centralize, not on where the load actually sits. Before you decide what to abstract, get precise about the stream-aligned team's real jobs to be done: teams rarely want "a deployment pipeline," they want to ship a change and know it's safe. Abstracting the wrong layer solves a problem nobody had.
The Collaboration Trap: Why Platform Teams Stay High-Touch Too Long
Platform teams get stuck in collaboration mode because it's the mode that feels most valuable in the moment, even after it has stopped being the most valuable use of anyone's time. Joint work is visible, relationship-building, and easy to defend in a headcount conversation—self-service is quieter and easier to undersell.
Four forces keep teams parked in collaboration well past its useful life:
- No graduation criteria were ever set. Nobody defined what "stable enough for X-as-a-service" looks like, so the default is to keep collaborating indefinitely.
- Relevance anxiety. A platform team worries that a self-service capability makes their own headcount look less necessary, so pairing sessions quietly continue as a form of job security.
- The self-service interface was never funded. Building a genuinely good API, template, or portal takes real engineering investment, and that investment competes for the same budget as feature work everyone can see. Our piece on funding invisible platform work covers why this investment is chronically underpriced and how to make the case for it.
- The platform isn't run like a product. Without a roadmap, a support model, and a sense of who the internal customer is, there's no natural pressure to graduate anything—there's just an open queue of requests. Treating the platform as an actual product for internal customers is what creates that pressure.
The tell isn't that collaboration happened—it's that the same two teams are still collaborating on the same class of problem six months later.
None of this means collaboration is bad. It's the correct mode for genuine discovery. The trap is specific: treating collaboration as the resting state instead of a phase with an exit condition.
There's a real delivery cost to staying parked in high-touch mode, too. The DORA research program behind the Accelerate research (led by Nicole Forsgren, Jez Humble, and Gene Kim) has repeatedly found that elite-performing teams deploy on demand, multiple times a day, while low performers deploy only once a month or less—and self-service platform capability is one of the recurring differentiators between the two groups. A platform team stuck manually shepherding every deployment is, structurally, holding every team it serves back from that ceiling.
A Scenario: Moving an Over-Collaborating Platform Team to Self-Service
Picture a core platform team that owns CI/CD and secrets management for eight stream-aligned teams. Two years in, every team still books a pairing session to add a new service to the pipeline, and the platform team's backlog is 70% ad hoc requests instead of roadmap work. This is the collaboration trap in its most common shape, and it's fixable without abandoning anyone.
Here's a transition sequence that keeps the door open while actually reducing touch:
- Audit the last quarter of interactions. Tag every ticket, pairing session, and Slack thread by which stream-aligned team it involved and what kind of request it was. Most platform teams discover 60-80% of "collaboration" is really the same handful of repeatable requests dressed up as bespoke ones.
- Cluster requests into stable versus exploratory. A request that's shown up in a near-identical form from three or more teams is a strong
X-as-a-servicecandidate. A request that's genuinely different each time—new architecture, unusual compliance need—stays in collaboration. - Design the golden path before you cut off pairing. Build the self-service template, API, or portal for the stable cluster first. Cutting access to hands-on help before the self-serve alternative exists just relocates the friction, it doesn't remove it.
- Make the self-service path the actual front door. A capability nobody can find is not really self-service. Treat the developer experience as the product's front door: discoverability, docs, and a fast first success matter as much as the underlying API.
- Map the onboarding journey, not just the API contract. Walk a new stream-aligned team through their first week using the self-service path end to end—this is exactly the kind of customer journey mapping that surfaces the drop-off points a spec sheet won't show you.
- Reserve facilitating for genuine onboarding. Replace open-ended pairing with a time-boxed facilitating engagement—say, two weeks—for teams adopting the self-service path for the first time, with an explicit end date agreed up front.
- Publish what's still collaboration, on purpose. Not everything graduates. Say clearly which categories of work will always be
collaboration(novel architecture, security-sensitive changes) so teams don't feel abandoned when routine requests move to self-service.
The teams that resist this transition hardest are usually the ones who've come to rely on the platform team as an extension of their own headcount. That's a signal worth taking seriously, not overriding—sometimes it means the self-service interface genuinely isn't ready yet, and the audit in step one needs another pass before you cut over.
Reading the Room: How to Tell Your Interaction Modes Are Misaligned
The clearest signal of misalignment is a mismatch between the interaction mode a capability is supposed to be in and the mode teams are actually using—self-service tooling that exists but gets bypassed in favor of a direct Slack message to the platform team is the single most common version of this.
Watch for these patterns, roughly in order of how early they show up:
- Pairing requests that never decline. If usage of a "self-service" capability isn't reducing platform-team hands-on time within a quarter or two of launch, the interface likely isn't solving the real job.
- The same two or three teams dominate the backlog. Concentrated demand from a small set of teams is often a sign those teams have an unofficial collaboration relationship the org chart doesn't show.
- Facilitating engagements with no end date. If nobody can say when a "temporary" coaching arrangement is supposed to conclude, it has already become quiet, unbudgeted collaboration.
- Escalations that skip the self-service layer entirely. Teams that route straight to a platform engineer's DMs, bypassing tickets or docs, are voting with their feet on where the real interface is.
Most of these signals live in relationships and informal channels, not in a ticketing system—which is exactly why they're hard to see from a backlog alone. This is where a tool built for an org-and-political read earns its keep: Prodinja's Relationship Map is designed to lay out how your platform team actually connects to the stream-aligned teams it serves, so a collaboration-mode relationship that never graduated—or a facilitating engagement quietly overstaying its welcome—shows up as a visible pattern instead of staying buried in six months of Slack history.
Key Takeaways
Team Topologiesgives platform teams three named interaction modes—collaboration,X-as-a-service, andfacilitating—instead of one default way of working with every stream-aligned team.- Cognitive load, not technical feasibility, should decide what gets abstracted. Strip extraneous load, protect germane load, and never absorb intrinsic load that belongs to the stream-aligned team.
- Collaboration is the correct mode for genuine discovery, not a permanent resting state. The trap is treating it as the default instead of a phase with a defined exit.
- Self-service only works if it's genuinely discoverable and funded, which means treating the platform as a product with a real front door, not a set of APIs nobody can find.
- Facilitating needs a start date and an end date. An open-ended coaching engagement is collaboration wearing a different label.
- Misalignment usually shows up in relationships and informal channels before it shows up in a backlog, which is why an org-level, relationship-first view of who's actually talking to whom is worth building alongside your ticket data.
Frequently Asked Questions
What are the three Team Topologies interaction modes?
The three modes are collaboration (joint discovery work), X-as-a-service (self-serve consumption of a stable capability), and facilitating (time-boxed coaching to unblock or upskill a team). Each maps to a different level of platform-team touch and is meant to be temporary except for X-as-a-service.
How do I know when a platform capability is ready to move from collaboration to X-as-a-service?
A capability is ready once requests for it are repeatable rather than novel—three or more teams asking for a near-identical outcome is a strong signal. It also needs a documented interface, not just tribal knowledge held by whoever paired on it last.
Is X-as-a-service always better than collaboration for a platform team?
No—X-as-a-service only works for stable, well-understood problems. Forcing a genuinely novel or high-stakes problem into a self-service template just relocates the friction into support tickets and workarounds, so collaboration stays the right mode until the problem space settles.
What's the difference between facilitating and collaborating?
Facilitating is time-boxed coaching aimed at making a team self-sufficient and ends on a defined date; collaboration is open-ended joint work on a shared problem with no built-in exit. A facilitating engagement without an end date has effectively become collaboration.
How does cognitive load theory apply to platform engineering decisions?
Cognitive load theory, from psychologist John Sweller, splits mental effort into intrinsic (inherent to the problem), extraneous (created by clunky tooling or process), and germane (effort that builds real skill). Platform teams should abstract extraneous load, leave intrinsic load with the owning team, and be careful not to over-automate germane load away.