Nguyen Le PhongNguyen Le Phong

Agile Release Planning: Plan with Value, Risk, and Real Feedback

A second reflection from Agile Estimating and Planning, focused on release planning: prioritizing by value and risk, splitting stories into useful slices, using buffers for uncertainty, and communicating plans without pretending the future is fixed.

A roadmap can look calm from far away. Boxes sit neatly across months, milestones have names, and each release seems to know where it belongs. Then real work begins. A customer changes their mind. A dependency is late. A small story turns into a product question. A feature nobody cared about becomes important after one customer call.

This is where release planning earns its place. A useful release plan is not a promise that nothing will change. It is a way for the team to keep asking, with enough discipline: what should we build first, what risk should we learn from early, what can move later, and what does the current evidence say?

Book source

This article continues my reflection on Mike Cohn’s Agile Estimating and Planning, published by Prentice Hall / Addison-Wesley Professional in 2005. The focus here is release planning: prioritization, user story slicing, buffers, monitoring, and communication.

One idea from the book that deserves more attention is that planning is a quest for value. A team is not only answering, “When will this be done?” It is also answering, “What is worth doing first?” That second question is often harder.

Many backlogs are ordered by noise. The loudest stakeholder goes first. The easiest feature goes first. The technically convenient work goes first. Agile release planning tries to bring a better set of lenses: value, cost, risk, and learning.

For example, a product team may have three candidates: a new dashboard, a billing reconciliation tool, and a redesign of the onboarding screen. The dashboard may be exciting, but if reconciliation removes manual finance work every week and reduces support mistakes, its value may be higher than it first appears. The onboarding redesign may carry product learning because nobody knows why users are dropping. The right order is not obvious until the team talks about value and uncertainty together.

A more concrete way to see this is to put three value lines on the table. The dashboard may help sales demos, but may not create revenue immediately. The reconciliation tool may save six hours of manual finance work every week, reduce matching mistakes, and stop finance from asking engineers to read logs. The onboarding redesign may not make money immediately, but if 40% of users are dropping at email verification, it creates important product knowledge. Once these value lines are visible, prioritization becomes less like a debate about taste.

Prioritize by value, risk, and learning

Cohn’s value-risk thinking is useful because it stops the team from treating all high-value work the same. A high-value, low-risk feature can often wait a little. A high-value, high-risk feature should move earlier because it creates knowledge. If it fails, the team wants to learn that while there is still time to change direction.

Imagine the team wants to add a new wallet payment partner. Business value is high because customers keep asking for it, but risk is also high because the partner is new, callbacks may be delayed, reconciliation rules are unclear, and support does not yet know how failed payments should be handled. If the team leaves this work until the end of the release, it may discover the risk when there is no room left. A small early slice, such as test top-ups for internal users only, lets the team learn about the API, operations, and support flow before committing to a broad rollout.

Work typeExamplePlanning instinct
High value, high riskNew payment partner, unfamiliar fraud rules, unclear compliance path.Do early enough to learn and reduce risk.
High value, low riskFrequently requested export using known data and known UI pattern.Do soon, but it may not need to be first.
Low value, high riskExperimental feature with unclear users and heavy architecture impact.Avoid, simplify, or run a very small discovery slice.
Low value, low riskNice-to-have setting with little usage evidence.Do later, or keep as a buffer candidate.

Kano thinking adds another lens. Some features are must-haves: users may not praise them when they work, but they reject the product when they are missing. Some are performance features: more or better directly increases satisfaction. Some are delighters: users did not ask for them, but they change how the product feels.

A payroll product, for instance, cannot treat correct salary calculation as a delighter. It is a threshold feature. Fast approval flows may be linear: better speed clearly improves satisfaction. A smart anomaly warning before payroll is submitted may be a delighter for some users. These categories help the team avoid spending all its energy polishing the wrong thing.

In an English-learning app, must-haves may include lessons that run reliably, progress saved correctly, and audio that plays without trouble. Linear features may include more practice exercises or faster feedback after an answer. A delighter may be a small suggestion when the learner keeps missing the same sound. If the team spends three sprints polishing screen transitions while progress is still lost, it is investing in feeling while the threshold experience still leaks.

Split stories into useful slices, not technical layers

Story splitting is one of the most practical parts of the book. A story is too large when it cannot fit in an iteration, cannot be estimated with enough confidence, or hides different priorities inside one sentence. The answer is not to split it into “UI, API, database.” That only gives the team technical tasks, not usable product progress.

A better split is a vertical slice. If the story is “Users can manage payment methods,” the first slice may allow adding one card type for one region with basic validation. Later slices can add deletion, multiple card brands, retry behavior, and advanced error handling. The early slice should still pass through the real layers of the system, like a tracer bullet. It may be small, but it teaches the team something true.

Story too largeSmaller learning sliceWhat the team learns
Manage payment methodsAdd one Visa card type in one region with basic validation.Whether API, form, tokenization, and validation errors work through the system.
Full revenue reportingExport CSV for one date range and one transaction type.Data source, permission, timezone, and basic performance.
Notification centerShow one notification type in app, without filters or preferences.Event source, unread state, and whether the reading UX makes sense.
A splitting question

Instead of asking, “Which technical tasks do we need?” ask, “What is the smallest user-visible behavior that would reduce risk or create learning?”

This is especially helpful when priority is mixed. A large story may contain one must-have behavior, two nice-to-have details, and a performance requirement that matters only at scale. Keeping them together makes the release plan stiff. Splitting them gives the Product Owner choices.

For example, “users receive order notifications” sounds like one story, but it contains several priority layers. Order confirmation email is probably a must-have. Push notification may be a should-have. Branded templates may be a could-have. A full preference system can wait until there is enough usage signal. With that split, the first release still carries value and the team is not held back only because the decorative layer is unfinished.

Be honest about date-driven and feature-driven plans

Release planning becomes clearer when the team names the constraint. Some releases are date-driven: the date is fixed, so scope must be negotiable. Others are feature-driven: the feature set is fixed, so date must be negotiable. Many planning problems come from pretending both are fixed while also expecting quality to stay high.

A compliance deadline is often date-driven. The team may need to protect must-have scope and keep lower-priority features ready to cut. A strategic platform rewrite is often feature-driven. If the minimum capability is not ready, shipping earlier may create more operational cost than value.

Consider a tax-reporting change that becomes mandatory on July 1. That is almost certainly date-driven: the form, export, and audit trail must be usable before that date; a prettier dashboard or convenient bulk action can move later. A migration from an old billing system to a new one is more likely feature-driven: if invoice generation, payment retry, and minimum reconciliation are not ready, switching on a beautiful calendar date may only move risk into operations.

The useful question is not, “Can we finish everything by the date?” It is, “Given this date, which scope is truly required, which scope is optional, and what evidence would cause us to replan?” That conversation is less dramatic when it happens early.

Buffers are not laziness; they are design for uncertainty

The book’s discussion of buffers is pragmatic. Uncertainty does not disappear because a plan looks confident. The team can either hide uncertainty inside every task estimate or design a visible buffer at the release level. The second option is usually healthier.

A feature buffer is simple: do not make 100% of the release mandatory. If must-have scope consumes the whole plan, there is no room to learn. A schedule buffer is similar, but it protects dates. The point is not to give the team free time. The point is to stop every story from carrying a private, invisible worst-case estimate.

Consider a 12-week release. If the team fills all 12 weeks with must-have work, every surprise becomes a crisis. If the team plans the must-have core for around 8 or 9 weeks and keeps lower-priority scope as a buffer, trade-offs become possible. The plan has joints. It can bend without breaking.

In practice, that buffer can be specific. For a 12-week checkout release, must-haves may be product selection, discount code, payment, confirmation email, and support lookup. Should-haves may be saved cards, voucher suggestions, and a better transaction history page. Could-haves may be animation, campaign theming, or advanced filters. If payment integration takes two extra weeks, the team can cut should/could scope while keeping a valuable release instead of cutting into the checkout core.

I like making the cut line visible in the release note itself. For example: “Release 1 must ship product selection, discount code, payment, confirmation email, and support lookup. Saved cards are below the cut line. Advanced filters are explicitly optional.” That one sentence prevents a quiet expectation from becoming a surprise conflict in week ten.

Track the plan without reporting theater

Tracking should help decisions. A release burndown can show whether remaining work is going down, but Cohn’s bar-style burndown adds an important detail: new scope can appear below the line. That matters because a team can be working hard and still not converge if scope keeps growing.

For example, after three iterations, the team may complete 42 points while the Product Owner adds 28 points because beta feedback reveals missing export and audit logs. If the update only says “the team burned 42 points,” it sounds healthy. If the chart shows new scope growing below the baseline, the real story is clearer: the team is moving, but release scope is expanding. The decision is not simply to push the team harder; it is to choose which scope trades for which scope.

Inside an iteration, a task board is valuable because it is close to the work. It shows blocked tasks, unverified work, and stories that are almost done but not accepted. It should invite coordination, not blame. The moment the board becomes a performance display for individuals, it loses much of its value.

Communication about plans should be frequent, honest, and two-way. A good update does not only say, “We are on track.” It says what changed, what risk remains, what confidence level the team has, and what decision may be needed. A short end-of-iteration summary can be more useful than a heavy report if it includes the real context: what was accepted, what changed, what data says, and what the team learned.

A useful update can be only a few lines: “This iteration accepted 5 of 6 stories. CSV export slipped because data permission was more complex than the original assumption. The last three iterations are around 28 to 31 points. If we keep the release date, advanced filters should move out. If advanced filters stay, the release date needs to be reopened.” That kind of message does not hide the problem, but it also does not add unnecessary drama. It puts the decision in the right place.

Key takeaways

  • Release planning is value work. The team is deciding what is worth building first, not only predicting dates.
  • Risk can move work earlier. High-value, high-risk items deserve early learning.
  • Story slices should be user-visible. Avoid splitting backlog items into technical layers that produce no accepted value.
  • Name the constraint. Date-driven and feature-driven releases need different trade-offs.
  • Buffers make uncertainty visible. They protect the plan from pretending every story is perfectly known.
  • Tracking should trigger decisions. Charts and boards are useful only when they help the team act.

The reason Agile planning works is not that it predicts the future better than everyone else. It works because it accepts that learning will happen. The team writes a plan, learns from real work, updates the plan, and communicates what changed. That cycle is quiet, repetitive, and sometimes uncomfortable. But it is also how a team keeps a release connected to reality instead of only connected to an old spreadsheet.

記事はいかがでしたか?

よくある質問

What is release planning in Agile?
Release planning is a high-level plan for a longer cycle, often several iterations. It balances scope, date, budget, priority, risk, and learning so the team can decide what to build and when to revisit the plan.
How should teams prioritize Agile backlog items?
Teams should consider value, cost, risk, and learning. High-value, high-risk work often deserves earlier attention because it creates important knowledge.
What is a feature buffer?
A feature buffer keeps some lower-priority scope negotiable instead of making the entire release mandatory. This gives the team room to respond to uncertainty without sacrificing quality.
Why should user stories not be split by UI, API, and database?
Splitting stories by technical layer creates tasks but not user-visible value. A better split is a thin vertical slice that passes through the system and can be accepted by the Product Owner.