Most roadmaps look great in presentations.
They are filled with features, milestones, and confident timelines. Q2 is locked in, Q3 looks ambitious, and Q4 is “strategic”. But if you talk to the people actually building the product, the reality is often different. Teams feel slowed down. Simple changes take too long. The same issues keep coming back. Design inconsistencies start to spread. Certain parts of the codebase become untouchable. And somehow, none of this is clearly reflected in the roadmap.
This gap is where the idea of ship by friction comes from. Instead of planning what to ship primarily around features and assumptions, ship by friction asks a simpler question:
Where does our work experience the most friction right now?
Friction is anything that creates unnecessary resistance in product development or in the user experience.
It shows up in many forms:
Most teams already talk about friction informally:
The problem is that these insights usually disappear into conversations, Slack threads, or meeting notes. A friction log is a simple way to capture them explicitly. It’s not a bug tracker or a backlog. It’s just an ongoing record of moments where work feels unnecessarily hard.
Examples of friction log entries:
Nothing in a friction log needs to be fixed immediately. The goal is awareness, not instant action.
Most teams already talk about friction informally:
A friction-driven roadmap shifts the conversation:
When you review friction logs over time, patterns emerge. Certain issues keep resurfacing sprint after sprint. Others may be rare but extremely disruptive when they happen. This makes prioritization more grounded.
Instead of saying “We’ll refactor this later.”, you can say “This friction affects almost every change we make. Removing it will speed up everything else.”
Design debt is one of the most common and most underestimated sources of friction.
It often hides in inconsistent UI patterns, unclear interaction rules, components that almost fit but not quite and layouts that don’t scale to new use cases.
For developers, design debt means more conditionals and special cases. For designers, it means constant workarounds. For the business, it means confusion, slower delivery, and higher support costs.
In a Ship by friction approach, design debt stops being an abstract “nice-to-fix-someday” issue. It becomes a logged, recurring friction with a visible impact. You’re not arguing for a redesign because it feels right. You’re addressing a problem because it consistently slows the system down.
They may ship fewer features in the short term, but they ship with less stress and more predictability. Ship by friction is not about perfection. It’s about removing the biggest obstacles to progress.
Over time, friction logs become a mirror of your product and your organization. They reveal where complexity accumulates and what your roadmap has quietly ignored. And in the long run, they help teams move away from constantly pushing uphill, toward a way of working that feels calmer, lighter, and more sustainable.
Because the best roadmap isn’t the one that looks impressive. It’s the one that makes progress easier.