When everything feels urgent, nothing is: How …
Working in software can quickly turn into a maze of tasks, branches, and bugs waiting to be …
read moreWhat’s urgent isn’t always important, what’s important is almost never permanent.
When starting a software project, everything seems crucial. We overvalue our ideas and the team’s capacity; we want to take every concept we imagine to production. However, that impulse is usually a mistake, because the relevance of a feature depends on the frame of reference: the product phase, business constraints, and the real energy of the people building it.
In the early phases of a project, we usually list dozens of “essential” features. As months pass, half turn out to be dispensable, a quarter change completely, and only a few survive intact… only to discover later that almost no one uses them. Knowing your target audience and having experience are the best allies for distinguishing what’s truly important for the product from what’s not. In the end, avoiding unnecessary features saves hours, money, and more than a few headaches.
Day to day, we tend to overestimate what we can develop and underestimate the cost of maintaining it. Each new feature adds an extra point of failure and multiplies opportunities for frustration. We want to see all our ideas materialized, but the truth is that most are redundant. Identifying which features to postpone or discard in time isn’t poor planning; on the contrary, it means accepting that:
Understanding this relativity protects you from two very common traps:
Planning is fine; believing we can anticipate everything is the beginning of stagnation. The team enters an infinite loop of debates: Why are we adding this feature and not that other one?, what happens if we delay integration with the external provider?, what if users never use the advanced module?. Each answer generates three new questions and the feeling of security never arrives. Meanwhile, the calendar advances and motivation drops because no one sees tangible progress. At that point, any external change—a revised strategy, a competitor’s entry, new regulation—invalidates part of the previous analysis and you have to start from scratch.
How to break the blockage: set a time-box for definition (for example, two weeks), build a minimum prototype, and validate hypotheses in production as soon as possible. Real learning will replace the illusion of certainty.
The opposite pole is moving forward with your gaze fixed on the line of code, ignoring environmental signals. Months pass and we keep working on a feature that no longer excites anyone, but “it was on the roadmap.” Here the sunk cost fallacy rules: it’s hard to admit that what was invested won’t be recovered by insisting. The result is a product that grows in complexity, not value, and an exhausted team defending something that stopped mattering long ago.
How to avoid it: schedule regular metric reviews, celebrate kill switches just like launches, and reserve time to show work to real users. If the impact isn’t visible, it’s time to stop, pivot, or prune.
The importance of a task depends on three axes that constantly shift:
When one of these axes shifts, priority does too. That’s why a backlog expires as soon as you stop reviewing it. If you want to see how to translate this theory into a tangible work plan, check out our article on milestones and task prioritization.
If a feature doesn’t find traction, turn it into learning, not legacy.
Product / Year discontinued | Retired feature | Official reason | Lesson for your backlog |
---|---|---|---|
Twitter – Fleets (2020 → 2021) | Ephemeral stories | Didn’t generate new conversations | Copying format ≠ same engagement. |
YouTube – Stories (2018 → 2023) | 24h videos | Residual usage outside large channels | Audience size doesn’t guarantee adoption. |
LinkedIn – Stories (2020 → 2021) | Professional stories | “Didn’t fit the network’s tone” | Context dictates format. |
Microsoft Office – Clippy (1997 → 2007) | Animated assistant | Perceived as intrusive | An annoying helper kills productivity. |
These examples demonstrate that the perceived importance of a feature can evaporate quickly when:
Review your backlog through this lens and grant yourself permission to “kill features” without remorse.
In product development, pivoting is efficiency. Every week you persist in something without value increases sunk cost and your motivational debt.
To reduce irrational attachment:
Being inspired by the previous cases doesn’t mean going out with a chainsaw in hand. Eliminating for the sake of eliminating is as dangerous as never eliminating. The key is cutting with a scalpel, not a machete, and for that it’s convenient to rely on four tools:
Usage data. Look at metrics before deciding. If a screen registers 2% of visits, ask yourself why before deleting it: maybe the flow is hidden or poorly communicated.
Qualitative feedback. Interviews, session recordings, and support comments reveal nuances that numbers don’t tell. Sometimes a rarely used feature is critical for a small but very profitable segment.
Impact vs. effort mapping. Visualize each feature in a simple matrix: high impact / low effort, high impact / high effort, etc. Remove first what lives in the corner of low impact–high effort.
Reversible tests. Deactivate the feature behind a flag or show it only to 5% of users. If no one misses it for two weeks, you have a clear signal that the cut was safe.
Cutting well frees focus and budget; cutting blindly sows hidden debt that sooner or later you’ll have to pay.
The same rule applies to your personal objectives:
Applying quarterly reviews to your professional roadmap keeps you current and avoids the sunk cost of all that time invested in the wrong direction. If you pour all your energy into the latest trend, you risk specializing in something with an expiration date. Better combine excitement for the new with the solidity of proven tools, instead of betting everything on the trendy framework of the moment. Research, read, experiment, test, and decide. Only your experience will indicate whether it’s really worth investing in that current trend. Listen and/or consult with experts.
changelog.md
with date, responsible party, and rationale adds context and stops déjà vu (“why did we remove this?”).Understanding that importance is relative doesn’t build walls; it opens doors. That clarity allows us to adjust course to the rhythm of the market and the people who use our product. Teams that embrace volatility survive; those that cling to rigid plans are more prone to being left behind.
This goes beyond source code and software development. What monopolizes your time today—a tool, a language, a personal goal—tomorrow may be irrelevant. Evaluate, measure, and when necessary, change direction. Surround yourself with experienced people; they’re the ones who can help you find the shortcut you need.
In the end, success isn’t in getting it right the first time, but in building the product the customer needs while knowing how to detect before anyone else when the target has moved and readjust your aim in time.
Happy Coding!
That may interest you
Working in software can quickly turn into a maze of tasks, branches, and bugs waiting to be …
read moreIn the previous chapters of this series, we’ve explored everything from foundational concepts of …
read moreAnimations are a key element in modern application development. They not only make an interface …
read moreConcept to value