ap.Abhishek Patel

Search

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

← Notes

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

Created · Updated · 8 min read

Why this matters: everything in these notes is useless if it is announced as a new process on a Monday and abandoned by Thursday. Change one thing at a time, in an order where each step makes the next one possible. The reasoning behind the order is in Why We Miss Deadlines.

Rules for the rollout itself

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.

Lead with the evidence, not the theory. Nobody wants a lecture on Scrum. Everybody is interested in “70% of our carry over last quarter was scope added mid sprint”. Get the number first.

Make the first change one that helps the developers immediately. Acceptance criteria are perfect for this, because the first time a demo does not turn into an argument, the team understands why they bothered.

Expect the resistance to come from outside the team. Developers rarely object to clearer requirements. The friction comes when somebody is told for the first time that their request is a new backlog item rather than an addition to today’s work.

Week 1: Get the evidence

Do not change any process yet. Open the board and answer four questions for the last three sprints:

  1. How many items carried over, and how many points?
  2. For each one, which cause was it? Use the six categories in Templates.
  3. How much work was added after each sprint started?
  4. How many Stories entered a sprint with an empty acceptance criteria field?

This takes about an hour. Present it as a plain table with no conclusions attached. The table does the arguing for you, because it moves the conversation from “the team is slow” to “here is what actually happened”, and those lead to completely different fixes.

If your board does not have enough history to answer these, that is itself the finding, and week 1 becomes “start tagging added-mid-sprint”, per Azure DevOps Setup.

Week 2: Acceptance criteria, and nothing else

Pick the next five Stories. Each one gets written Acceptance Criteria before anyone codes. Use the template. Spend twenty minutes per Story with a developer and a tester in the room.

Do not introduce points, poker, Definition of Ready, Definition of Done or anything else this week. Just this.

What success looks like: at the demo, somebody asks for something and the answer is “that is in the out of scope line, let us add it to the backlog”, and the conversation simply ends. That moment is what sells the rest of the change.

Week 3: Start classifying feedback

Now add one rule: every piece of feedback gets named out loud before it gets acted on. Print the triage card from Templates and keep it visible.

This is the week that actually fixes delivery, and it is the week with the most friction, because for the first time somebody says “that is new scope, it goes to the backlog”.

How to survive that conversation: never refuse the work, refuse doing it invisibly. The sentences that help are in Feedback and Scope Control. Keep the promise on the other side too, which means backlog items that people care about actually get scheduled. If the backlog is a graveyard, this whole approach collapses, because people will go back to bypassing it.

Week 4: Fix the decomposition

Take the current board and re cut it using Work Breakdown Hierarchy. Most items that look like tasks will turn out to be Features hiding four or five Stories.

Then take the single biggest item in the backlog and split it properly using the patterns in Writing User Stories. Do it together, on a whiteboard, as a workshop. Seeing one monster become six testable Stories teaches the skill better than any explanation.

This is usually the week the team realises why estimates never worked.

Month 2: Add the gates and start measuring

Write the two definitions. A first Definition of Ready and a first Definition of Done, seven items each, decided by the team in one session, not handed down. Put them on the board columns.

Start estimating Stories. Use Planning Poker on the next batch, and pick your reference Stories from work you have already finished, per Estimation and Story Points. Expect the first two sprints of numbers to be inconsistent. That is fine, calibration takes time.

Introduce the Sprint Goal. One sentence per sprint, written before selecting items, as described in Sprint Planning and Refinement.

Start the refinement session. One hour a week, working two sprints ahead. This is the habit most likely to be dropped when things get busy, and the one that costs the most when it is.

Do not use velocity to plan yet. Three sprints of data minimum, then start with Velocity and Capacity.

Month 3: Close the quality gap

Add test cases to Done. Once criteria are being written consistently, this is a small step, because the test cases nearly write themselves. Details in Test Case Strategy.

Start the one per sprint rule. Every sprint, one existing feature gets its behaviour written down and its critical path automated. Pick by risk, using your own bug history as the map.

Start the feature one pagers. Same feature, same sprint, using the template. Writing the behaviour and writing the test cases are nearly the same activity, so doing both together costs very little extra.

If you run something customers depend on, define two service level indicators and measure them for a month before setting any target, per SLI SLO and Error Budget.

Month 4 onward: keep it alive

By now the mechanics exist. The risk shifts from “we are not doing it” to “we are doing it as a ritual”.

Things that keep it real:

  • One retro improvement per sprint, with an owner and a check next time. One that happens beats eight that get listed.
  • Review the Definition of Done quarterly and strengthen it deliberately as the team matures. Never weaken it because a deadline is close.
  • Watch the four numbers from Glossary on a dashboard. If they stop moving, ask why.
  • Re examine the process when the team changes size. What works at five people needs adjustment at fifteen.

What to tell management

They do not care about Scrum. They care about predictability, and the honest pitch is:

“We are not going to get faster by trying harder. We are going to get predictable by defining work before we build it, and by making it visible every time scope is added after a sprint starts. Predictable means we can tell you a date and mean it. In exchange, we need one thing: when a new request arrives mid sprint, something else moves out. That trade will be explicit and it will be yours to decide.”

That last sentence is the deal. It gives them the control they actually want, which is choosing what matters most, and it removes the thing that is destroying delivery, which is choosing everything at once.

And a number to offer them, since they will want one: after three or four sprints, you should be able to quote a delivery range with the assumptions attached, using the forecasting arithmetic in Velocity and Capacity. That is what “reliable dates” actually looks like. Not one date, and not a promise, but a range you can defend and that turns out to be right.

What failure looks like, so you can catch it early

  • Acceptance criteria are being written, but by one person alone, after the Story is already in development. Then they describe the code, not the requirement.
  • Definition of Done exists on a wiki page and nobody has read it since the day it was written.
  • Stories are being pointed, but the points get adjusted afterwards so velocity looks stable.
  • Refinement is cancelled whenever the sprint is busy, which is always.
  • Feedback is classified out loud, and then absorbed into the current Story anyway.
  • Velocity has appeared in a management report as a performance measure. This one is fatal to the whole system, and it is worth pushing back on hard, for the reasons in Velocity and Capacity.

Any of these means the mechanics are being performed without the intent. That is worth naming in a retro, because a process that everybody quietly disbelieves is more corrosive than having no process at all.

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

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

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

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

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

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

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

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

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

People mix these up constantly, so start here:

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

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

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

Referenced by

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

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 re

Note