Early in a project, adding features feels like progress.
A new capability appears.
A new screen gets built.
A new workflow becomes possible.
Everything feels like forward motion.
For a long time, I assumed that was the primary job of software development.
Build more features.
Solve more problems.
Expand the system.
Over time, I've started to think differently.
Some of the most valuable improvements I've ever made weren't new features.
They were reductions in friction.
Features Create Possibilities
Features matter.
Users need capabilities.
Products need functionality.
Without features, software doesn't solve problems.
The challenge is that every feature introduces complexity.
Every button.
Every setting.
Every workflow.
Every API.
Every configuration option.
The system grows.
Sometimes that's necessary.
Sometimes it's expensive.
Friction Is Easier To Ignore
One reason friction survives so long is because it often looks small.
An extra click.
An extra configuration step.
A confusing name.
A repetitive workflow.
None of these things seem important individually.
But software isn't experienced one interaction at a time.
It's experienced as a whole.
Small friction accumulates.
The User Feels Everything
As builders, we often focus on what software can do.
Users focus on how software feels.
The difference matters.
A powerful feature that creates frustration may deliver less value than a simple workflow that feels effortless.
The experience is part of the product.
Not just the functionality.
Real Projects Expose Friction
One reason I believe strongly in building real projects is because friction becomes impossible to ignore.
Features tend to dominate planning meetings.
Friction dominates daily usage.
You feel it.
Repeatedly.
The same awkward workflow.
The same repetitive task.
The same confusing decision.
Eventually the problem becomes obvious.
Removing Friction Creates Leverage
A feature helps users do something new.
Removing friction helps users do everything faster.
That's a different kind of value.
The improvement compounds.
Every interaction benefits.
Every workflow benefits.
Every future feature benefits.
The Hidden Metric
I've started paying attention to a question that rarely appears on roadmaps:
"How much effort does this require to understand?"
Not implement.
Not maintain.
Understand.
Understanding is one of the most expensive costs in software.
Reducing friction often means reducing the effort required to understand the system.
Final Thoughts
Features are important.
But they're not the only way software improves.
Sometimes the best feature is the removal of a problem users encounter every day.
The longer I build software, the more I find myself asking:
Not "What should we add next?"
But:
"What can we make easier?"
Because removing friction often creates more value than adding another feature ever could.
Top comments (0)