How we deliver, in the FAQ

Risks and release notes, answered in full.

Writing a risk somebody will act on, and a release note somebody will read. Written for the person running a quarter rather than for a buyer, and free to use with us or without us.
questions in this group, each answered in full
36
pages the answers are written on, every one linked
2
questions across the whole FAQ
1424

36 questions on risks and release notes, answered by Tenhaw, a UK AI consultancy and AI delivery partner based in London. Nothing here is a summary: each answer is the exact text from the page that owns it, and every group links back to that page for the context around it.

On this page
18 questions

How to write a risk or issue in a RAID log

Answered on How to write a risk or issue in a RAID log, and rendered here in the same words.

Read the page these answers live on →

When a risk becomes an issue, do I raise a new item?

No. Change the type on the same record so the history stays attached: the original cause, the decide-by date, the response you chose and the date it converted. Probability stops applying, because the event has happened, so the value at risk becomes the exposure. Raising a fresh item hides how long you knew, which is the part worth learning from at roadmap close.

How do I set a probability when I have no data?

Ask how often this has happened to you before in similar circumstances, and start there. Estimate in tens, get a second person to write a number down independently before either of you speaks, and take the higher one if they disagree by more than twenty points. You are not trying to be right to the percentage point. You are trying to rank this item honestly against the other things on the log.

Our board wants a RAG status. Do we abandon that?

Keep the colour as a presentation layer and derive it from the exposure, for example red above a set share of the outcome's target, amber above a lower one. Nobody argues about a band that a formula produced. Reporting rules of this kind sit inside the target operating model Tenhaw's founder co-led at HSBC Global Payment Solutions, designed and piloted for 500 teams, with global rollout due in 2026 and not yet rolled out. What you should not do is store the colour as the underlying record, because then the number that lets you rank and compare no longer exists.

How big should a RAID log be?

Small enough to review every open item at roadmap close in an hour, and if it is bigger than that, the entry bar is too low. Items with an exposure under a couple of percent of the outcome target are recorded and left alone rather than managed, and anything that is work with an owner and a date belongs in the backlog instead.

What is the difference between a risk and an issue?

The test is whether the damaging event has happened yet. A risk is something that might reduce an outcome's value or move its date; an issue is something already costing you time, money or scope. Both are written the same way, as one sentence of cause, event and consequence, attached to one epic, priced in currency and owned by one named person. The distinction matters because probability only applies to a risk. Once the event happens, the value at risk simply becomes the exposure. Check it is neither before you log it: a defect in shipped work is a bug, a shortcut that slows you later is tech debt, and something another team owes you on a date is a dependency.

How do you write a good risk statement?

Write one sentence in three parts: because of a cause someone could verify today, an event may happen, which would have a stated effect on the epic's value or its date. For an issue the tense changes, so the sentence becomes because X, Y has happened, and it is costing Z. The cause must be a checkable fact, not a feeling, and noun titles like vendor risk or resourcing risk give a reader nothing to decide on. Test the sentence by reading it to someone outside the team, and rewrite it if they cannot tell whether the event has already happened or what it costs. A well-written item lets a stranger read it and act.

How do you put a monetary value on a project risk?

Multiply two numbers. Value at risk is the share of the epic's planned contribution actually threatened, which is rarely all of it. A one-quarter delay to a £400k epic exposes roughly a quarter of the annual benefit, so write £100k and record the assumption behind it so someone can argue with it. Probability is your honest estimate in tens, because 65% persuades nobody. The product of the two is the exposure, and it is what you sort the log by. Anything under a couple of percent of the outcome target gets logged and left alone, which keeps attention on the handful of items that genuinely threaten the number. Tenhaw runs this arithmetic on its own engagements and publishes the method in full.

Who should own a risk, and can it be the person who raised it?

One named person, never a team and never a role, and usually not the person who spotted it. The owner is whoever can actually make the call, so if the response needs budget or a supplier conversation, it is the person holding the budget or the relationship. A risk owned by "platform" is owned by nobody, and it will be discussed for six weeks without resolution because no individual has been asked to decide. Give the owner a decide-by date as well, the last day on which a decision still changes the result, and if that date passes, record which default was taken and why.

How often should a RAID log be reviewed?

Item by item rather than on a fixed cadence. Book each entry's review point at the moment you write it, or it gets reviewed when somebody happens to remember. Three tiers cover it: anything with a decide-by date inside two weeks joins the daily lookahead, anything threatening the value of a live outcome is tested at monthly outcome validation, where that number is being examined anyway, and everything else waits for roadmap close, where each open item is carried forward with a fresh decide-by date or closed with a reason. Count closures at roadmap close as well, since a log that closed fewer items than it opened all quarter is an archive, not a management tool.

Is it ever right to just accept a risk?

Yes, and a healthy log uses it regularly. Accept is one of the four legitimate responses, alongside avoid, reduce and transfer. A mitigation that costs more than the exposure is not a mitigation, so price the response before you commit to it, and where the arithmetic does not work, accepting the risk is the honest call. Write the acceptance down and set a review point so the decision is revisited if the numbers move. A log where nothing is ever accepted is a log where everything is being quietly mitigated by nobody, which is how twenty amber items survive a whole quarter.

What should you do first when an issue is already costing money?

Pick the response and write it down: contain it, fix it, or replan around it. Then one next action carrying a name and a date, not three, because a list of five actions is a list nobody owns. Price the response before you commit, since a mitigation that costs more than the exposure is not a mitigation. At Tenhaw that call sits with James Rooney, who leads every engagement personally, because it usually needs budget authority. And make the escalation move a number rather than a colour. If the answer is to descope, cut the epic's planned contribution so the hole shows against the outcome's target and somebody has to own it. If nothing moved, what you sent was a status update.

How do you close a risk in a RAID log?

Give it one of four closing reasons: the event happened, the event can no longer happen, you accepted it, or it was never real. Then add the line most logs skip, what became of the money that was exposed, recorded as landed, partly landed or lost. That second note is the only reason anyone reads the log next quarter, because the pattern across closed items shows which threats your organisation habitually underprices, and it earns its keep in exactly the cases where the answer is embarrassing. If you cannot name which of the four reasons applies, the item is not closed. It has just gone quiet.

Do assumptions and dependencies belong in the same log as risks?

Yes, that is what the A and the D of RAID are for, but classify each entry before you write it. Work another team owes you by a date is a dependency. A belief you are relying on and cannot prove is an assumption, and the day it turns out to be false you have a risk or an issue, whether or not it has cost you anything yet. Keep the neighbours out: a defect in shipped work is a bug and links to the quarter's Bug Budget epic, a shortcut that will slow you later links to the Tech Debt epic, and anything with an obvious owner that takes under a day is simply work.

Should we log the same risk against every epic it affects?

No, log it once. Every item attaches to exactly one epic, and when a threat genuinely spans several it belongs on the outcome above them, raised once with the aggregate exposure. Cloning one risk across three epics counts the same money three times, so when you sort the log by exposure the top of the list stops meaning anything and the items that deserve attention get buried. That single link does other work too, putting the entry one step from a currency target and settling who reviews it and which quarter it sits in. With no live work to attach it to, it goes on the company-level log.

How do you set a deadline for a decision on a risk?

Work backwards from the release window and from roadmap close, rather than forwards from today. The decide-by date is the last day on which a decision still changes the result, so it depends on how long your chosen response takes to execute. In this guide's worked example a replacement payment sandbox needs six weeks to integrate and test, and the quarter's final release window falls mid-September, which puts decide-by at 8 August. Roadmap close is the second boundary, because an epic lives in one quarter and a decision taken after close has made itself. If the date passes with no answer, record the default you took and start the fallback.

Why does our risk log get updated but nothing ever changes?

Usually three habits have crept in together. Tasks are wearing risk labels. A line like "we have not hired a second tester" is a piece of work with an owner and a date, and it crowds out the two items that needed a decision from someone senior. Value at risk has been copied from the whole epic onto every item, which makes the log read as catastrophic and ranking impossible, so nothing gets prioritised. The response was never chosen, so the escalation stopped at a slide. Tenhaw runs the same test on itself, reporting a month that delivered no measurable value as a failed month. Check each open item. If raising it moved no date, scope or planned contribution, it was a status update.

How long should it take to write up a risk properly?

About forty-five minutes for an entry that matters, and a real entry bar is what keeps that to a handful of items a quarter. Most of the time goes on the arithmetic behind value at risk, and on working out the one person who can genuinely make the call. Those are the two parts that pay. At Tenhaw this is work for the two or three senior people on the engagement. In this guide's worked example, a payment SDK deprecation spotted in week two is priced at £100k of value at risk at 60% probability, so £60k of exposure, which lands it second on a log of six and above the three items the team had talked about most. The return was nine weeks of warning.

What should a risk log cover when a model writes the code?

The same arithmetic, plus three classes of threat you would not have logged before. First, test requirements never defined precisely enough for anyone to prove the outcome is met, so nobody can say whether it is done. Second, completion reported by a model with no demonstrated user journey behind it. Third, supply risks carrying real dates: model deprecations, context and rate limits, provider pricing changes. Tenhaw publishes on GitHub the 72 rules it holds model-written code to. Items attach to the outcome ticket at epic level, because an AI-native team has no stories to hang them on. Agents will also draft candidate risks faster than anyone can read them, so gate the log on exposure and keep the owner human.

If the sources do not answer it, a call will.

Talk it through
18 questions

How to write release notes

Answered on How to write release notes, and rendered here in the same words.

Read the page these answers live on →

Who writes the release notes, product or engineering?

Whoever shipped the change drafts all four, with a model doing the first pass. Product approves the customer note and the executive one-pager, and whoever presses release signs the on-call entry. One drafter, two approvers, no committee. Tenhaw runs the same split on client engagements, where the agentic lead owns delivery and decision rights inside the client's own management structure and the client owns all code, documentation and work product from day one. If the drafter is not on the rota, someone who is reads and countersigns the on-call entry before the release date is confirmed, because that is the artefact they will be woken up by.

What if the change is invisible to customers?

Then there is no customer note, and saying so is the correct output. Write no customer note required on the ticket so the absence is a recorded decision rather than an oversight. You still owe the on-call entry, because invisible changes are the ones that page people, and support still gets two lines if anything they can see in an admin tool, an export or a log has moved.

Can we auto-generate the notes from commit messages?

You can generate a draft, and you should. What you cannot do is publish it unread. Tenhaw drafts the same way on client work and then verifies every claim by hand against an engineering standard it publishes as open source, 72 rules with RFC 2119 severities on GitHub. Commit messages describe the work, not the change in the customer's day, and they carry service names and ticket IDs that have no business in a customer note. Treat generated text as a first pass to be verified against the evidence folder, and expect to rewrite the customer note almost entirely, because that reader sits furthest from the diff.

Is this proportionate for a hotfix at 2am?

Write the on-call entry first and four lines is enough: what changed, the flag, the rollback, the blast radius. The rest follows within one working day. Do not skip the executive line if the fix changes what the epic is expected to be worth, and do not skip the support pack if a customer might notice, because a hotfix support has not been briefed on generates the same tickets a planned release does, at a worse moment.

Should release notes be written before or after the release goes out?

Before, as part of scheduling the release, not as a tidy-up after it lands. Write the ship kit when a change has been reviewed and product-approved and is about to get a release date, because that is when the person who knows the blast radius is still on the work. Written afterwards, the on-call entry gets reconstructed from the diff by whoever is free, at exactly the moment it is least useful. Budget about three hours for all four artefacts, starting with twenty minutes building an evidence folder: the commit range, the passing test run, screenshots, the flag and the rollback procedure. A missing piece is a readiness problem, and far cheaper to find now than at 3am.

What should customer-facing release notes say?

About eighty words in three parts: one sentence on what changed, two or three lines on what to do differently, and where to find it. Write it in the customer's words, and the quickest way to find those is to read the last five support tickets touching this workflow and borrow the language customers actually use, which is rarely the feature name your team argued over. Strip ticket IDs, service names, internal team names and anything about the pipeline that built it. And if the change sits near a workflow people are protective of, name what has not changed, because that is the fear the note has to answer.

What does the support team need before a new feature is released?

A support pack, at least 48 hours before the first cohort, never on the morning of the release. The useful shape is a table rather than a narrative: the symptom in the customer's words, the one-line answer, a ready-to-send macro, and when it escalates, with three rows minimum covering the questions the change will actually generate. Add who is affected and who is not, by plan or cohort, the limitations you shipped on purpose, what a ticket must contain before it comes back to the team, and the signal that means stop widening the rollout. Hearing about a release from a customer costs support more goodwill than the release earned.

What goes in the developer changelog for a release?

The commit range, the feature flag and its current default, any migration and whether it reverses, new configuration and secrets, changed dependencies, and the two dashboards or alerts most likely to move. Write it for a tired stranger. The reader is a developer who was not involved in the change, is half asleep, and has a pager going off. Then the line that matters most: the exact rollback step, how long it takes to bite, and whether it has ever been run against a real environment. If rollback really means a forward fix because a migration is destructive, that fact belongs in the first two lines, not the last. Finish with the blast radius: which cohorts, regions and downstream services.

Should we report a shipped feature as delivered value?

No. A shipped feature is a claim about work, not about money, and reporting the epic's planned share as banked value kills outcome validation before it runs, because nobody re-examines a number already reported as earned. Tenhaw reports value monthly on its own engagements against the numbers agreed with the client, and a month that moves none of them is reported as a failed month. So the executive one-pager states the epic, the outcome, the planned currency share and what shipped, then the evidence that exists today, the mechanism the value should arrive through, the date of the next monthly outcome validation, and a line reading realised value to date, nil. The epic stays in value monitoring until validation settles it.

What is a ship kit in The Tenhaw Way?

The ship kit is everything The Tenhaw Way requires before a release date is agreed: a customer note, a support pack, an executive one-pager and an on-call entry, plus the rollout plan and comms schedule naming who sends each and when, a person's name against every line. Tenhaw publishes The Tenhaw Way in full, seventeen how-to guides included, free to adopt without hiring anyone. The kit exists because one note relabelled four times gets read carefully by nobody, so each artefact is written for its own reader. All four attach to the ticket so the chain holds back to the epic, the outcome and its currency target, and the customer note and support pack then hand into the seven-day live monitoring window.

What do release notes say when only some customers get the feature?

Say who has it and who does not, in the customer note and again in the support pack. The pack carries a line naming who is affected by plan or cohort, and support needs the negative case in writing, which in the worked example is that legacy-plan accounts cannot see the new setting and must not be promised it. Timing follows the rollout plan rather than the deploy, so the in-app note lands with the cohort that has the change and the public changelog waits until the rollout is wide enough for it to be true. The on-call entry then names the blast radius: which cohorts, which regions, which downstream services.

Our release notes are a changelog dump. What do we fix first?

Split them by reader, then run the test that settles it. Give your last note to someone outside the team and see whether they can say what changed and what to do next. If they cannot, the customer note is the first rewrite, in the words customers use rather than the ones the ticket used. The on-call entry comes next, because written after the event it gets reconstructed from the diff by whoever is free, at the moment it is least useful. Then the support pack, 48 hours before the first cohort. The executive one-pager can wait until the first three are routine. Tenhaw does this repair inside client teams, where a client engineer finished a two-week build 70% confident of running it unaided.

What should you gather before writing release notes?

Twenty minutes of collecting, before any prose. Walk up the chain from the ticket to the story, the epic, the outcome and its currency target, and copy out the epic's planned share, because the executive note needs that figure exactly. Then the commit range, the passing test run, the acceptance criteria or key user journeys with evidence they were demonstrated, screenshots of the new state, the flag name and its default, any migration and whether it reverses, and the rollback procedure with the date it was last run against a real environment. The folder is also what you verify the draft against, so strike any claim you cannot point at a file inside it.

How do you decide when to widen a release to more customers?

Decide before the release. The rollout plan carries the cohorts as percentages with dates, and the named metric and threshold that must hold at each step, so widening is a check rather than a mood. Tenhaw runs client rollouts this way on its engagements, under partner oversight from James Rooney. A plan might start at 5% internal accounts on Tuesday, widen to 25% on Thursday if the send rate the change moves stays within 10% of baseline and no P1 has been raised, then 60% the following week. Every line carries one person's name and a date, never a team name. Support also gets a written signal that means stop widening.

Why keep some customers on the old version during a rollout?

To keep a clean comparison group for when the number is questioned. Hold one cohort, say 10%, at the old behaviour until the seven-day live monitoring check closes. Without it, the only comparison you have is the same population before and after, which moves for a dozen reasons that have nothing to do with your change, and that is exactly what gets picked apart at outcome validation. The held cohort is also a cheap sanity check while the window is open. If a metric looks alarming in both groups, the cause is the week rather than the release.

What if our rollback procedure has never been run for real?

Then the on-call entry says so, in those words, and the conversation happens before the release date is agreed rather than at 3am. Revert the deploy is not a procedure when the migration is destructive or the flag was deleted in the same release. The entry names the exact rollback step, how long it takes to bite, and the date it was last run against a real environment. If rollback really means a forward fix, that belongs in the first two lines, not the last. In practice, having to write that date is what sends someone to run the step in staging first, which is the point of asking.

How do release notes change when a model wrote the code?

Drafting gets easier and verification gets harder. On Tenhaw's own AI-native builds the notes come off the outcome ticket rather than off stories, and the team reading them is two or three senior people, founder-led. An AI-native team has no stories, and the evidence is whatever that ticket already demanded, the test requirements passing and the key user journeys demonstrated working. The catch is that nobody typed the code, so no one carries the blast radius in their head. The on-call entry has to be derived from the diff and the migration files, then read line by line by whoever will be paged. Ask the model to mark every claim it inferred rather than read, and delete those first.

Are release notes finished once they have been published?

No. For seven days the customer note and the support pack are what you triage against. The FAQ gets extended as real questions arrive, the macro gets corrected where it was wrong, and the continue, watch or rollback call is made against thresholds agreed in advance rather than invented under pressure. All four artefacts stay attached to the ticket, so anyone opening it reaches the notes, the epic, the outcome and the number behind it. Tenhaw runs the same window on client engagements and deliberately leaves the FAQ, the macros and the thresholds with the client's own team, because the exit date is agreed at kickoff. The epic then sits in value monitoring until outcome validation tests the planned share.

All how-to guides

If the sources do not answer it, a call will.

Talk it through
book a call

Still have a question?

A 30-minute discovery call with James Rooney. Bring the question this page did not answer. You'll leave with a rough scope whether you engage us or not.

most start with a fixed-price AI Readiness Audit · £44,000 · 4 weeks · working prototypes

// pick a slot · cal.com/tenhaw/professional-servicesLIVE CALENDAR

Calendar not loading? Open it on cal.com or email hello@tenhaw.com.