Blog 6 min read

Half the loop is deciding the same thing twice.

Product building is not six steps. It is a loop of ten, and three of the ten are the same decision made again. Here is where the repeats come from, and what "kept once" means.

Two panels. Top, labelled 'What people think product building is': six steps on a straight line, talk to users, write the spec, prioritise, build, launch, measure. Bottom, labelled 'What it really is': a loop of ten stops, three of them faded and tagged 'again', ending at a card that reads 'the real problem was the fourth request'. A counter reads seven stops, was ten.
The story people tell, and the loop that actually happens. Three of the ten stops are repeats.
The short answer

Product building is a loop, not a line. That part is fine; ambiguity is the job. What is not fine is that a large share of the loop is the same decision being made a second time, because it was made in a meeting and never kept anywhere the next person would look. Keep each decision once, with its reason and its source, and the loop gets shorter without getting any less honest.

What to take from this
  • The six-step version of product building is a story. The real thing is a loop of about ten stops that restarts.
  • Around a third of those stops are repeats: a spec rewritten for a constraint someone already knew, a cut re-litigated because the reason was lost, a metric argued about after it was defined.
  • Repeats are not ambiguity. Ambiguity is when nobody knows. A repeat is when someone knew and it was not kept.
  • Kept once, with the reason and the source, filed by the part of the product it concerns, the loop drops from ten stops to seven. The seven that remain are real work.

The version people tell

Talk to users. Write the spec. Prioritise. Build. Launch. Measure. Six steps, left to right, and every step is a real thing that really happens. It is a fine story, and everyone who has shipped anything knows it is not how it goes.

The interesting question is not "why is the real version messier?" Everyone knows why: people, constraints, and information that arrives late. The interesting question is which parts of the mess are unavoidable and which parts are the team doing the same work twice.

The version that happens

Here is a loop that will look familiar. Ten stops, one feature, then it starts again.

Ten stops, three repeats, then seven. The animation runs for twenty seconds.

Talk to users. Three of them want three different things. Write the spec. Rewrite it, because the data model cannot do that. The estimate comes back at three times the guess. Cut scope. Re-litigate the cut when a stakeholder escalates. Ship half. Argue about the metric, again. Learn that the real problem was the fourth request, the one that was mentioned in three calls and never counted.

Then the loop restarts, with the fourth request at the top of the list.

Nothing in that loop is unusual, and nothing in it is anyone's fault. Every stop is a reasonable response to the information the team had at that moment. That is the point: the problem is the information, not the people.

Three of the ten are the same decision, made twice

Look at the stops with an "again" on them.

Rewrite the spec

The data model cannot scope per user. Someone in engineering knew that. It came up in a review two weeks earlier, or a year earlier on a different feature. The spec was written as if nobody knew, so it had to be written twice. The constraint existed; it was not kept where a person writing a spec would find it.

Re-litigate the cut

Scope was cut for a reason: the estimate came back at three times the guess, and the deadline did not move. That reason lived in the planning meeting. When a stakeholder escalated, the cut had to be defended from memory, so it got argued again, and sometimes reversed. The decision existed; the reason for it did not travel with it.

Argue about the metric, again

Activation was defined in a standup as a week-one return, not a signup. The dashboard was built by someone who was not in that standup. So "the data is ambiguous" meant, precisely, "two people are using one word for two things." The definition existed; it was in a transcript nobody reread.

And then the tenth stop, which is a different kind of repeat: the real problem was the fourth request. It was mentioned in three customer calls. Each mention got a line in a recap. Nobody added them up, so it never made the list, and the team built the wrong thing well.

Why this is not ambiguity

It is worth being strict about this, because the two get blamed together and only one of them is fixable.

Ambiguity is when nobody in the room knows. Which of three requests matters most. Whether the stakeholder will accept the cut. What the metric will show. Those are the job, and no tool removes them. A team without any of that is not building anything new.

A repeat is when someone did know. The constraint was stated. The reason was given. The definition was agreed. The request was made, four times. The knowledge existed and then it went to the one place knowledge goes to disappear: a meeting that ended.

That distinction is the whole argument. You cannot shorten the loop by removing ambiguity. You can shorten it by not paying for the same answer twice.

What "kept once" looks like

Four things, each with a reason and a source, each filed under the part of the product it concerns rather than the date it was said:

  • A constraint. The data model cannot scope per user yet. Engineering review, 2 March. Anyone writing a spec that touches permissions sees it before they start.
  • A decision, with its reason. Export cut from v1, because the estimate came back 3x. Planning, 9 March. When the escalation comes, the answer is a link, not a memory.
  • A definition. Activation means a week-one return, not a signup. Standup, 16 March. The dashboard and the standup are now the same word.
  • A request, counted. Read-only role for finance. Asked four times, by two teams, between 4 and 20 March. It makes the list on its own.

Run the same loop with those four kept and it has seven stops instead of ten. Not zero. The three users still want three things, the estimate still comes back high, the stakeholder still escalates. Those are real. What is gone is the second time round.

Where Wisibl fits

This is the specific thing Wisibl is for. It sits on top of the tools the team already has, reads the transcripts and documents, and keeps the constraints, decisions, definitions and requests it finds, with the reason and the source attached, filed by product area. When someone starts a spec, asks why the cut happened, or builds the dashboard, the answer is already where they are looking, and it points back to the moment it was said. When there is no source, Wisibl says so rather than guessing.

It does not make product building linear. Nothing does. It makes the loop stop repeating itself.

Questions people ask

Is the loop a sign the team is doing something wrong?
No. A loop with a stakeholder escalation, a scope cut, and a metric argument in it is a normal team building a real feature. The part to look at is how many of those stops are happening for the second time.
How do you tell a repeat from ordinary ambiguity?
Ask whether the answer already existed before the meeting started. If someone in the room had decided it, defined it, or been told it, and the team is working it out again, it is a repeat. If nobody knew, it is ambiguity, and that one is the job.
Does Wisibl remove the repeats?
It removes the reason they happen, which is that the decision was made in a meeting and not kept where anyone would look. Wisibl keeps decisions, definitions, constraints and requests with their reason and their source, filed by product area, so the next person finds them before re-deciding.

Find the repeats in your own loop.

Add one meeting. Ask what was decided, and why. Every answer comes with its source.

Hire Wisibl
CK
CK

Product manager who spent years being the person everyone messaged for context. Wisibl is the tool they wanted instead.

Last updated . We revisit posts when the product or the advice changes.