# Sprint Retrospective **Sprint:** 6 **Date:** 2026-10-12 **Facilitated by:** `scrum-master`, per `process/05_sprint_retrospective.md` **Inputs used:** `backlog/sprints/sprint-6.md`, `backlog/backlog.md` (Sprint 6 Review outcome), `backlog/epics/02_template_designer_gui_foundation.md`, `backlog/epics/08_composite_address_controls.md`, `logs/technical_debt_log.md`, `logs/impediment_log.md`, `logs/process_improvement_log.md`, and `backlog/sprints/sprint-5-retrospective.md`. No live human team was present to poll; subjective signals are synthesized from the dev-team daily-scrum notes and product-owner review notes. ## Signals **Objective:** - 2/2 committed stories Done and accepted at Sprint Review, 18/18 points delivered. - Sprint goal met in full: the shipped rotation-positioning defect was fixed first, then the first grouped Address Control was delivered end-to-end. - Test suite grew from 336 after Batch 1 to 349/349 at sprint close (101 CLI + 248 desktop/core). - Desktop executable build passed with 0 warnings/errors. - One High-impact technical debt item from 2026-10-09 was resolved; no new technical debt or impediment was logged. - Live verification covered a real 392-record CLI render for both the rotated dynamic sample and a temp Address Control template, plus actual WinForms canvas and full-form bitmap smokes. **Subjective:** - The team kept the product-risk-first sequencing discipline: fix the already-shipped print-output defect before building the larger Address Control feature on top of the same rendering/canvas surface. - The Sprint 5 retrospective action on GUI verification reliability paid off directly. The full-form smoke caught a real dock-order bug that hid the properties panel, and the team fixed it before the review rather than carrying it forward. - The Address Control implementation made a sensible scope decision: one anchor with auto-spaced lines, not many independent child text elements. That kept the existing collapse rule useful and avoided a larger multi-selection/editor rewrite. - The sprint carried a lot of UI and schema surface area, but evidence stayed concrete: tests, actual built artifacts, screenshots, and a real sample CSV/PDF path. ## What Went Well - **Full follow-through on Sprint 5 retrospective action items**, the fifth clean full-follow-through sprint in a row. Empirical render/schema verification continued, actual built-GUI verification continued, and GUI automation reliability was deliberately hardened enough to catch a real issue. - Product-owner review stayed independent: the accepted notes evaluate the dev-team evidence against each AC and explicitly accept the documented scope trade-offs rather than just restating implementation details. - The team continued to separate defects, scope notes, and technical debt correctly. The rotation drift was treated as a shipped-output defect and fixed first; Address Control width/no-wrap and whole-control rotation were documented as scope notes, not disguised as delivered behavior. ## What Didn't Go Well - A real GUI layout bug did exist until the full-form smoke (`TemplateDesignerForm` hid the properties panel because of dock order). It was caught before release, so it is not an escaped defect, but it proves the earlier GUI verification concern was not theoretical. - The Address Control story ended up touching nearly every layer: desktop model, canvas, form, serializer, CLI parser, render engine, docs, and tests. The 13-point sizing was appropriate, but future composite-element stories should assume similar breadth unless proven otherwise by code inspection. ## Patterns / Insights (Prioritized) 1. **(Team-level)** Full-form GUI smoke tests are now worth treating as the default evidence shape for any form-layout or properties-panel story, not just canvas-only screenshots. This is the concrete lesson from the dock-order bug. 2. **(Team-level)** Product-risk-first sequencing worked: resolving a defect in already-shipped PDF positioning before taking on a large feature kept Sprint 6 from building new behavior over known-bad geometry. 3. **(Team-level)** The one-anchor composite design paid off economically. It met the operator workflow and preserved existing collapse behavior without creating a broad multi-child movement abstraction. ## Action Items (Add These To The Next Sprint's Plan) - [ ] For every GUI-facing Sprint 7 story, include one actual built-form smoke when the story touches form layout, properties panels, or toolbar actions; canvas-only smokes are enough only for canvas-only changes — owner: dev-team — due: Sprint 7. - [ ] Continue product-risk-first ordering during Sprint 7 planning: defects or hard product constraints before new feature polish, unless the human product owner explicitly reprioritizes — owner: product-owner/scrum-master — due: Sprint 7 planning. - [ ] During Sprint 7 refinement, call out any composite-element story as likely cross-layer by default and size it from actual code inspection, not from the visible UI alone — owner: dev-team — due: Sprint 7 refinement. ## Deferred / Lower-Priority Ideas - Address Control `width` is currently a designer resize box, not a render-time wrap/clip boundary. This is not a missed Sprint 6 criterion; add a future story only if operators need wrapping/clipping behavior. - Whole-control rotation remains out of scope and can be considered later if real layouts need it. - The old standalone same-X collapse-stack ambiguity remains low-priority. Address Controls did not make it worse; their child lines share one control X by construction. ## Follow-Up On Previous Retro's Actions All Sprint 5 retrospective action items were applied: 1. Continue empirical vendor/spec/format verification before render- or format-affecting code — Applied. Sprint 6 included a real-DLL rotation-anchor regression, XML parser/render-order tests, and real CLI renders against the sample CSV. 2. Continue live actual-built-artifact verification for GUI-facing stories — Applied. Sprint 6 used actual WinForms canvas and full-form bitmap smokes from built assemblies, plus a clean desktop executable build. 3. Harden GUI verification automation reliability before/during the Address Control story — Applied and valuable. The full-form smoke caught the hidden properties-panel dock-order bug before review. No drops. This is the fifth clean full-follow-through sprint in a row. ## Kit-Level Decision No kit edit proposed. The main process learning (full-form GUI smokes for form-layout stories) is a team-level verification practice and fits inside the existing Definition of Done, which already requires visual GUI checks for layout/preview behavior. This does not reveal a gap in `AGENTS.md`, `process/`, `templates/`, or `.claude/agents/`. ## Anti-Patterns Checked - **No follow-through on prior retro actions:** Ruled out; all Sprint 5 actions were applied. - **Blame-focused discussion:** Ruled out; the dock-order bug and verification friction are treated as process/tooling signals, not personal failures. - **Hidden mini-waterfall within the sprint:** Ruled out; both stories were designed, implemented, tested, documented, and live-verified inside their batches. - **Avoiding an obvious known problem:** Ruled out; the shipped rotation defect was fixed first, and the GUI verification issue was exercised until it found a real bug. - **Status-theater:** Ruled out; review evidence includes real tests, real builds, real renders, and actual WinForms screenshots. - **Review rubber-stamping:** Ruled out; product-owner notes independently accepted the scope trade-offs and explicitly identified what is not included.