Skip to content

Sprint Review — WK21

Cycle 2026-05-18 → 05-24 · Recorded in Plane as BANA-1168. The Executive Summary is sourced from git; the metrics below mirror the Plane review.

41/100 — Intervention
55%Completion (67/122)
44Carry-over (36%)
9%Cancelled (11)
122Committed (~2× avg)

Executive Summary

~423commits
15contributors
~60commits/day

Leadership takeaway

This week (18/05 – 24/05) the team posted its highest output of any recent cycle while pushing two foundations — a smarter inventory & stock system and the new admin UI for products, merchants and finance — plus kitchen-grade search reliability, staff PIN sign-in / multi-employee shifts, and a wave of back-office screens.

  • Inventory & Stock — New stock-list and location-overview screens backed by fresh APIs: low-stock thresholds, "needs-attention" flags per item, per-location stock posture, and average cost / COGS for variants and combos.
  • New Admin UI (client) — Rebuilt product edit, merchant create/edit, organization creation, the launchpad, tax-group management, the stock screen, the sales dashboard, and the new ledger (list, detail, PDF export).
  • Search Reliability — Hardened the live search pipeline: a circuit breaker, transient-vs-permanent error classification, database-driven pipeline config, and quieter heartbeat logging.
  • Staff Access & Shifts — Unified the staff PIN sign-in into one clean design, per-action attribution, multi-employee shift support, and per-merchant rollout flag.
  • Back Office — Operator screens built out: device, location and unit-of-measure list/create/edit, plus SLA-policy management with escalation rules.
  • Helpdesk & Notifications — Permissions across SLA / agents / tickets, plus a new notification system over Kafka + WebSocket.
  • Finance & POS — Finance vouchers and account↔payment links, finance forwarded to payments at checkout; on POS, combos display correctly with realistic VND cash quick-amounts.
  • Foundations — Multi-tenancy isolation research (PRD + ADR-0001) and Vault-based secrets management groundwork.

Health Score: 41/100 — Intervention required

DimensionScoreWeightContribution
Completion (67/122 = 54.9%)64.6/10030%19.38
Predictability (|54.9−85|×2)39.8/10025%9.95
Workload Balance (max/min 59/2)3.4/10020%0.68
Flow (44/122 = 36.1% carry-over)27.9/10015%4.19
Quality (11/122 = 9.0% cancel)72.9/10010%7.29
Total41.5 → 41100%

Rating bands: 90-100 Excellent · 75-89 Good · 60-74 Needs attention · <60 Intervention required.

Headline

67 items completed — the highest absolute throughput of any recent cycle (WK18:12, WK19:35, WK20:40, WK21:67) — but completion landed at 55% because the cycle was over-loaded to 122 (56 of those were incomplete WK20 items transferred in on 2026-05-18). This is a planning / commitment-discipline problem, not a delivery problem.

Key Accomplishments

  • PIN auth redesign cluster (Phuc Duong) — BANA-1100–1106 done; major identity delivery
  • Search / CDC pipeline (Phuc Duong) — BANA-1062–1068, 1142–1144
  • Inventory stock + location suite (Phat) — BANA-1123 / 1124 / 1132 / 1153 / 1154
  • Sale + finance (Phat) — BANA-1155 / 1156 / 1157
  • FE client screens (Khoa, Duc Bach) — BANA-1125 / 1129 / 1130 / 1138 / 1145 / 1146 / 1147 / 1148
  • BO device + UoM (Pham Thoi) — BANA-1110 / 1115 / 1116 / 1126 / 1127 / 1128 / 1133 (100%)
  • BO location pages (Van Nguyen) — BANA-1111 / 1112 / 1113 (100%)
  • Notification + sales report + helpdesk perms (Pham Huy) — BANA-1150 / 1151 / 1152
  • Multi-tenancy research + IGNIS Vault (Phat) — BANA-1158 / 1159

Urgent Attention

ItemIdentifierAssigneeStateAge (wk)Issue
Dynamic filter for other pagesBANA-344khoa.nguyenOn-hold~22Zombie — must cancel
Promotion/Voucher moduleBANA-509hai.caoOn-hold~12Zombie
FE CRUD PromotionBANA-512tai.nguyenOn-hold~11Zombie
Realtime Sale + PaymentBANA-538hai.cao, tai.nguyenOn-hold~11Zombie
Admin UI Kit → Base UIBANA-628khoa.nguyenOn-hold~8Zombie
Invoice VAT schedulerBANA-750viet.voIn-progress~6URGENT priority, aged, solo
Invoice flow / UIBANA-516/729/730viet.vo, duc.bachIP/Upcoming~6Invoice thread stalled, solo
Excel import clusterBANA-890–894hai.caoUpcoming~4No movement; owner over capacity
Menu clusterBANA-902–907hai.caoUpcoming~4No movement; owner over capacity
Hai Cao workload(43 assigned)hai.cao39 of 43 pending (9% done) — single biggest bottleneck

Delivery

MetricWK21WK204-Cycle AvgTargetStatus
Committed12297 (at close)~67~2× the WK18-20 avg
Completed674038.5record high
Completion %54.9%41% (real)72%*85%Miss
Cancelled11 (9.0%)1~3<7%Over — deliberate cleanup
Carried over44 (36.1%)56~25<10%Miss
Throughput/member~4.22.5~3.02.0Above target

* 4-cycle completion avg uses WK20's real 41%, not its post-transfer 97.6%.

Misses: Completion 54.9% (over-commitment, not delivery shortfall) · Carry-over 36.1% (inflated by un-triaged backlog) · Cancellation 9.0% (all 11 were deliberate stale-bug cleanup for re-test on the new release).

Team Breakdown

Numbers are person-assignments (multi-assignee items counted per assignee — totals sum to ~267 across 122 items, ~2.2 assignees/item, because the PM is co-assigned widely). "Carry" = pending; per-member cancelled is not split out by the snapshot.

MemberAssignedDoneCarry (pending)Done%LoadFlag
phat.nguyen59213836%59/5OVERLOADED · LOW
hai.cao434399%43/5OVERLOADED · LOW
khoa.nguyen38142437%38/5OVERLOADED · LOW
phuc.duong2517868%25/5OVERLOADED · LOW
duc.bach178947%17/5OVERLOADED · LOW
tai.nguyen1431121%14/5OVERLOADED · LOW
thoi.pham10100100%10/5OVERLOADED · clean
thuong.nguyen96367%9/5OVERLOADED · LOW
huy.pham85363%8/5OVERLOADED · LOW
kien.truong74357%7/5OVERLOADED · LOW
viet.vo72529%7/5OVERLOADED · LOW
van.nguyen550100%5/5clean
phat.chung43175%4/5OK
toan.tran43175%4/5OK
Lê Hoàng Anh440100%4/5OK
ngoc.bui32167%3/5LOW
anh.do / khoi.nguyen / linh.le / nguyen.nguyen / uyen.nguyen2 each2 each0100%2/5OK

Workload max/min = 59/2 = 29.5× (target <3×). Top 3 (Phat/Hai/Khoa) hold 140 of 267 person-assignments = 52%. Hai Cao is the critical bottleneck: 43 assigned, only 4 done (9%), 39 pending.

Carry-Over Analysis (44 items → transferred to WK22)

Age rule: ≥3 weeks MUST split or cancel; 2 weeks review/split; 1 week transfer.

Cluster / ItemIdentifierAssigneeAge (wk)Recommendation
Ancient zombiesBANA-344, 509, 512, 538, 628khoa/hai/tai8-22CANCEL (≥3wk rule; triage BANA-1119 never ran)
Hai Excel importBANA-890–894hai.cao~4DEFER / reassign — Hai at 9%
Hai Menu clusterBANA-902, 904–907 (903 in WK22)hai.cao~4DEFER / reassign
Variant Option clusterBANA-933, 935–938hai.cao, duc.bach~4Bundle + transfer
Invoice threadBANA-516, 729, 730, 750viet.vo, duc.bach~6SPLIT + pair viet.vo
In-progress activeBANA-756, 759, 932, 972, 973, 1052, 1091, 1099, 1149various<3Transfer, keep assignee
Other upcoming/draft/on-holdBANA-677, 704, 872, 970, 987, 1107, 764, 770, 772, 928, 1167variousmixedTriage at WK22 planning

Reconciles to 44 (11 in-progress + 23 upcoming + 6 on-hold + 4 draft). ~19 are age ≥3 weeks and must be split/cancelled, not blindly carried.

By Module

Per-module counts are not machine-readable (the snapshot carries label + assignee distributions but not module). The split below is estimated from item title prefixes — indicative, not authoritative.

ModuleItems (est)Notes
nx-packages (BE)~60identity/PIN, search/CDC, inventory, sale, finance, ledger, notification
nx-apps (FE)~50client screens, BO device/UoM/location, sale-renderer
ignis1BANA-1159 Vault
nx-operation / other~10PM/ops/docs items

By Label

From the cycle progress_snapshot (authoritative; sums to 123 incl. the review item).

LabelItemsDonePending
Task975542
Bug19613
Report220
(no label)550

Bug completion is low (6/19 = 32%) — but most open bugs are queued for the cancel-and-retest-on-release decision.

Blockers & Risks

RiskImpactMitigationOwner
WK22 over-loaded (72 after carry-over transfer) — 3rd cycle of over-commit-and-dumpHighRight-size to ~45-55: cancel zombies, defer Hai clustersPhat
Hai Cao bottleneck — 43 assigned, 9% done, 39 pendingHighReassign/defer Excel + Menu clusters; cap his WK22 loadPhat + Hai
Invoice thread stalled (516/729/730/750), 6+ wks, viet.vo solo at 29%HighPair a 2nd engineer or splitPhat
Workload imbalance 29.5× (max/min)MedRebalance before WK22 commitPhat
5 ancient zombies dragged across cyclesMedCancel now (≥3wk rule)Phat
WK20 retro (BANA-1121) overdue; Health <60 makes it mandatoryMedRun before WK22 planningPhat

4-Cycle Trend

MetricWK18WK19WK20WK21Direction
Items completed12354067▲ rising (record)
Completion %92.3%100%41% (real)54.9%partial recovery
Committed133597122▼ over-commit worsening
Carry-overs005644far over tolerance
Health Score76*74*2841recovering, still <60

* WK18/WK19 health are estimates carried from the prior review.

Forecast (Monte Carlo, simple)

Throughput last 4 cycles = (12+35+40+67)/4 ≈ 38.5 done/cycle (trending up to 67). Right-sized WK22 commitment ≈ 45-55 items.

WorkstreamRemaining50% conf85% conf
PIN auth (BANA-1107 left)1WK22WK22
Invoice thread (516/729/730/750)4needs pair-up — else WK24+undefined solo
Hai Excel + Menu clusters10needs owner changeundefined under Hai
Variant Option cluster5WK22-23WK23
Zombies (5)5cancel

Action Triggers Fired

TriggerFiredAction
Completion < 75% for 2 consecutive cyclesYES (WK20 real 41% + WK21 54.9%)Reduce next sprint 15% — cap WK22 at ~45-55
Any member > 5 itemsYES — 11 members over cap (Phat 59, Hai 43, Khoa 38…)Redistribute before WK22
Any member < 70% done for 2 cyclesLIKELY — 11 members <70% this cyclePair/reduce load for Hai, tai, viet
Carry-over age > 2 weeksYES — zombies + Hai clusters + invoiceSplit or cancel
Cancellation > 15%NO (9.0%)— (deliberate cleanup)
Workload max/min > 3×YES — 29.5×Rebalance; Hai is single point of failure
Health Score < 60YES (41)Dedicated retrospective (BANA-1121, overdue)

Data Integrity Notes

  • State counts authoritative (retrieve_cycle): 67+11+11+29+4 = 122; rates sum to 100%.
  • Team Breakdown + By-Label are from the cycle progress_snapshot (person-assignments, multi-assignee inflated). By-Module is an estimate (module-per-item not machine-readable).
  • WK20's displayed 97.6% is post-transfer; real at-close 41% (see WK20 review) — used in trend + trigger.
  • Health verdict (41, Intervention required) is robust across the full plausible Balance range.

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