Back to Resources
July 17, 20263 min readBy Alden Menzalji

Ask for a Feature in Three Lines

Start with a sold-out product

Say you run an online shop and one product just sold out. You want a button that lets shoppers ask to be told when it returns. You could write three paragraphs of instructions. Instead, write three lines:

  • As a shopper looking at a sold-out product
  • When I click "Email me when it's back"
  • Then the site saves my email and sends me one message the moment it returns to stock

Three lines, and you already know all three

That is the whole tool. As a [who], when [something happens], then [what should happen]. It is the same shape the pros call a user story1 with its outcomes written as given-when-then,2 minus the jargon. You know your product better than anyone, so you can fill in all three today, the same way you can describe a whole site one component at a time.

A filled-in feature request card titled Feature request with an Example tag. Three labeled lines read: As a, a shopper looking at a sold-out product; When, I click Email me when it is back; Then, the site saves my email and sends one message the moment it returns to stock. Below, an edge cases block lists three short when and then lines.

"As a" names who it is for

The first line is the person. A shopper, a logged-in admin, a first-time visitor. Naming the who keeps the feature honest, because a button for customers is a different job than one for your staff, even when the two look identical on screen.

"When" is the exact moment

The middle line is the trigger: the precise moment the feature wakes up. A click, a page opening, a cart left sitting for an hour. Pin the moment and a developer knows exactly when your feature should fire, with nothing left to guess.

"Then" is what should happen, and what you can check

The last line is the result you can watch with your own eyes. An email is saved. A message goes out. A banner appears. If you cannot see it or check it, it does not belong on this line. You name the outcome; picking the machinery behind it is your agency's job.

The trick: every edge case is three more lines

Here is where it earns its keep. Each "but what if" is just another three-line block. You do not argue about them in a meeting, you write them down:

  • When the same shopper clicks twice, then their email is saved once, not twice
  • When the item returns to stock, then everyone waiting gets one email, once
  • When the item is already in stock, then the button never appears

Leave the "how" off every line

Notice what is missing: no database tables, no "run it as a background job," no framework names. That half of the work belongs to your agency. Your three lines say what should happen; how they build it is their call to make.

Where the three lines go next

Each block becomes one item on your list, ordered the way you want in your backlog. And the "Then" line quietly doubles as your test. When a feature comes back and the outcome does not match what you wrote, you are already holding half of a clean bug report.

The whole move in one line

Name who it is for, name the moment, name what should happen. Three lines, no code, and every edge case is just three more. It is the same rule this whole series runs on: say what should happen, and leave the how to the people you hired to build it.

References

Footnotes

  1. Atlassian. "User stories with examples and a template"

  2. Cucumber. "Gherkin Reference"

Related Articles

February 25, 20255 min read

Tell Your Agency What You Want, Not How to Build It

A plain-English guide for founders working with an implementation agency. Why handing developers your exact how-to spec, and your favorite tech stack, usually backfires, and what to say instead to get what you actually want.

December 19, 20244 min read

Describe What You Want, One Component at a Time

Communicating a website build to your agency feels huge until you break it into repeating parts. Write a one-page brief per component, fill in one card completely, and sketch the rest on a napkin.