Ga naar hoofdinhoud

Procrastination by Preparation

by Mylene — Mar 31, 2026
7 minutes

When refinement quietly replaces development in Agile teams

I have seen it happen in more teams than I can count. There is a story on the board, everyone knows it needs to happen, and yet week after week it does not get picked up. Not because it is forgotten, but because it feels too large, too uncertain, too visible. Every sprint it comes up in refinement. Every sprint the conversation goes a little longer. And then it quietly moves to next sprint again.

Nobody is slacking. In fact, the team is working hard. They are discussing, drawing diagrams, raising good questions. But somewhere in that process, the thinking has replaced the doing.

The feature that nobody wants to touch

One pattern I keep coming back to is the large feature that everyone knows is coming but nobody quite dares to start. You can usually recognize it because the team already has a rough sense of what needs to happen. The database probably needs to change. The frontend structure probably needs to be rethought. Existing logic may need to be moved or replaced.

That word "probably" is where things get stuck.

Because it is complex and everyone can see the rough edges, the team starts protecting itself without quite realizing it. Smaller stories get picked up instead. Things that are well defined, quick to deliver, easy to explain in a demo. Meanwhile the big feature sits in the backlog, growing more uncomfortable every sprint.

Nobody decides to ignore it. The team genuinely wants to do it right. But "right" starts to mean "fully understood before we start," and a feature that touches the database, the frontend, and possibly the core logic of an application is never going to feel fully understood upfront.

The risk is obvious in retrospect. The feature that was avoided for six sprints has to be built anyway. Often under real time pressure, with less room to do it properly than there would have been months earlier.

It did not get smaller over time. It only got more urgent.

Why preparation feels safe

When a piece of work is large and uncertain, starting it makes that uncertainty visible. As long as the team is still discussing, nothing has gone wrong yet. The design might still be perfect. The estimate might still be right. There is a strange comfort in that.

The more experienced a team is, the more this effect can work against them. Senior developers can see more ways a design might fail. They know from experience how often "probably needs a database change" turns into something much messier. So they ask more questions, raise more risks, and the discussion grows.

This is not a weakness. It is experience doing exactly what it is supposed to do, spotting risks early. The downside is that it can also make starting feel harder than it needs to be.

What makes it harder is when visibility and expectations pile on from outside the team. When stakeholders are watching a feature closely, or when the team feels pressure to maintain a certain velocity, starting something that might not go cleanly becomes genuinely frightening. Teams on the outside of that pressure sometimes cannot understand why nothing is moving. Teams on the inside of it cannot always explain it either. So they go for safe stories, keep the velocity numbers reasonable, and quietly defer the hard thing.

When the team starts to fray

There is a human cost to this that does not always get named. When a team keeps circling the same story without resolution, it takes a toll.

People start to get short with each other. The developer who always raises the architectural concern starts to feel like an obstacle. The product owner who keeps asking why this has not been started yet starts to feel like they do not understand the complexity. The person who says "let's just start it" and the person who says "we need to think about this more" end up talking past each other.

I have been in rooms where a team that genuinely respected each other became tense and curt over exactly this kind of story. Not because anyone was being difficult, but because the pressure of unresolved uncertainty is uncomfortable, and that discomfort has to go somewhere.

Sometimes it takes someone outside the immediate loop to simply say: we are going in circles, we need to pick a direction. Not a perfect plan. Just a start.

The estimation trap

Refinement loops often get worse during estimation. The moment a story needs to be sized, the conversation shifts. It is no longer just about what to build, but about everything that could go wrong.

What if this is bigger than we think. What if we underestimate the backend changes. What if the design falls apart once we get in there.

Story points and planning poker are meant to be relative, rough, and useful rather than precise. But when estimates start to feel like commitments, that intent gets lost. An honest estimate of 13 points starts to feel like a risk rather than a signal.

The answer is not to spend more time in refinement until the estimate becomes more comfortable. That rarely works. The answer is to make the scope of the next step smaller until it does.

The spike that actually helps

This is where a spike can be genuinely useful, when it is short, bounded, and aimed at a specific question.

A spike is not "let's investigate the architecture." It is something closer to: let's spend two days figuring out whether the current data model can support this feature, and come back with a concrete answer. The output is a decision, not more questions.

Used that way, a spike shrinks uncertainty in one specific area without becoming an excuse to delay everything else. It becomes a tool for starting rather than a tool for waiting.

Creating a shift

This is the part that is harder to talk about because it is less about technique and more about culture.

Seniors can play a real role here, especially when a team gets stuck in this pattern. Not by making the decision for the team, but by modelling a different relationship with uncertainty. Being willing to say "I do not know exactly how this will turn out, but here is how I would start" is more useful than projecting confidence you do not have. It gives others permission to begin imperfectly.

Techniques like timeboxing and dot voting can help a group move from open ended discussion to a concrete direction. Not because they are magic, but because they create a structure that forces a choice. At some point the team has to pick something, even if it does not feel completely ready.

The deeper shift is helping everyone involved understand that Agile does not mean knowing everything before you start. It means building in a way that lets you learn and adjust. That message often needs to reach stakeholders just as much as it needs to reach the team.

Bringing stakeholders along

Part of why teams play it safe is that they feel exposed when things do not go to plan. If a stakeholder expects that something estimated at three sprints will take exactly three sprints, the team learns to protect itself with more analysis, more certainty before starting, more delays.

When stakeholders genuinely understand that an estimate is a best guess rather than a promise, and that Agile expects the plan to change as you learn, the team has more room to take the first step.

This is not about lowering expectations. It is about setting them correctly from the start. "We think this will take two to three sprints and we will know more after the first one" is an honest and useful thing to say. It is also a conversation worth having before a feature ends up stuck in refinement for months.

Progress starts when the team dares to begin

Procrastination by preparation is not laziness. In my experience it is almost always the opposite. It happens when the work matters, when people care about doing it well, and when the consequences of getting it wrong feel real.

That combination creates a pull toward more preparation. More refinement. One more question to answer before starting.

The shift is not about caring less. It is about accepting that in most cases, the solution only becomes clear once you start building it. The uncertainty does not disappear in refinement. It just moves somewhere else.

More often than we like to admit, the first sprint is the best research tool you have.