This tale is made up, yet anybody who has sat on a data team will know its outline. A small group, call them the Ledgerline crew, spent most of a quarter building something that the requester described, on delivery day, as “not really what I meant.” Nobody had been careless. The original ask was a single line in a ticket. This post follows that team through the mess and shows the written brief they adopted afterwards, because a clear brief is the cheapest piece of data engineering you will ever do.
Monday: the one-line ticket
Imani, who ran revenue operations at a mid-sized online retailer, filed a ticket that read: “Need clean customer data for the retention analysis ASAP.” The data engineers, Tomas and Wen, read “clean” as deduplicated and consistently formatted. Imani meant “stitched across the web store, the app and the returns desk so I can see who comes back.” Those are two different projects, and each is defensible. Neither engineer asked, partly because the ticket sounded so confident.
Tomas spent two weeks building a tidy deduplication job. Wen spent a week wiring a nightly refresh and alerts on top of it. The pipeline worked. The tests passed. It was well documented. It was also useless for the question Imani actually had.
Friday of week four: the awkward demo
In the demo, Imani asked where the app purchases were. They were not included, because nobody had said they should be. The room went quiet. Then the useful sentence arrived from Wen: “What would you have needed to see in the ticket for us to get this right?”
It turned out Imani had assumptions that fitted neatly in five lines and had never been written down:
- The result had to cover three sources, not one.
- It was needed before the planning meeting at month-end, because the numbers fed a decision.
- Budget was modest: a few engineer-days, not a quarter.
- Customer identifiers could not leave the warehouse, which ruled out two of Tomas’s shortcuts.
- “Done” meant that Imani could ask which customers bought twice within a season, and get one answer rather than three that disagreed.
Every one of those would have changed the design. Written on a page in week one, they would have saved about a month.
The template the team kept
The crew did not buy a process tool. They made a short request form that lives in their wiki and gets pasted into every new ticket. It has six boxes, and none of them may stay empty.
The outcome, in the requester’s words
Not the table, not the tool. The decision or action the data will support. “I want to know which customers return within a season so that I can decide where the loyalty budget goes.”
The date and what depends on it
A real date plus the thing that hangs on it. If the real constraint is a meeting, say so, because then a rough answer on time beats a perfect one late.
A budget range
Expressed in effort. “Up to five engineer-days; beyond that, come back and we will talk.” It gives engineers permission to propose a smaller first slice instead of silently overbuilding.
Constraints and no-go areas
Where data may live, who may see it, which systems are fragile, what is already deprecated. This is the box that prevents the most rework, and it is the one requesters skip most often because they do not know the answers. The engineers help fill it, which is itself useful.
Done means
Two or three checks that a non-engineer can run. In the Ledgerline case: “Pick ten customers I know bought in both the app and the store, and each appears once with both purchases visible.”
What is deliberately out of scope
One line. It stops a helpful engineer from adding something delightful that nobody asked for and that someone must now maintain.
What changed in the next quarter
The next request through the template came from the marketing lead, Priyal, who wanted to understand which sign-up sources produced repeat buyers. The form took her about fifteen minutes, and a question from Tomas during that time shifted her “done” check from a vague trend to a specific comparison. The work was finished in the budgeted range, with no demo-day surprise, because the surprise had been had on paper.
The team also noticed a quieter benefit. When Priyal later asked for an extra cut of the data, the conversation was easy. Wen pointed at the out-of-scope line, they agreed it was a new piece of work, and the new request got its own short brief. Nobody felt blamed, since the page had been agreed by everyone.
For teams curious about how this kind of discipline fits with the wider craft, our earlier look at real implementations from data teams shows the delivery side, and the account of keeping real-time analytics steady when pipelines misbehave is a good reminder of why clear inputs matter downstream.
Why this is not only for data teams
Once Ledgerline had the habit, it leaked into their personal lives. Wen used a half-page brief to ask a decorator for help with a flat, and Tomas used one for a freelance designer who was refreshing his side project’s logo. The questions transfer cleanly: what do I want, by when, how much effort or money, what are the fences, and how will I know it is finished.
When the help comes from outside, the first message matters even more. One route is a marketplace like ProfessNow, which lets you browse professionals for a given line of work in your own city and then put in a booking request. That request is a very short window to be understood, so the same five answers belong in it.
The no-nonsense rules the crew wrote on the wiki
- If the requester cannot fill a box, the first task is a conversation, not a build.
- Budget is a range, and the engineers may propose a smaller first slice.
- Definition of done is checkable by someone outside the team.
- Revisions are dated, so everyone knows which version the work answers.
- If scope moves, write a new brief rather than quietly stretching the old one.
A note on tone
One thing Imani said afterwards stuck with the team. She had assumed that writing a long request would sound demanding, so she kept it short and confident. Tomas pointed out that the brief is not a demand. It is a courtesy to the person who has to guess otherwise. Engineers rarely resent a clear page; they resent discovering the real requirement in week four. Wen added that a brief also protects the requester, because it records what was wanted when memories later drift, and it gives a calm way to say, “that is outside what we agreed,” without anyone sounding defensive. Within a couple of months, requesters were filling in the form before the team even asked.
Takeaway
The Ledgerline crew did not get faster by working harder. They stopped spending weeks answering a question nobody had asked. A page of six short answers cost the requester minutes and saved the engineers weeks. Next time a one-line ticket lands in your queue, treat it as a draft, and send back the brief form before a single line of pipeline code is written.