ap.Abhishek Patel

Search

Search notes, essays, projects, and the library. Use arrow keys to choose and Enter to open.

← Notes

Product Delivery Playbook: Planning, Estimating and Maintaining Software as It Grows

Created · Updated · 4 min read

These are my notes on why software teams keep missing deadlines, keep losing track of what their own product does, and keep ending up with a hundred features and almost no test cases. I wrote them for myself first, after watching the same failure repeat sprint after sprint and realising it was never a people problem.

The one idea holding all of it together: don’t just build features, plan them, define them, test them, document them, and make them maintainable.

Everything starts at Why We Miss Deadlines. That note defines the problem, traces it to five root causes, and says what to do about it in what order. The rest of these notes are the detail behind it, and I deliberately kept them separate so the main note stays readable and each idea can be understood on its own.

If you want the short path

Read Why We Miss Deadlines, then Feedback and Scope Control, then Work Breakdown Hierarchy. Those three cover most of the damage. If the vocabulary itself is the blocker, the one page cheat sheet is Glossary, and if you just want to start today, Adoption Plan is the week by week version.

If you want the full path

Work is cut up properly in Work Breakdown Hierarchy, which explains the difference between an Epic, a Feature, a User Story and a Task, and gives rules for deciding which is which. The craft of writing the Story sentence itself, plus how to split a Story that is too big, is in Writing User Stories. What the Story should do, written before anyone codes, is Acceptance Criteria. When you want to stop writing these from scratch every time, Templates has copy paste blocks for every work item type.

Work enters a sprint only after passing Definition of Ready, and leaves it only after passing Definition of Done. Those are the two gates that our process is usually missing entirely.

Sizing is in Estimation and Story Points, which explains what a point actually measures, why the Fibonacci scale exists, and how to run Planning Poker so it produces understanding rather than just numbers. Turning those points into a realistic plan is Velocity and Capacity. The rhythm that holds the whole thing together, refinement, planning, the Sprint Goal, review, retro, is in Sprint Planning and Refinement.

The most important operational note is Feedback and Scope Control, because absorbing feedback into work already in progress is the single biggest reason sprints overflow.

On the quality side, Test Case Strategy is about why features end up with no test cases and how to make that structurally impossible, Feature Inventory and Ownership is about why nobody remembers the corner cases of a feature built eight months ago, and SLI SLO and Error Budget is about measuring whether the product is actually healthy in production instead of guessing.

Building with AI covers what changes when most of the code is generated, which is the part none of the classic books were written for. Azure DevOps Setup is the practical mapping of all of this onto the tool: work item types, fields, tags, queries, test plans and dashboards.

Where this comes from

The backbone is the Scrum Guide 2020, Microsoft’s current Azure DevOps documentation on backlogs, capacity, velocity and test plans, the Agile Alliance practice definitions for INVEST and Definition of Ready, Mike Cohn’s User Stories Applied and Agile Estimating and Planning, Kenneth Rubin’s Essential Scrum, Google’s Site Reliability Workbook for SLIs, SLOs and error budgets, Matt Wynne’s Example Mapping, Gojko Adzic’s Specification by Example, and the DORA / Accelerate research on delivery performance.

Where a note says “my rule” or “the rule I want to live by”, that is my own opinion formed from watching this go wrong, not a quote from any of the above.

This connects to

Why Startups Keep Missing Deadlines: The Real Cause Behind Sprint Delays, Missing Test Cases and Forgotten Features

Sit in any startup review meeting and the same questions come back every month:

Note

Scope Creep in Sprints: How to Classify Stakeholder Feedback Instead of Absorbing It

A Story was agreed: export invoice as PDF, 5 points, acceptance criteria written.

Note

Epic vs Feature vs User Story vs Task: How to Break Work Down and Decide Which Is Which

Four levels, and each one answers a different question:

Note

Agile and Azure DevOps Terminology Cheat Sheet: Every Term Explained in One Line

Acceptance criteria are per Story and change constantly. Definition of Done applies to everything and changes rarely. Definition of Ready is a team practice, not an official Scrum artifact, while Definition of Done is.

Note

How to Roll Out an Agile Delivery Process in 90 Days, One Change at a Time

One change at a time. A team can absorb roughly one new habit per two weeks. Introduce six at once and you get six half followed rituals and a team that concludes "process does not work here", which then blocks the next attempt for a year.

Note

How to Write a User Story That Fits in One Sprint: INVEST, Splitting Patterns and Examples

The most useful thing I ever read about User Stories is Ron Jeffries' idea of the three Cs: the Card (the short sentence), the Conversation (the discussion it triggers), and the Confirmation (the acceptance criteria you agree on). The written sentence is not a specifi

Note

How to Write Acceptance Criteria: Defining Expected Behaviour Before Development Starts

Acceptance criteria are the specific, checkable conditions a single [[How to Write a User Story That Fits in One Sprint|User Story]] must satisfy to be accepted. They belong to that one Story and nothing else.

Note

Ready to Use Templates for Epics, Features, Stories, Bugs, Test Cases and Sprint Goals

Written as a business objective, per [[Epic vs Feature vs User Story vs Task|Work Breakdown Hierarchy]].

Note

Definition of Ready: The Checklist That Decides Whether a Story Can Enter a Sprint

The Definition of Ready is a short checklist a Story must pass before it is allowed into a sprint.

Note

Definition of Done: How to Stop Calling Work Finished When Testing Is Still Pending

The Definition of Done is a single shared checklist that applies to all work, describing what must be true before anything can be called complete.

Note

Story Points Explained: What They Measure, Why Fibonacci, and How to Run Planning Poker

If you write "1 point = 4 hours" on a whiteboard, you have not adopted story points. You have invented a complicated way of writing hours, and you have kept every problem hours had while adding a translation step.

Note

Velocity and Capacity: How to Forecast Delivery Dates With Evidence Instead of Optimism

People mix these up constantly, so start here:

Note

The Sprint Cycle Explained: Backlog Refinement, Sprint Planning, Daily, Review and Retrospective

If you take one thing from this note: the quality of your sprint was decided before it started.

Note

Why Features End Up With No Test Cases, and How to Make That Structurally Impossible

That is the part worth understanding. There was never a meeting where we chose to ship untested features. What happened is that testing sat outside the definition of finished, so under pressure it was the thing that quietly did not happen, two hundred separate times.

Note

Why Nobody Remembers How a Feature Works: Documenting Behaviour, Edge Cases and Ownership

Right after you build a feature, you know everything about it. Every edge case, every reason you chose one approach over another, every weird case the stakeholder mentioned once.

Note

SLI, SLO and Error Budgets: Measuring Whether Your Product Is Actually Healthy in Production

A feature can pass every test case and still be failing customers, because tests run in a controlled environment on clean data with one user at a time.

Note

Building Software With AI: Why Faster Code Makes Specification and Review the Real Bottleneck

AI did not create our planning problems. It removed the thing that was accidentally hiding them.

Note

How to Set Up Azure DevOps for Agile Delivery: Work Items, Fields, Tags, Queries and Test Plans

A warning first: the tool does not create the discipline. A perfect Azure DevOps configuration with no [[How to Write Acceptance Criteria|Acceptance Criteria]] and no [[Definition of Done, The Gate Out of a Sprint|Definition of Done]] produces a beautifully organised record o

Note