StarBuild
Blog
Language
Open the app
← Back to the blog

Bring a prototype to refinement, not a longer description

Published · 6 min

Should you bring a prototype to refinement instead of a longer description? Yes, because a prototype makes everyone react to the same screen instead of arguing about the picture in their own heads. You can build a rough one before the meeting without writing code, and it usually pays for itself in the first ten minutes.

Why refinement drags

Most refinement sessions that run long are not long because the work is hard. They are long because six people hear the same sentence and imagine six different screens. The story says the user can filter their orders. One developer pictures a dropdown, the designer pictures a side panel, the stakeholder pictures the filters they saw in a competitor's product last month. Nobody notices until someone asks a question that exposes the gap, and then the meeting turns into a negotiation about words.

A longer description does not fix this. It adds more words to misread. I have seen stories with four paragraphs of acceptance criteria that still produced a surprise on the review, because the criteria described behavior and nobody had looked at the layout of the thing.

A prototype changes the question. Instead of asking what do you understand by filter, you ask does this do what you need. People are much better at the second question. They point at things. They say that button should be higher. They notice the empty state is missing. Reacting is cheap, imagining is expensive.

A worked example

Picture a team that maintains an internal tool for a small logistics company. The story in the backlog says: dispatchers can reassign a delivery to another driver. It has been refined twice and keeps coming back with open questions. Can you reassign after pickup? Does the old driver get notified? What if the new driver is already full?

This time the product owner spends forty minutes before the meeting building a throwaway version of the delivery screen with a Reassign button, a list of drivers and a confirmation step. It is ugly and the data is fake. In the meeting she opens it and clicks through. Within five minutes a developer says the driver list needs to show current load, otherwise dispatchers will guess. A dispatcher who joined as a guest says she never reassigns after pickup, she cancels and recreates, so that case can wait. The question about notifications turns into a visible gap: there is nothing on screen that tells the old driver anything, and everyone sees it at once.

The story that had eaten two meetings got split into two smaller ones and estimated before the hour was over. Nothing magical happened. The team simply had something to point at.

A routine you can repeat

Do not treat this as a project. Treat it as a habit that fits in the day before refinement.

  • Pick the one or two stories most likely to eat the meeting. Not the whole backlog.
  • Write the goal in two sentences: who is the user and what are they trying to finish.
  • Describe the main screen and the main action to a prototyping tool in plain language, and let it produce a first version.
  • Click through it yourself and fix the three things that look wrong. Stop there.
  • Add fake but realistic data. Names, amounts and dates that look like your real ones make people react honestly.
  • Write down the open questions you hope the prototype will answer, so the meeting has an agenda.
  • Send the link to the team an hour before, with one line: this is a sketch, not a promise.

The whole thing should take under an hour per story. If it takes longer you are building a feature, and that is the first trap, which I will get to.

A tool like StarBuild fits here: you describe the screen in a chat and get a running app with a live preview, so you can share a link instead of a screenshot. Any tool that gives you something clickable will do the job.

Running the meeting with the prototype open

Share your screen but do not drive it for the whole session. Start by clicking through the happy path once, in silence, for two minutes. Then hand over: ask a developer to try to break it. People find more problems when their own hands are on the thing.

Keep a visible list of what comes up and sort it as you go into three piles: change the prototype, new story, or not now. The first pile you can often fix live. That is the best moment of the meeting, when someone says what if the total was shown here and thirty seconds later it is.

Estimation changes too. When the team has seen the screen, the numbers stop being a guess about an unknown shape. Developers can say this part is a list we already have, this part is a new form with validation, and this part needs a backend change. The spread between estimates shrinks, and the planning poker rounds where one person says 2 and another says 13 become rarer. The prototype does not make the work smaller. It makes the disagreement visible earlier, when it is still cheap.

A prototype is not a promise. It is a way to find out what you are promising before you promise it.

Traps to avoid

The first trap is gold plating. You make the prototype look good because you can, spend three hours on colors and animations, and now the meeting is about the animations. Keep it rough on purpose. If a stakeholder comments on a font, your prototype is too polished for its job.

The second is stakeholders reading it as a commitment. They see a working screen and assume the feature is nearly done. Say out loud at the start that it is a sketch, that the data is fake, and that most of what they see does not exist behind the screen. Put a visible banner on it if you have to. Then repeat the message at the end.

The third is developers who distrust generated code. That reaction is fair and you should not fight it. The prototype is not meant to be merged. Tell the team plainly that it is a conversation piece and that they will build the real thing their own way, with their own standards. Most of the resistance fades once it is clear nobody is asking them to inherit it. If a prototype turns out to be solid enough to start from, let them decide that, not you.

When not to bother

Skip the prototype when the story is a small change to something that already exists and everyone has seen it. Skip it for pure backend work, like a data migration or a queue change, where there is nothing to click. And skip it when the team already agrees and the only thing slowing you down is the calendar. A prototype is a tool for resolving doubt. Without doubt, it is just another artifact to maintain.

Try it on one story next sprint, the one you already suspect will drag. Time the meeting and compare it with the last time that kind of story came up.