Deciding What Not to Build

Deciding What Not to Build

July 3, 2026 Off By Tobias Lindqvist

I spent three months of my life building a complex, procedurally generated weather system for my solo project, convinced it was the “soul” of the game. I was wrong. While I was obsessing over cloud density, my playtesters were complaining that they couldn’t even figure out how to open the inventory. I had fallen into the trap of thinking a feature list is a wishlist, when in reality, learning how to prioritise a backlog is actually about deciding which parts of your game are allowed to exist right now. Most productivity gurus will tell you to use complex scoring matrices or MoSCoW methods, but those are just fancy ways to hide the fact that you’re afraid to say no to a shiny, useless idea.

I’m not here to give you a lecture on agile frameworks or corporate buzzwords that sound good in a boardroom but die in a dev environment. I want to talk about the brutal, honest math of development: what actually moves the needle for a player versus what just fills your schedule. I’ll show you how to look at your tasks not as a checklist, but as a series of trade-offs that define your game’s identity. We’re going to strip away the fluff and figure out how to build something that actually works.

Table of Contents

Why Scoring Models for Product Features Often Say Nothing

Why Scoring Models for Product Features Often Say Nothing.

I’ve seen it a dozen times in both dev circles and MMO forums: a team spends three hours arguing over a value vs effort matrix, only to emerge with a list that feels completely hollow. They’ve assigned arbitrary numbers to “impact” and “complexity” as if they were solving an equation, but all they’ve really done is create a spreadsheet version of a loot table where every item feels equally meaningless. The problem with most scoring models for product features is that they treat player needs like static data points rather than living, breathing motivations.

When you reduce a feature to a score, you strip away the context of the player’s experience. A mechanic might have a high “value” score on paper, but if it’s competing for attention against a core combat loop that’s currently broken, that score is a lie. You aren’t just managing a list; you’re managing a hierarchy of desires. If your prioritization framework doesn’t account for what the player is actually willing to sacrifice to get what they want, you aren’t prioritizing—you’re just doing math in the dark.

Using a Value vs Effort Matrix to Find the Truth

Using a Value vs Effort Matrix to Find the Truth.

The problem with those fancy scoring models I mentioned is that they feel like math, but they’re actually just a way to hide your indecision behind a spreadsheet. If you want to actually see what you’re doing, you need to use a value vs effort matrix. It’s a blunt instrument, but that’s why it works. It forces you to stop pretending every feature is a “high priority” miracle and start looking at the actual cost of the sentence you’re writing.

When you plot your tasks on a grid, you’ll see the truth immediately. You’ll find those “quick wins”—the low-effort, high-value tweaks that actually fix a player’s frustration—and you’ll see the “money pits,” those massive, high-effort features that promise a revolution but usually just end up being expensive distractions. Most developers spend their lives building money pits because they’re chasing a grand vision, while ignoring the small, impactful changes that keep the community from revolting. It’s not about finding the most complex solution; it’s about realizing that every hour you spend on a “maybe” feature is an hour you’ve stolen from something that actually matters.

Five Ways to Stop Treating Your Backlog Like a Junk Drawer

  • Stop prioritizing based on “Coolness” and start prioritizing based on “Friction.” In my own solo dev projects, I used to chase the shiny new mechanic—the “cool” feature—only to realize I hadn’t fixed the broken UI that was making players quit ten minutes in. If a feature doesn’t solve a specific pain point or remove a barrier to the core loop, it’s just a distraction competing with your game’s actual fun.
  • Treat your backlog as a zero-sum game for player attention. Every time you add a “nice-to-have” feature to your roadmap, you are actively deciding to delay a “must-have” fix. You aren’t just managing tasks; you are managing the finite amount of energy your players have. If you clutter your development cycle with fluff, you’re telling your players that their time is less important than your feature list.
  • Look for the “Silent Killers” in your data. A backlog isn’t just a list of things you want to build; it’s a list of things you need to fix before the players stop caring. If your churn rate spikes at level 10, your priority shouldn’t be the new endgame raid; it should be whatever miserable, grinding sentence you accidentally wrote into the level 10 experience.
  • Beware the “Sunk Cost” feature. We’ve all been there—you’ve spent three weeks on a crafting system that feels like a chore, and now you’re hesitant to pivot because of the time invested. A healthy backlog requires the courage to kill your darlings. If a feature is dragging the player experience down, the most productive thing you can do is delete it, not try to “fix” it with more complexity.
  • Define the “Minimum Viable Meaning.” Before you commit a single line of code to a new feature, ask yourself: “What is the core emotional sentence this feature is trying to say?” If you can’t explain how a new loot system reinforces your game’s identity, you aren’t building a feature; you’re just adding noise to an already crowded signal.

Stop Building Chores

Stop Building Chores in game design.

At the end of the day, prioritizing a backlog isn’t about finding a magic number or a perfect spreadsheet that tells you what to do next. It’s about recognizing that every time you move a ticket from “maybe” to “next sprint,” you are making a choice about where your players’ time goes. Scoring models will fail you because they can’t account for the human friction of a bad feature, and value-versus-effort matrices only work if you’re honest about what “value” actually means. If you’re just picking the easiest tasks to keep the momentum going, you aren’t managing a roadmap; you’re just accidentally designing a list of chores that your players will eventually resent.

I’ve spent enough time staring at my own broken code and half-finished systems to know that the most dangerous thing a developer can do is lose sight of the player’s intent. Your backlog is a living document of your game’s soul, and if you treat it like a mere administrative task, your game will feel like an administrative task. Stop trying to optimize the math and start optimizing the experience. Build the things that make people want to stay, not just the things that make your progress bar move. Every line of code is a sentence—make sure yours is actually worth reading.

Frequently Asked Questions

If the Value vs. Effort matrix is just a way to find the "truth," how do I stop my loudest players from hijacking my definition of "value"?

The loudest players aren’t your customers; they’re just the ones with the most free time to yell. If you let them define “value,” your backlog becomes a list of features designed to satisfy a vocal minority while the silent majority—the ones who actually keep the servers running—gets bored and leaves. You have to treat their feedback as data, not direction. Use the matrix to weigh their “wants” against the actual health of the game’s economy or retention.

How do I handle "technical debt" in my backlog when it’s a sentence that says nothing to the player, but everything to the game's survival?

Technical debt is a silent sentence. To a player, it looks like nothing; to you, it’s a ticking clock. Don’t bury it in a “Maintenance” category—that’s where features go to die. Instead, translate it into the language of risk. Don’t say “refactor database,” say “prevent server crash during expansion launch.” You have to frame technical debt as a shield for the player experience, or it’ll never win the fight against new content.

What happens when the "high value" features I prioritize actually end up competing for attention with the core loop that keeps people playing in the first place?

You’ve just accidentally designed a distraction. When a “high value” feature starts eating the core loop, your backlog isn’t prioritizing growth; it’s prioritizing a side quest that’s killing the main campaign. You’re competing with your own game’s heartbeat. If the new mechanic makes the fundamental “fun” feel like a chore, you haven’t added value—you’ve just added friction. Always ask: is this feature reinforcing the loop, or is it a shiny object meant to mask its decay?

About Tobias Lindqvist

Every system in a game is a sentence about what the designer wants you to do. Grind is a sentence. So is a queue timer, a loot table, a guild bank permission screen. I write about what those sentences actually say, and why so many of them say something the designer did not intend. I build a game alone, badly and slowly, which means I have made most of these mistakes myself and can tell you what they cost.