The Art Of Saying "No" To Features
Every developer knows this moment: a client or teammate says, “Hey, what if we also added…” And suddenly, a week-long feature becomes a month-long project...
Youri Karijopawiro
•
October 15, 2025

Share this article
Every developer knows this moment: a client or teammate says, “Hey, what if we also added…” And suddenly, a week-long feature becomes a month-long project.
As a software team, we’ve learned that one of the hardest, but most valuable, skills is knowing when to say no. In this post, I'll share how we decide what features make it into production and why saying "no" to certain features can usually lead to better software and happier users.
The Problem: Why Saying "Yes" Is So Tempting
More features often seem like added value, and as developers, it’s natural to want to deliver everything our clients ask for. The problem is, each "yes" brings more features and as a result, more complexity to a project.
We once agreed to a feature that seemed simple at first, a custom filter option. As we worked on it, it needed more backend work, UI tweaks, and performance checks than we expected. In the end, we realized it wasn’t really needed right away, and the time spent could have been used on a feature that made a bigger impact.
Feature Creep
Feature creep happens when new features keep being added after a project has already been started, often without adjusting timelines, resources or priorities. It can sneak up slowly, starting with small requests that seem harmless, but over time, they can pile up and overwhelm the project.
The impact of feature creep is significant: It can delay releases, increase costs, introduce bugs and make maintenance a nightmare for developers. Teams can also lose focus on what features are really important and users can end up with a cluttered and/or confusing experience.
Understanding and controlling feature creep is important for delivering software that is useful and reliable.
Managing Feature Creep
Whenever a new feature is proposed, we ask the following 3 questions:
- Does it solve a real problem that existing tools don't already solve?
- Will it simplify the user experience?
- What is the long-term cost? (Time and money put into development, maintenance and scalability)
How We Say "No", The Right Way
Saying "No" to a client can feel awkward, but it doesn’t have to be negative. It can be more about guiding the project in the right direction. When you say "No", focus on the people side: explain your reasoning and offer alternatives or compromises, like suggesting a different feature or pointing to data showing which features users actually use most.
For a project, a client requested a fully real time cart system for their e-commerce store. Due to technical limitations, this was impossible/very difficult to do, so we agreed on a compromise where we built a less advanced version of the system, without the added complexity of a fully real time system.
Conclusion
Saying "No" isn’t always about rejecting ideas, it’s about making sure we focus on what really matters. By carefully evaluating new feature requests, thinking about the long-term impact, and guiding clients toward simpler, more effective solutions, we can deliver better software and a smoother experience for everyone involved.
Sometimes, the most valuable features are the ones you choose not to build.