Skip to content

Sprint Review - WK24

Cycle 2026-06-08 → 06-14 · Recorded in Plane as BANA-1413. Scored with the delivery-first scorecard (throughput & flow, not commitment-accuracy). Board reconciled against code first (3 mislabeled → Done; 1 untracked docs deliverable captured as BANA-1412).

77/100 - Good
100Throughput (92 done)
58Flow & Aging (42% >2wk)
5.0×Commitment ratio (over)
34Open bugs (fresh QA backlog)

Executive Summary

~201commits
11contributors
~29commits/day
~7feature branches

Work shipped this cycle, by business theme (sourced from git):

  • Documentation & Developer Platform - the whole docs/wiki + agent-docs restructured to a single-source registry: per-module concise/visual rewrite, EN+VI, framework attribution fixes (1,553 files, ~80k line churn, net consolidation). Captured as BANA-1412.
  • Back Office (BO) portal - merchant table + multi-merchant switcher, sale-channel UI, finance category/voucher UI, Ledger page, role screen, User-BO/Merchant split, Typesense view-controller V2, sales-assisted onboarding wizard (E12 + E2).
  • Permissions - migrated to the scoped Casbin adapter + seeded the permission lattice (E11).
  • Atomic onboarding - POST /organizers/aggregate creates org + merchant + defaults in one transaction (E12).
  • Sale BE - new pricing context, entitlement management, batch-add-items endpoint, x-merchant-id rollout (E9/E10).
  • POS (sale-renderer) - variant catalog, bundler badges, addon/FBT, customer search, checkout refactor, floor/space layout (E9).
  • Search/Platform - Kafka topic registry + Debezium heartbeat, secured CDC REST API, variant-option denormalization.
  • Tax/Finance - S2A layout + PIT tax column; finance provider field + issue-return voucher (E1/E7).

Delivery Scorecard

Multi-dimensional by design (SPACE) - not collapsed to one number. Each dimension measures delivery/flow, not how well the sprint size was guessed.

DimensionScoreTrendBasis
Throughput10092 done vs ~48 four-cycle median (capped)
Flow & Aging5833 of 78 carried items (42%) aged > 2 weeks
Predictability65throughput CoV 0.35 over 6 cycles
Quality781 cancelled; 38 bug items, 4 done
Sustainability76top-2 done share ~52%
Delivery Health (roll-up)77 - Goodup from 73 (WK23)

Planning signals - reported separately, not in Health:

  • Commitment ratio ~5.0× - 171 committed vs a sustainable ~34 (17 × 2). A planning signal for sizing, not a performance score.
  • Completion 53.8% (92/171) - held down by the oversized denominator.

Value Delivered (EBM)

Key Value AreaWhat landed this cycle
Current Value (usable now)BO portal for onboarding+config; scoped authz live; POS variant/bundler/checkout; S2A PIT tax; finance vouchers
Time-to-Market (speed to ship/learn)Atomic onboarding (one call), batch-add-items, x-merchant-id rollout, Typesense view-controller V2 - all speed merchant go-live
Ability-to-Innovate (future speed)Kafka topic registry + Debezium heartbeat, secured CDC, scoped Casbin adapter, reusable Number/Quantity/Price inputs, and the single-source documentation/registry rebuild (BANA-1412) - all cut future delivery cost
Unrealized Value (opportunity ahead)KDS/self-order (E8, 0%), Excel import (E12 Jul), pricing conditions (E10), BO dashboards (Aug)

Effort & Contribution

Context, not a leaderboard. Commits/LOC are misleading proxies - debugging, refactor, review, deletion and mentoring are high-value and low-commit. Activity is shown next to outcomes; non-coding and invisible work is named.

MemberCommitsAreas touchedDone (board)What they built
Hai Cao67commerce · sale · identity8*Pricing context, entitlements, batch-add, atomic onboarding, user list/count (3 audit-corrected)
Duc Bach31bo · client10Whole BO portal: onboarding wizard, role screen, finance/user screens, view-controller V2
Khoa Nguyen21client · bo · sale-renderer20Merchant table+switcher, sale-channel UI, Number/Price inputs, checkout refactor, Ledger page
Phuc Duong21search · core · debezium3Kafka registry+heartbeat, CDC security, variant-option denormalization
Phat Chung15sale · ledger4S2A PIT layout, price_metadata PIT enrichment
Tai Nguyen12client · helpdesk1Ticket management UI (in progress)
Kien Truong10sale-renderer5Variant catalog, bundler badges, bill-split, language switcher
Viet Vo8finance · sale3Finance provider field, issue-return voucher, shift-v2
Huy Pham8helpdesk3Agent-group member mgmt, nullable organizerId
Phat Nguyen6 (+docs)identity · core · POS · docs39Scoped Casbin + lattice (E11), POS floor layout, full documentation/registry rebuild (BANA-1412: 1,553 files, EN+VI), module PRDs
Toan Tran2overture3Help-center finance/reporting articles, VI route fix

Non-coding contribution (not visible in git): Le Linh - ~28 verify cases + the 34-bug QA pass; Anh Do - verification on table/layout/product flows (7 done); Thuong Nguyen - KDS core ticket + report flow design; Nguyen Nguyen - onboarding.

* audit-corrected to Done (see correction log).

What Shipped - Detailed Work Log

  • Documentation & Developer Platform (BANA-1412) - single-source registry; developer + module docs rewritten concise/visual EN+VI; agent-docs restructure; sidebar grouping; IGNIS↔BANA attribution fixes (1,553 files, +37.9k/−41.9k) (Phat).
  • BO portal (E12/E2) - onboarding wizard (1388), role screen (1389), finance filters (1390), User-BO/Merchant split (1391), view-controller V2 (1392), shared components (1393), merchant table (1258), switcher (1259), sale-channel (1260), finance UI (1262), revenue-by-time (1270), filters + Ledger page + BO refactor (1404-1407) (Duc Bach · Khoa).
  • Sale BE (E9/E10) - x-merchant-id rollout (1271), pricing context (1272), entitlements (1273), batch-add-items (1274), atomic onboarding (1340*), user list/count (1356*) (Hai Cao).
  • Permissions (E11) - scoped Casbin migration (1278), permission lattice seed (1279) (Phat).
  • POS (E9) - variant catalog (1264), bundler badges (1265), language switcher (1266), bill-split (1343), floor/space layout (1339/1342), customer search (1397), checkout refactor (1398), Number/Quantity/Price inputs (1399) (Kien · Khoa · Phat).
  • Search/Platform - Kafka registry + Debezium heartbeat (1277), CDC security (1395), variant-option denormalization (1396*) (Phuc Duong).
  • Tax/Finance (E1/E7) - price_metadata PIT (1357), S2A PIT layout (1358) (Phat Chung); finance provider (1284), issue-return voucher (1285) (Viet Vo).
  • Client + QA - customer flows (1293/1294), ledger book (1346), ~28 verify cases (1300-1376) (Khoa · Le Linh · Phat).
  • Helpdesk - agent-group member mgmt (1282/1283) (Huy). Docs/Help center - module PRDs (1280), sprint-review template (1281), finance/reporting articles (1267/1268) (Toan).

Project & Phase Progress

  • Phase 2 (target Sep 2026) - WK24 added 92 done, the largest single-cycle increment. The Back Office portal (E12) went 0%→~45% in one cycle - the biggest mover.
  • Burnup signal: scope also grew via bug intake (38 bug items), so net phase % advances modestly even as raw output set a record. The long poles are E8 (kitchen/self-order, 0%) and the open-bug backlog. See Phase 2 Plan.

Epic Progress (Phase 2)

Derived from the 2026-06-09 snapshot + WK24 deliverables (directional; the real bar is each epic's end-to-end Done signal).

EpicOwner% (was→now)ΔStatus
E1 TaxViet/Phat67→70+3on-track (PIT/S2A shipped)
E2 Commerce (retail)Hai/Khoa93→95+2on-track
E4 Sale shiftViet/Phat75→80+5on-track (shift-v2 merged)
E5 Customer (MST)Hai/Khoa40→45+5at-risk
E6 InventoryPhat50→500at-risk
E7 FinanceViet/Phat83→85+2on-track
E8 Kitchen/self-orderHai/Khoa0→00not-started (KDS UI in progress)
E9 Sale selling-expHai/Khoa33→50+17on-track (catalog/bundler/checkout/layout)
E10 PricingHai/Khoa40→45+5at-risk
E11 PermissionsPhat/Hai60→70+10on-track (scoped Casbin)
E12 Commerce BOHai/Phat0→45+45on-track (BO portal landed)

Bottlenecks & Flow

SignalReading
Aging WIP33 items aged > 2 weeks - Excel-import + Menu cluster (BANA-890-907, 8 wk, never started), 509/512 (15 wk Promotion), 532 (14 wk QA)
QA bug pile-up34 open bugs (of 38), almost all [FE/client]/[POS], created 06-09→06-11
Concentrationtop assignee on ~50% of the board; one main QA driver

Carry-Over Analysis

78 items remain open. Age rules: ≥3 wk → split/cancel · 2 wk → review · 1 wk → transfer.

BucketCountAgeNote
Stale (Promotion 509/512, Excel-import 890-894, Menu 902-907, old QA 532)~338-15 wksplit/cancel candidates
In-flight (POS table indicators, finance guards, acting-user 1140)~121-3 wktransfer to WK25
Fresh bugs (this-cycle QA)~340-1 wktriage; batch for WK25

By Module (estimated)

Estimated from title prefixes (no structured module field on cycle items).

Module~DoneNote
Commerce / BO~22BO portal + onboarding + merchant mgmt
Sale (POS+BE)~18pricing/entitlement/batch + variant/bundler/checkout/layout
Products~10variant/product flows, inputs, QA
Tax / Finance~9PIT/S2A, finance vouchers
User Mgmt / Permissions~8scoped Casbin, lattice, user list, role screens
Platform~5Kafka/CDC/search + docs rebuild (BANA-1412)
Customer / Reports / Helpdesk / Docs~9misc

By Label

LabelItemsDoneCarry
Task904644
Bug38434
Test35350
Improvement550
Report330

One item carries two type labels (Task + Improvement), so the per-label Done column sums to 93 vs the 92 distinct done.

Risks & Blockers

RiskImpactMitigationOwner
Cycle size (171, ~5× sustainable)Completion % and planning signal dilutedSize next cycle to ~34; drain carry-over firstPhat (PM) / NX_HRM
34 open bugs on new client screensQuality drag into WK25Dedicated bug-fix block WK25; readiness gatePhat / Le Linh
E8 Kitchen/self-order 0% with Sep targetPhase-2 milestone riskKDS UI in progress (1359/1387); prioritizeHai / Khoa
Concentration (top assignee ~50% of board)Flow single-pointRedistribute loadPhat (PM)
MetricWK19WK20WK21WK22WK23WK24Dir
Throughput (done)34*40*67504592▲▲
Completion %34%*41%*55%50%49.5%53.8%
Carry-over66*56*44484678■ high
Delivery Health23*28*41*36*7377

* WK19-22 are recorded figures from empty-snapshot cycles (less reliable); their health used the retired completion-weighted scale, not comparable to WK23-24's delivery-first score.

Forecast (Monte Carlo)

Throughput ~45-92 done/cycle (WK21-24).

MilestoneRemaining50%85%
Close E2/E7/E4/E11 (near done)smallend-Junmid-Jul
E9 Sale selling-exp~halfWK27 (Jul 12)WK29 (Jul 26)
E8 Kitchen/self-order (0% - long pole)fullWK30 (Aug 2)late-Aug
E5 Customer / E10 Pricing~half eachAuglate-Aug

Consistent with the Sep 2026 Phase-2 target if E8 starts now; otherwise the kitchen/self-order pole slips.

Action Items

  • ✅ Apply 3 Done-corrections (BANA-1340/1356/1396) - Phat (done this review)
  • ✅ Capture untracked docs work as BANA-1412 - Phat (done this review)
  • ⬜ Split/cancel the 33 aged items (509/512/890-907/Menu) before WK25 - Phat (PM)
  • ⬜ WK25 bug-fix block for the 34 open client bugs - Le Linh / Phat
  • ⬜ Start E8 KDS/self-order now (Sep risk) - Hai / Khoa
  • ⬜ Re-confirm BANA-1248 (addon/FBT) Done in QA - Anh Do
  • ⬜ NX_HRM: stop auto-rolling stale backlog; freeze end-of-cycle snapshot (BANA-1219 standing) - ops

Code-Audit Correction Log

Board said incomplete; code verified Done. 4 in-progress items audited and corrected to Done; 92 done is a verified floor.

ItemWasNowEvidence
1340 Atomic onboardingIn-progressDonePOST /organizers/aggregate, commerce organizer-onboard.service.ts (tx, idempotent)
1356 User list & countIn-progressDoneGET /users/list + /users/list/count, merchant-scoped + searchable, identity user/definitions.ts
1396 Variant-option denormalizationIn-progressDonesearch product-variant.collection.ts + cdc-enrichment.service.ts
1412 Docs/registry rebuild(untracked)DoneWK24 docs work had no ticket - captured retrospectively (1,553 files)

Kept open (verified): 1140 acting-user middleware - BE middleware absent; only FE sets x-acting-user-token. Flagged for QA: 1248 addon/FBT - FE impl present, confirm in verification.

Appendix - Data sources & method

  • Git: git log --all --since=2026-06-08 --until=2026-06-15 on nx-seller (~201 commits) + IGNIS. Per-author logs for the Effort and Work Log sections.
  • Board: retrieve_cycle + list_cycle_work_items for WK24.
  • Scorecard: delivery-first formula (SPACE / DORA / Flow). Trailing throughput median over the last 4-6 cycles.
  • Estimates labeled as such: By Module is estimated from title prefixes; Epic % is directional.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.