Introduction
"Why not release in small steps and check?"
This question arises often when making decisions about platform development. In product development, the hypothesis-validation cycle of "release small and observe user reactions" works well. Applying this approach directly to platform development, though, can lead to misaligned judgment.
This article organizes the differences between product development and platform development across three dimensions: decision criteria, design philosophy, and investment perspective.
Definitions: What Are Product Development and Platform Development?
What Is Product Development?
Product development is the practice of delivering value directly to end users. In the context of Team Topologies, this is the responsibility of stream-aligned teams.
Note that platform development is also, in a broad sense, a form of product development. For clarity in distinguishing their characteristics, this article defines "product development" narrowly as development focused on direct value delivery to end users.
- Value recipient: End users
- How value is validated: "Did users use it?" / "Did user behavior change?"
- Effective approach: Release small, observe reactions, and repeat hypothesis validation
- When value is realized: Incrementally delivered with each release
The hypothesis-validation cycle (Build-Measure-Learn) is effective because user-reaction feedback arrives early. By resolving uncertainty in small increments, investment risk stays low.
What Is Platform Development?
Platform development is the practice of building a foundation whose value materializes when other systems and teams "build on top of it." In Team Topologies, this falls under the platform grouping.
| Dimension | Product Development | Platform Development |
|---|---|---|
| Value recipient | End users | Other systems and teams (internal customers) |
| Number of target users (N) | Large number of end users (difficult to increase sample size for interviews) | Limited internal teams (relatively feasible to cover all stakeholders) |
| When value is realized | Incrementally delivered to users with each feature release | Progressively realized as adopting teams integrate the platform |
| Design direction | Optimization for specific use cases (local optimization) | Global optimization prioritizing interface stability |
| Level of problem abstraction | Directly solves end users' concrete problems | Generalizes and abstracts problems, providing mechanisms for other teams to solve them |
| Leverage structure | Leverage through functional value delivered to end users | Leverage through developer productivity and developer experience of systems and teams using the platform |
These differences give rise to decision criteria, design philosophies, and investment perspectives unique to platform development. The following sections examine each in detail.
Differences in Decision Criteria
The hypothesis-validation cycle works in product development because "will users actually use it?" only reveals itself through release. In platform development, this premise differs.
- Difference in recipients: Platform decision criteria — such as whether the platform meets SLOs or whether other systems can safely adopt it — lend themselves to high-confidence confirmation during design and implementation through specification interviews, design reviews, and load testing. The need to release and observe reactions is low.
- Difference in N: In product development, the number of target users is large and difficult to fully interview, making "release small and observe" the standard approach. In platform development, the target is a limited set of internal teams — practical to cover all stakeholders during the design phase. Problem-solving accuracy reads clearly at design time, so the need to release in fine-grained increments for checking is not as high as in product development.
That said, checking is not unnecessary. Staged testing in meaningful functional units and feedback that only comes from real-world use both remain important.
Because of these differences in decision criteria, the "release small and test hypotheses" approach that works in product development does not translate well to platform development.
Differences in Design Philosophy
- Design direction: Maintaining a broadly stable interface takes precedence over deep optimization for individual use cases (global optimization over local optimization).
- Level of problem abstraction: When a platform attempts to directly receive and resolve the concrete requests of end users, all product teams' demands concentrate on the platform team, creating "waiting on the platform" bottlenecks. This serializes and homogenizes work, capping throughput at the platform team's capacity. By generalizing and abstracting problems and providing mechanisms that allow other teams to solve them autonomously, inter-team dependencies shrink.
Differences in Investment Perspective
- Timing of value realization: Value accrues progressively as adopting teams integrate the platform. Even when a feature or improvement ships, that work only counts as an outcome once an adopting team puts it into use.
- Direction of leverage: While product development achieves leverage through functional value delivered to end users, platform development achieves leverage through the developer productivity and developer experience of the systems and developers that use the platform. The benefits of improvements — and the impact of problems — propagate across all teams.
Conclusion
The distinction between "product development" and "platform development" is not merely a matter of classification. Decision criteria, design philosophy, and investment perspective all change.
Evaluating platform development by the standards of product development makes it difficult to answer questions like "why aren't you validating in small increments?" or "why aren't you addressing individual requests?" Conversely, letting platform development's properties guide decisions provides a consistent rationale for both design and investment.