Inferno

Blog

How to Handle Scope Creep in an Indie Game Studio

You handle scope creep by catching it at the warning-sign stage, making every change an explicit ship-or-cut decision, and locking a scope agreement before the vertical slice. This playbook applies all three to the creep sources that actually sink tiny crews: feature creep, art polish loops, engine pivots, and jam-scope blowouts.

What does scope creep look like in a game project?

Generic project advice tells you to watch for extra deliverables. Games don't work that way. Scope creep in game dev hides inside systems, art iterations, and tech decisions that all feel necessary in the moment. Here's what it actually looks like on a tiny crew.

Feature creep: the crafting system that wasn't in the pitch

You pitched a tight action game. Six months in, someone suggests crafting would "add depth," and suddenly you're designing inventory UI, item balancing, and a progression curve nobody scoped. Each feature multiplies the disciplines it touches: crafting pulls design, art, code, and audio into work that was never on the backlog.

Art polish loops: the third character redesign

Your main character gets a pass, then a "quick" revision, then a full redesign when the style settles. On a 2-8 person crew, one artist reworking a hero model three times can eat weeks that a milestone needed. Polish loops feel like quality work, but unrestrained iteration is scope creep wearing a beret.

Engine and platform pivots mid-project

Switching engines or adding a console target mid-project rewrites your pipeline, your build process, and half your code. These pivots rarely announce themselves as scope decisions, which is exactly why they're dangerous. Tracking them as explicit decisions in your task board, rather than hallway conversations, is the first step in how to handle scope creep. Tools like Inferno give a tiny crew one place to see when planned work and actual work have diverged.

Why do tiny crews bleed scope faster than big studios?

No producer means no one says no

On a big studio, a producer owns the scope line and rejects ideas that don't serve the current milestone. On a 2-8 person crew, that role doesn't exist, so every "wouldn't it be cool if" gets said yes to by default. Nobody's job is to protect the sprint, and the person who'd benefit from saying no is also the person excited about the idea. That's why a vertical slice quietly grows three new mechanics before anyone notices.

Passion projects blur 'later' and 'never'

Indie game teams live inside their own backlog, so "we'll add it later" feels free. It isn't. Every later item competes with shipping, and a tiny crew has no slack to absorb it. Naming the tradeoff out loud, in a tool your whole crew can see, is the cheapest fix you have. Even a simple board with explicit later/never columns, which you can add as custom sections in Inferno, forces that conversation weekly.

How do you detect scope creep early?

Creep shows up in your backlog before it shows up in your milestone. Three signals catch it weeks ahead.

Backlog growth rate vs completion rate

Count new cards added per week versus cards closed per week. If additions outpace closures for two consecutive sprints, your vertical slice is growing while your ship date stays fixed. Track both numbers on a single board view so the gap is visible at Monday standup.

Tasks that keep getting re-opened

A card re-opened three times is not a bug, it is a feature whose definition nobody agrees on. Re-open loops usually mean the original scope was fuzzy, and each pass quietly adds work. Flag anything re-opened twice and force a written acceptance check before the third attempt.

The 'small addition' pattern in Discord

"It's just a quick shader tweak" is how pipelines bloat. Log every Discord request as a card, even tiny ones, then review the pile weekly. Unlogged requests are invisible creep, which is the case for one shared list. Global Game Jam surveys show most jam teams cut features to ship within 48 hours, proof that a hard scope line works when you can see it.

How do you manage scope creep mid-project?

When creep is already inside your sprint, you need a decision process, not willpower. Three habits keep a tiny crew honest without killing good ideas.

The one-in, one-out rule for features

Every new feature that enters the sprint must push an existing one out. If someone proposes a photo mode, something on the board has to leave to make room for the art, code, and testing hours it will eat. This forces the proposer to price the idea immediately. If nothing is worth cutting, the honest answer is "not this milestone," and the idea goes to the backlog instead of the sprint.

Triage every addition against the vertical slice

The vertical slice is your filter: does this addition make the slice demonstrably better, or is it a detour? A new enemy type that shows off your combat loop passes. A crafting system that no one will touch until next quarter fails, no matter how fun it sounds. Judge every request this way and most scope creep dies in the conversation, not the milestone. If you need a refresher, see what a vertical slice is.

Write the change decision down, even solo

The triage conversation is worthless if the outcome lives in Discord scrollback. Write one line in your board: what changed, what got cut or deferred, and who decided. This is the discipline that separates a managed change from Monday-morning archaeology through commit history and half-remembered standup notes. On Inferno, a scope change is a card on the same board as the work it affects, so the decision sits next to the milestone it reshapes. Even a two-person crew benefits: three weeks later, nobody argues about what was agreed.

How do you prevent scope creep before it starts?

The cheapest fix for scope creep is a written agreement made before anyone opens an editor. Three artifacts do most of the work: a scope agreement for the vertical slice, a definition of done per discipline, and a visible parking lot for ideas that arrive mid-sprint.

Write a scope agreement for the vertical slice

Before the slice starts, list exactly what ships in it: one level, one mechanic, placeholder audio allowed, no menu flow. Get every crew member to sign off in writing, even if the writing is a pinned doc. When a new idea shows up, the agreement is the arbiter, not whoever is loudest in Discord. Compare how tools frame this trade-off in Inferno vs HacknPlan.

Define 'done' per discipline: code, art, audio

Vague done-states invite creep because unfinished work keeps generating follow-up tasks. Borrow the spirit of the Definition of Done guide from Scrum.org: write it per discipline. Code done means it compiles clean and has no null-reference surprises for the next person. Art done means the asset is in the build, not just exported. Audio done means it loops in-engine.

Park ideas in a visible 'not now' list instead of Discord

Every "what if we also..." gets one home: a visible backlog column labeled not now. The rule is simple, capture it or lose it, but never act on it mid-milestone. A parked idea costs one card; an unparked one costs a week.

How do game jams teach you to handle scope creep in 48 hours?

A jam forces the decision you avoid on longer projects: cut features to hit a date. That habit, not the code you write, is what carries back into your vertical slice and milestone planning.

The jam cut list as a reusable artifact

Every jam team keeps an informal cut list: the cool mechanics you dropped to ship something playable. Write that list down instead of forgetting it. It becomes your scope agreement template for the real project, showing which ideas were cut on purpose, not lost to drift.

The discipline transfers directly. When a new mechanic idea appears mid-sprint, ask the jam question: "Does the build ship without it?" If yes, it goes on the backlog, not into the milestone. A tiny crew that practices this every 48 hours finds it much easier to hold the line across six months.

Which tools help a tiny crew hold the scope line?

A task board should make every scope decision visible: what got parked, who approved it, and what it pushed out of the milestone. If a "wouldn't it be cool if" idea lives in a Discord message instead of the board, nobody can point to it when the build slips.

What to look for: parked ideas, change notes, milestone views

Three features matter most. A parking lot or backlog column where ideas land without entering the sprint. A way to attach a short change note to any scope decision: added, cut, or deferred, with a name next to it. And a milestone view that shows the vertical slice as it stands, so cutting one feature visibly makes room for another.

Honest look: where Inferno helps and where it falls short

Inferno pulls design docs and tasks into one workspace, so a scope change is written where the work already lives. Where it falls short: it has no formal change-request workflow. If you want a signed-off scope agreement per milestone, you will still write that yourself and pin it to the board.

How the alternatives compare

Tool Strength for scope control
Codecks Card decks make parking ideas feel natural; docs live alongside tasks
HacknPlan Game-specific structure with design and production layers
Projects.ink Lightweight boards built around game pipelines
Trello Flexible kanban, but scope discipline is all on you

The official Trello guide covers the basics if you are starting from scattered docs and chat. Whatever you pick, the board only holds the line if every scope call gets a card.

What does a scope-creep rescue look like on a real milestone?

Picture a three-person crew four weeks from a vertical slice milestone. The build runs, but the backlog holds 60 open items and the demo has two half-finished biomes. The rescue starts with one question: what must a player see in ten minutes to judge this slice? Everything else gets moved out, not deleted.

In this worked example, the crew cuts to one biome, three enemy types, and one core mechanic polished to a shine. The second biome drops to a stretch column; the fourth enemy type leaves the milestone entirely. Two people code, one does art and audio, and the sprint board shrinks to 14 items.

The honest cost: the demo is smaller than the pitch trailer promised. That is the trade. Ship the slice, log the cut items as explicit change decisions, and scope creep becomes a recorded choice instead of a Friday-night surprise. For the vocabulary behind all this, see scope creep vs feature creep.

FAQ

How do you manage scope creep when the whole team is excited about a new feature?

Use the one-in, one-out rule: the feature can enter the sprint only if something else leaves to fund its art, code, and testing hours. If nothing is worth cutting, the honest answer is 'not this milestone.' Park the idea on a visible backlog column so the excitement gets captured instead of acted on mid-sprint.

Is scope creep always bad, or is some feature growth healthy?

Growth itself isn't the problem; unpriced growth is. A feature that demonstrably improves the vertical slice, like an enemy type that shows off the combat loop, is a healthy addition. Creep happens when additions enter the milestone without a ship-or-cut decision, so the fix is pricing every idea against the slice, not banning new ideas outright.

What's the difference between scope creep and iterating on a design?

Iteration has a defined target and an endpoint: the character pass ends when the asset ships in the build. Creep is iteration without a done-state, where each 'quick revision' quietly adds work and nobody agrees on what finished means. Writing a definition of done per discipline is what keeps polish loops from becoming redesigns.

How do I tell a teammate their idea is out of scope without killing morale?

Point at the scope agreement instead of delivering a personal verdict: the doc everyone signed off on before the slice started is the arbiter, not you. Then park the idea visibly on the board so it survives as a real candidate for the next milestone. The message becomes 'not this milestone,' never 'bad idea.'

How long should a scope agreement be for a small indie game?

One page, or even a pinned paragraph. List exactly what ships in the vertical slice: one level, one mechanic, placeholder audio allowed, no menu flow. Get every crew member to sign off in writing. Anything longer stops getting read, and an unread agreement can't arbitrate disagreements when a new idea shows up mid-sprint.