Data work has a peculiar failure pattern. A stakeholder describes a need in a meeting, the team leaves with a warm feeling, and three sprints later the dashboard everyone receives answers a slightly different question. Nobody was careless. The call simply produced no artefact. A written confirmation after a stakeholder call closes that gap, and in a DataOps team it is as natural as a schema contract: a small, explicit statement of what both sides expect.
Below are eight lines worth sending, ordered roughly from the first message to the last. Treat them as a menu. A minor request may need only two of them, while anything that changes a pipeline other teams rely on deserves most of the list.
1. The purpose, in one sentence
Open with the decision or activity the data will support. “As discussed, the aim is to help the regional sales team spot slipping accounts earlier.” This sentence anchors every later choice. If the stakeholder replies that the aim is different, you have saved a sprint.
2. The datasets and fields in scope
Name the sources and the key fields that were mentioned, and list what was explicitly left out. Precision here is the difference between a request and a rumour. Where fields carry personal or sensitive content, say that handling follows your existing internal policy; do not improvise rules in a chat message.
3. The grain and the definition
Many data disputes come from two people using one word for two things. Write down the unit of analysis (“one row per customer per month”) and the definition of any contested term in plain language. If your pipelines already carry automated tests of the kind covered in our walkthrough of checking data with expectation suites, you know a rule can be tested only after somebody has stated it without ambiguity, and the confirmation message is where that statement first appears in writing.
4. The freshness expectation
State how current the data must be and how you will know. “Refreshed each morning before the working day begins” is better than “daily”. Add what the team will do if a refresh is late, whether that is a note in a channel or a pause in downstream reports.
5. The delivery format and location
Confirm where the output will live and in what shape: a table in the warehouse, a scheduled extract, a dashboard tile. Confirm who has access. People often assume delivery means “emailed”, while the engineer assumes it means “available in the warehouse”.
6. The date and the checkpoint
Give a delivery date and, for anything larger than a quick fix, one intermediate checkpoint where the stakeholder sees a sample. A checkpoint turns a surprise at the end into a small correction in the middle. Orchestration tooling helps you hit the date, as discussed in our walkthrough of orchestrating messy pipelines, but the date itself is a human commitment and belongs in writing.
7. The change path
Describe what happens when the request moves. “If the scope grows, we will tell you the effect on the date before starting the new part, and you can decide whether to proceed.” This line turns later additions from an argument into a procedure. It also protects the stakeholder, who learns the consequence of a change at the moment of choosing rather than afterwards.
8. The named contacts and the reply window
Close by naming who on each side can answer questions, and by when you would like a correction if anything above is wrong. A useful phrasing is “unless I hear otherwise by end of day Thursday, I will proceed on this basis”. It gives silence a defined meaning, which a verbal agreement never does.
A worked example
Here is how the eight points compress into a message of about five sentences, the kind that fits comfortably on a phone screen.
“Thanks for the call. To confirm: the goal is an early view of at-risk accounts for the regional team, using the billing and support tables, one row per account per week. It will refresh before 8 each morning and land in the shared warehouse schema. A sample comes to you midweek and the full version by the end of the following week. If the scope grows, I will flag the date impact before starting the extra part. Please correct anything above by Thursday evening.”
It contains no jargon the stakeholder would not use, yet every line corresponds to a decision that would otherwise live only in memory.
What to avoid
- Long recaps. If the message is longer than the call felt, nobody will read the second half.
- Technical detail the stakeholder cannot judge. Confirm outcomes in their language, and keep implementation notes in your own documentation.
- Assumed silence as agreement. A reply window helps, but for anything costly ask for an explicit “yes”.
- Burying the one risky assumption. Put it first, not in line seven.
Objections you will hear, and honest answers
“We are agile; documents slow us down.” A five-sentence message is not a specification. It records the decision the call produced, and agile teams make decisions constantly. Without a record, each decision gets remade every time someone forgets it.
“The ticket already says it.” Tickets describe the request as first typed, not as it was refined on the call. When the two differ, the confirmation is what keeps the ticket truthful. If your transformation layer is built with something like the approach in our primer on modelling data with dbt, you already believe that logic belongs in version control; the agreement behind the logic deserves similar care.
“It feels like we do not trust them.” Stakeholders usually read the message as attentiveness. Most people are relieved to see their request reflected back accurately, and those who disagree are grateful to find out quickly.
Where outside experts fit in
Data teams sometimes need specialists beyond their own field, for instance a finance reviewer to look at how revenue figures are treated before they appear in a report. If that is you, a searchable listing such as this directory for locating chartered accountants lets you filter by city, area of specialisation and whether the consultation is held remotely or face to face. Whichever professional you engage, the same eight-line habit applies to the call you have with them.
Making it a habit, not a chore
The simplest way to sustain the practice is to attach it to something you already do. If your team writes a ticket after every request call, make the confirmation the first comment on that ticket. If you keep a data catalogue, link the message to the dataset entry. The goal is for a new colleague, opening the ticket cold, to read three or four short messages and understand why the pipeline behaves as it does.
Over time a pattern emerges. Teams that confirm in writing receive fewer “that is not what I asked for” complaints, and the complaints they do receive are easier to resolve, because both sides can see the same sentences. That is a quiet, compounding advantage, and it costs less than a minute per line. Send the eight lines after your next stakeholder call, adapt them freely, and watch how often the reply begins with “actually, one small correction”. Each correction is a defect caught before it entered production.