Week two: demo, retro, and closing the loop
Thursday and Friday of week two: the sprint's public endings. A demo risk surfaces with a day to spare, the demo itself wobbles and recovers, the retro criticizes a process with Alex's fingerprints on it, and the sprint closes where it started: a 1:1, a farewell, and the quiet compounding of two weeks of small correct sentences.
Thursday, 10:30: the demo risk, flagged early
Rehearsing the saved-payments demo, Alex finds an edge case: the card list renders slowly on the demo tenant, eight full seconds.
Alex (channel, @Dana @Priya):
Demo risk, flagging while it's cheap: card list takes ~8s
on the demo tenant (cold cache + the seeded 200 cards; real
tenants have <10). Options: (A) pre-warm the cache before
the demo, honest but fragile; (B) seed a realistic tenant,
30 min of work, my preference; (C) narrate over the wait,
worst option. Doing B at 2pm unless someone objects.
Priya: B, agreed. And keep one slow tenant handy; if someone asks
about worst case, showing it beats claiming it.
Alex: Good idea; will have both loaded.
The early flag with options and a default (Chapter 11, Chapter 3): the risk is stated with its cause and honest scope ("real tenants have <10"), the lean is declared, and the default-forward deadline means silence cannot stall the fix. Priya's addition shows why you flag early: other brains improve plans that still have room to move.
Friday, 10:00: the sprint demo
Stakeholders, both teams, one director. Alex drives; Priya co-presents.
Priya: Quick frame before Alex drives: the goal this sprint was
"save a card once, reuse it at checkout." Management of
saved cards is next sprint, by design.
Alex: Sharing my screen... you should see a checkout page;
someone confirm?
Sam: We see it.
Alex: I'm Dana's alter ego, "Demo Customer." I buy socks, I save
my card... and now the part that matters: second purchase.
Watch the payment step; no card entry, one tap. That tap
is the whole feature.
Dir: What happens when the saved card expires?
Alex: Today: the tap fails with a clear message and falls back
to card entry; no dead end. The nicer version, proactive
expiry warnings, is scoped for next sprint; Priya can
speak to where it sits in the queue.
Priya: Second on the list, behind card management.
Alex: One honest wobble to show you rather than hide: on a
cold cache the card list takes a beat to load. Here's the
worst case on our stress tenant... about eight seconds,
and here's why real tenants sit under one. We're watching
it, not worried about it.
Dir: Appreciated. Most demos only show me the sunny day.
Demo mechanics on display: the goal framed before the clicking (and the non-goal named, so "where's card management?" dies before it is asked); the screen-share confirmation ritual; narrating the user's moment ("that tap is the whole feature") instead of the implementation; the question fielded with today-truth plus roadmap, handed off cleanly at the product boundary (Chapter 21); and the deliberate showing of the known wobble, which converts a lurking gotcha into a credibility deposit. Directors remember who shows them the rain.
If the demo had actually broken: "The demo gods have spoken. Here's the recording from this morning's rehearsal while I resurrect it; the feature is real even when the projector isn't" (Chapter 10). Have that recording, always.
Friday, 13:00: the retro
The team, one hour, blameless by ground rule. Two moments involve Alex; in one he gives the criticism, in the other he takes it.
Alex: Process observation, no villain: PRs sat an average of a
day and a half this sprint waiting on cross-team review;
my vault work ate three of those waits. Proposal: agree a
same-day-or-say-so norm with platform, and we split our
PRs smaller to hold up our end. I already started the
splitting half.
Tomas: Half-accepted; same-day is rich during release week. But
"or say so" is fair; silence is the real cost. We'll
commit to acknowledging within half a day with an ETA.
Dana: Sold. Writing it as an action item, owners me and Tomas'
EM.
Ravi: My friction: the schema changed twice while I was building
against it, and I found out from the diff, not from Alex.
Cost me most of a Wednesday.
Alex: That's fair, and it's mine. The second change I genuinely
thought didn't touch you; I was wrong, and the fix is I
don't get to guess: schema changes get a heads-up in the
channel, every time, blast radius obvious or not. Sorry
about your Wednesday.
Ravi: Accepted, and honestly the new schema is better, so, net
positive Wednesday.
Giving process criticism: measured ("a day and a half average", not "reviews take forever"), no villain declared, proposal attached, and your own team's contribution pre-conceded, which is what let Tomas negotiate instead of defend (Chapter 8's blameless grammar). Taking it: no explanation before ownership (Chapter 31's apology-explanation-excuse ordering), the fix stated as a rule that removes your own discretion, and one clean "sorry" aimed at the actual cost. Ravi's grace note at the end is what receiving a good apology sounds like.
Don't be confused: the retro and the 1:1 are different venues with different jurisdictions, and mixing them up causes most retro damage. Process problems (review latency, schema comms, flaky CI) belong in the retro, where the whole system that owns them is in the room. Person problems (one individual's pattern, a conflict, anything that would make someone defend themselves publicly) belong in 1:1s and SBI conversations, privately. The test before raising something in retro: can it be fixed by changing a rule? Then it is retro material. Can it only be fixed by changing a person? Private channel. Ravi's complaint passed the test because the fix was a rule ("heads-up, every time"), not a character reform.
Friday, 15:30: the 1:1 that closes the loop
Dana: Sprint's done. Your headline?
Alex: Shipped what we promised, demo landed, and the early
demo-risk flag is my personal win; two sprints ago I'd
have discovered that at 9am Friday. That habit is new and
I intend to keep it.
Dana: Noted, and agreed; Priya mentioned the flag without me
asking. Now the other side: one thing to sharpen?
Alex: Ravi's retro item stung because it was right. My
communication defaults are tuned for meetings and docs;
the gap is the small mid-flight change notice. The
schema rule fixes the instance; the pattern is what I'll
watch.
Dana: Good read. For the record: the vault design review you
ran counts for the gap list; it's written down. Next
sprint, run the retro too.
Alex: Deal. Have a good weekend; tell the on-call pager I said
nothing at all.
The two-week loop, closed: the early-flag habit Dana asked for in week one is demonstrated, named, and independently confirmed; the retro criticism is metabolized into a pattern-level lesson rather than defended; and the career thread from last Thursday lands on the record, with the next stretch assignment attached. None of these are big speeches; they are small correct sentences arriving on time, twice a week, compounding.
Epilogue: what the two weeks were made of
Count what actually happened: around forty small conversations, four ceremonies, two glitched calls, two misunderstandings caught before they cost anything, one boundary set with a laugh, one name forgotten and recovered, one risky lunch topic steered, one apology given whole. No single moment required brilliance; every moment had a known shape, and the shapes are the previous thirty-four chapters. That is the honest promise of this book: not eloquence, but readiness; the two weeks go like this when the hundred small moments each have a practiced sentence waiting.
👉 That was the good fortnight. The month is not done with Alex: Monday of week three, an all-hands announces a reorg, the roadmap gets cut, and the sentences get harder: criticizing management to its face, venting that survives screenshots, and holding a team together when its work gets shelved. On to Chapter 36.