Sprint Review — WK14
Chu kỳ 2026-03-30 → 04-05 · Ghi nhận trên Plane là BANA-739. Tóm tắt điều hành lấy từ git; các chỉ số bên dưới phản chiếu bản review trên Plane.
Tóm tắt điều hành
Điểm nhấn cho lãnh đạo
Tuần này (30/03 – 05/04) đội đẩy hai nền tảng lớn — trình chỉnh sửa sơ đồ tầng / bàn / chỗ ngồi nhà hàng cho POS dine-in và một hệ thống cấu hình giá cước & định giá hoàn chỉnh — cùng với tự phục hồi tài khoản (quên mật khẩu / xác minh email) và website marketing Overture đã đấu nối với API thu thập lead của Outreach.
- Tầng & Chỗ ngồi nhà hàng — Trình chỉnh sửa sơ đồ tầng trực quan: quản lý tầng và bàn dạng nháp, canvas kéo/snap kèm điều khiển zoom, đặt chỗ ngồi và bàn, tạo zone hàng loạt, và endpoint layout/zone tổng hợp làm nền.
- Hệ thống Giá cước & Định giá — Cấu hình giá cước đầu-cuối: CRUD fare-set kèm lọc và phân trang, wizard giá mặc định, guard đổi trạng thái, upsert rule inline, cùng REST API cho cấu hình định giá chi phí / cước / thuế.
- Phục hồi tài khoản & Email — Luồng quên mật khẩu và xác minh email trên cả interface backend lẫn màn hình client, một component mail dùng lại được, và template email HTML song ngữ.
- Overture + Outreach — Website marketing có thêm trang lỗi/404, ô nhập số điện thoại, đấu nối CTA, và các form thu thập lead đầy đủ tích hợp API Outreach qua WebSocket, cùng dịch vụ danh sách và thống kê subscriber.
- Tính tiền POS — Tách đơn hàng (split order) đã xong, cùng các hook trạng thái khách/mặt hàng cho giỏ hàng client POS.
- Thiết kế lại Sale Renderer — Widget dashboard mới và biểu đồ tròn, làm mới màn hình đăng nhập, cài đặt và invoice, sidebar và menu người dùng ở header.
- Vệ sinh nền tảng — Một dịch vụ chính sách xóa (deletion-policy) thống nhất đấu nối vào controller merchant / product / sale-channel / sale-order, đặt tên client IIAPI tường minh (không default ngầm), và phục hồi sau sự cố cho job đang chờ khi server khởi động.
Điểm sức khỏe: 67/100 — Cần chú ý
| Hạng mục | Điểm | Trọng số | Đóng góp |
|---|---|---|---|
| Hoàn thành | 89.6/100 | 30% | 26.9 |
| Khả đoán | 82.2/100 | 25% | 20.6 |
| Cân bằng tải | 9.5/100 | 20% | 1.9 |
| Dòng chảy (không tồn đọng) | 58.2/100 | 15% | 8.7 |
| Chất lượng (không hủy) | 91.0/100 | 10% | 9.1 |
Cải thiện từ mức 48 của WK13 (Cần can thiệp). Vẫn bị kéo xuống bởi mất cân bằng tải (9.5) và tồn đọng (58.2).
Ghi chú phương pháp
30 trong 67 đầu việc được thêm giữa sprint (từ 30/03), trong đó 28 đã hoàn thành — phần lớn có vẻ là theo dõi hồi tố công việc vốn đã làm xong. Con số 76.1% hoàn thành ở tiêu đề bị thổi phồng. Mốc cơ sở trước sprint: 37 đầu việc cam kết, 23 hoàn thành = 62.2% — dưới khuyến nghị của review WK13 là "ngừng thêm hàng loạt giữa sprint."
Thành tựu chính
- Tổ chức S3 theo thư mục — toàn stack (Hai Cao) — NXET-689/690/691/692: Hỗ trợ prefix StaticAsset của IGNIS + BE/FE cho production một-bucket
- Form Overture + tích hợp API Outreach (Tai Nguyen) — NXET-695/696/697/698/699/700/715: Cả 5 form inquiry + newsletter đấu nối API Outreach
- Tách/gộp SaleOrder với SaleCheck (Hai Cao) — NXET-590: Tách/gộp tính tiền POS lõi
- Module Loyalty (Hai Cao) — NXET-508: Module hoàn thành đầu-cuối
- REST API định giá (Hai Cao) — NXET-693: Endpoint cấu hình chi phí, cước, thuế
- Thiết kế POS hoàn thành (Thuong Nguyen) — NXET-562: Layout WebPOS + HandheldPOS. NXET-648: Thiết kế thiết lập tầng/bàn
- Pipeline sinh sổ cái (Phat Chung) — NXET-685/712/735/736: Luồng E2E, report 1a, phục hồi sự cố, schema BOM
- Sửa bug commerce (Phuc Duong, Khoa, Hai) — NXET-641/642/666/669/671/673/674: Bất biến sản phẩm đã archive, PATCH biến thể, lọc danh sách sản phẩm, guard xóa danh mục/biến thể
- Ra mắt Coffee Shop + staging VNPAY (Kien, Khoa, Phat) — NXET-645/646: Môi trường test nội bộ hoạt động
- Onboarding dịch vụ Outreach (Huy Pham) — NXET-713/714: Thành viên mới làm quen, giao 2/2 đầu việc
- Xóa merchant + hệ thống giá cước (Phuc Duong, Duc Bach) — NXET-728/725/732
- Onboarding Invoice (Viet Vo) — NXET-726/731/733: Schema, API, xử lý lỗi cho dịch vụ invoice
Cần chú ý gấp
| Đầu việc | Mã | Người nhận | Trạng thái | Tuổi (tuần) | Vấn đề |
|---|---|---|---|---|---|
| Refactor invoices + VNPAY API | NXET-419 | viet.vo | In Progress | 12 | ZOMBIE — bị gắn cờ 3 sprint liên tiếp. Phải tách hoặc hủy. |
| Implement Invoice Page | NXET-449 | tai.nguyen | Upcoming | 11 | ZOMBIE — bị chặn bởi NXET-419, chưa từng bắt đầu |
| Integrate invoice for sale | NXET-516 | viet.vo, tai.nguyen | Upcoming | 5 | ZOMBIE — bị chặn bởi NXET-419 |
| QA: verify product/inventory/tax | NXET-532 | Khoa, Hai | Upcoming | 5 | ZOMBIE — gắn cờ từ review WK10 (NXET-556). Chưa bắt đầu qua 4 sprint. |
| VNPAY SMS verification | NXET-561 | phuc.duong | In Progress | 4 | ZOMBIE — đang làm 4 tuần |
| 5 bug validation commerce | NXET-675/676/677/678/672 | Khoa, phat.nguyen | Upcoming | 1 | Gán cho thành viên [QUÁ TẢI] [HOÀN THÀNH THẤP] |
| Validate pháp lý/thuế | NXET-702 | viet.vo | Upcoming | 1 | Gán cho thành viên [HOÀN THÀNH THẤP] |
Giao hàng
| Chỉ số | WK14 | WK13 | WK12 | WK11 | TB 4 chu kỳ | Mục tiêu | Trạng thái |
|---|---|---|---|---|---|---|---|
| Cam kết | 67 | 73 | 32 | 26 | 49.5 | — | — |
| Hoàn thành | 51 | 44 | 30 | 23 | 37.0 | — | — |
| Tỷ lệ hoàn thành | 76.1% | 60.3% | 93.8% | 88.5% | 79.7% | 85% | ⚠️ |
| Đã hủy | 2 (3.0%) | 2 (2.7%) | 2 (6.3%) | 3 (11.5%) | 2.3 (5.9%) | <7% | ✅ |
| Tồn đọng | 14 (20.9%) | 27 (37.0%) | 0 (0%) | 0 (0%) | 10.3 (14.5%) | <10% | ⚠️ |
| Sản lượng/người | 4.6 | 4.0 | 3.75 | 2.9 | 3.8 | 2.0 | ✅ |
Các điểm hụt:
- Hoàn thành ở 76.1% — mục tiêu là 85%. Cải thiện từ 60.3% của WK13 nhưng vẫn dưới mục tiêu. Mốc cơ sở trước sprint chỉ 62.2% (23/37). Các đầu việc thêm giữa sprint (30 đầu việc, 93% xong) thổi phồng con số tiêu đề.
- Tồn đọng ở 20.9% — mục tiêu là <10%. Cải thiện từ 37.0% của WK13. Cả 14 đầu việc tồn đọng đến từ mốc cơ sở trước sprint (12/37 = 32.4% tỷ lệ tồn đọng trên cam kết gốc).
Phân tích đầu việc thêm giữa sprint:
| Giai đoạn | Đầu việc thêm | Hoàn thành | Tồn | % Xong |
|---|---|---|---|---|
| Trước sprint (trước 30/03) | 37 | 23 | 12 | 62.2% |
| Thêm 30-31/03 | 15 | 13 | 2 | 86.7% |
| Thêm 01-05/04 | 15 | 15 | 0 | 100% |
| Tổng | 67 | 51 | 14 | 76.1% |
Mẫu hình: 15 đầu việc thêm 01-05/04 (tất cả hoàn thành ngay ngày tạo) là theo dõi công việc hồi tố, không phải công việc đã lập kế hoạch trong sprint. Cùng mẫu hình đã gắn cờ ở review WK13.
Phân bổ theo thành viên
Lưu ý: đầu việc nhiều người nhận được tính cho từng người.
| Thành viên | Cam kết | Xong | Đã hủy | Tồn | % Xong | Tải | Cờ |
|---|---|---|---|---|---|---|---|
| Khoa Nguyen | 21 | 13 | 1 | 7 | 62% | 21/5 | [QUÁ TẢI] [HOÀN THÀNH THẤP] |
| tai.nguyen | 17 | 14 | 0 | 3 | 82% | 17/5 | [QUÁ TẢI] |
| Hai Cao | 14 | 12 | 0 | 2 | 86% | 14/5 | [QUÁ TẢI] |
| phat.nguyen | 14 | 7 | 1 | 6 | 50% | 14/5 | [QUÁ TẢI] [HOÀN THÀNH THẤP] |
| phuc.duong | 8 | 7 | 0 | 1 | 88% | 8/5 | [QUÁ TẢI] |
| viet.vo | 6 | 3 | 0 | 3 | 50% | 6/5 | [QUÁ TẢI] [HOÀN THÀNH THẤP] |
| phat.chung | 5 | 4 | 1 | 0 | 80% | 5/5 | |
| duc.bach | 4 | 3 | 0 | 1 | 75% | 4/5 | |
| kien.truong | 4 | 4 | 0 | 0 | 100% | 4/5 | |
| thuong.nguyen | 3 | 3 | 0 | 0 | 100% | 3/5 | |
| huy.pham | 2 | 2 | 0 | 0 | 100% | 2/5 |
Bối cảnh:
- 50% của phat.nguyen phản ánh tải điều phối PM/PO (ra mắt coffee shop, staging VNPAY, triage bug) — không phải kém hiệu suất. 14 đầu việc gồm co-gán trên 5 bug commerce anh triage nhưng do kỹ thuật làm chủ.
- 21 đầu việc của Khoa gồm nhiều co-gán. Nhiều đầu việc tồn đọng là bug anh được liệt kê với vai reviewer, không phải chủ việc chính.
- 50% của viet.vo bị kéo bởi NXET-419 (refactor invoice zombie 12 tuần) chặn 2 đầu việc khác.
Phân tích tồn đọng
| Đầu việc | Mã | Người nhận | Tuổi (tuần) | Khuyến nghị |
|---|---|---|---|---|
| Refactor invoices + VNPAY API | NXET-419 | viet.vo | 12 | PHẢI tách hoặc hủy — gắn cờ 3 sprint. Không ngoại lệ. |
| Implement Invoice Page | NXET-449 | tai.nguyen | 11 | PHẢI tách hoặc hủy — bị chặn bởi NXET-419 |
| Integrate invoice for sale | NXET-516 | viet.vo, tai.nguyen | 5 | PHẢI tách — bị chặn bởi NXET-419 |
| QA: product/inventory/tax | NXET-532 | Khoa, Hai | 5 | PHẢI tách — gắn cờ từ WK10. 4 sprint chưa bắt đầu. |
| VNPAY SMS verification | NXET-561 | phuc.duong | 4 | PHẢI tách — đang làm 4 tuần |
| Client-side max length | NXET-638 | Khoa, Hai | 2 | Xem xét với người nhận |
| Trang định giá Overture | NXET-649 | phat.nguyen, tai.nguyen | 2 | ON_HOLD — xác nhận lý do hold |
| Chặn product tự làm parent | NXET-672 | Khoa, phat.nguyen | 1 | Dời sang WK15 |
| Validate fare không âm | NXET-675 | Khoa, phat.nguyen | 1 | Dời sang WK15 |
| Bắt buộc ARCHIVED là terminal | NXET-676 | Khoa, phat.nguyen | 1 | Dời sang WK15 |
| Yêu cầu kích hoạt trước khi archive | NXET-677 | Khoa, phat.nguyen | 1 | Dời sang WK15 |
| Lưu cập nhật SKU | NXET-678 | Khoa, phat.nguyen | 1 | Dời sang WK15 |
| Validate pháp lý/thuế | NXET-702 | viet.vo | 1 | Dời sang WK15 |
| Refactor luồng products | NXET-711 | duc.bach | 1 | Dời sang WK15 |
Tái phạm: NXET-419 (12 tuần) và NXET-532 (5 tuần, ban đầu gắn cờ ở review WK10 NXET-556) đã bị kéo qua 3-4 sprint không giải quyết dù bị gắn cờ ở mọi review.
Theo Nhãn
| Nhãn | Đầu việc | Xong | % Xong | Tồn |
|---|---|---|---|---|
| Task | 48 | 40 | 83% | 7 |
| Bug | 18 | 10 | 56% | 7 |
| không nhãn | 1 | 1 | 100% | 0 |
Tỷ lệ xong của Bug ở 56% — cải thiện từ 29% của WK13 nhưng thấp hơn đáng kể so với task (83%).
Rào cản & Rủi ro
| Rủi ro | Tác động | Giảm thiểu | Chủ trì |
|---|---|---|---|
| NXET-419 (refactor invoice) ở 12 tuần — chặn NXET-449/516. Gắn cờ ở review WK12 và WK13 mà không có hành động. | Cao | Bắt buộc tách trước khi lập WK15. Chia thành các phần giao tối đa 2 tuần. | viet.vo, phat.nguyen |
| NXET-532 (QA verification) chưa từng bắt đầu từ WK10 — ra mắt coffee shop rủi ro nếu không có QA sign-off | Cao | Tách thành task QA theo từng domain với chủ rõ ràng, bắt đầu ngày 1 WK15 | uyen.nguyen, Khoa |
| 6/11 thành viên [QUÁ TẢI] — kéo dài suốt WK11/12/13/14. Khuyến nghị trần-5 chưa từng được thực thi. | Cao | Thực thi trần 5 đầu việc ở WK15. Phân bổ lại cho kien (4/5), thuong (3/5), huy.pham (2/5) | phat.nguyen |
| Thêm hàng loạt giữa sprint che giấu tỷ lệ hoàn thành thực (62% trước sprint vs 76% tiêu đề) | TB | Theo dõi đầu việc lúc bắt đầu sprint. Không thêm đầu việc hồi tố vào chu kỳ hiện tại. | Quy trình PM |
| 5 bug validation commerce chưa bắt đầu — rủi ro toàn vẹn dữ liệu cho coffee shop | TB | Gán một chủ việc chính (không co-gán). phuc.duong hoặc huy.pham. | phat.nguyen |
Xu hướng 4 chu kỳ
Dữ liệu lấy từ work item review sprint chính thức (NXET-585, 619, 688).
| Chỉ số | WK11 | WK12 | WK13 | WK14 | Hướng |
|---|---|---|---|---|---|
| Đầu việc hoàn thành | 23 | 30 | 44 | 51 | ▲ |
| Tỷ lệ hoàn thành | 88.5% | 93.8% | 60.3% | 76.1% | ▼ |
| Cam kết | 26 | 32 | 73 | 67 | ▼ (cam kết quá tải) |
| Tồn đọng | 0 | 0 | 27 | 14 | ▼ |
| Điểm sức khỏe | 82 | 76 | 48 | 67 | ▼ |
Góc nhìn 6 chu kỳ (từ review WK09 trở đi):
| Chu kỳ | Sức khỏe | Cam kết | Hoàn thành | CR | Tồn |
|---|---|---|---|---|---|
| WK09 | 79 | 16 | 15 | 93.8% | 0 |
| WK10 | 56 | 36 | 24 | 66.7% | 12 |
| WK11 | 82 | 26 | 23 | 88.5% | 0 |
| WK12 | 76 | 32 | 30 | 93.8% | 0 |
| WK13 | 48 | 73 | 44 | 60.3% | 27 |
| WK14 | 67 | 67 | 51 | 76.1% | 14 |
Mẫu hình: Dao động rõ giữa các sprint sụp đổ vì cam kết quá tải (WK10: 36→56, WK13: 73→48) và các sprint hồi phục (WK11: 26→82, WK12: 32→76). WK14 là hồi phục một phần (67→67) nhưng vẫn cam kết quá tải. Sản lượng đang tăng (15→51) nhưng quy mô sprint tăng nhanh hơn.
Dự báo (Monte Carlo)
Dựa trên sản lượng 4 chu kỳ gần nhất (23, 30, 44, 51 đầu việc/chu kỳ, TB 37.0):
| Phạm vi | Còn lại | Tin cậy 50% | Tin cậy 85% |
|---|---|---|---|
| Tồn đọng WK14 (tổng) | 14 | WK15 (12/04) | WK16 (19/04) |
| Track Invoice (419/449/516) | 3 (cần tách) | WK16 (19/04) | WK17 (26/04) |
| Bug validation commerce | 5 | WK15 (12/04) | WK15 (12/04) |
| QA verification (532) | 1 (cần tách) | WK15 (12/04) | WK16 (19/04) |
Ngưỡng hành động kích hoạt
| Điều kiện | Kích hoạt? | Hành động khuyến nghị |
|---|---|---|
| Hoàn thành < 75% trong 2 chu kỳ liên tiếp | Không — WK13 (60.3%) dưới, WK14 (76.1%) trên. Mốc cơ sở trước sprint là 62.2%. | Theo dõi. Nếu CR trước sprint WK15 < 75%, ngưỡng kích hoạt. |
| Hoàn thành > 95% trong 2 chu kỳ liên tiếp | Không | — |
| Bất kỳ ai > 5 đầu việc | CÓ — Khoa (21), tai (17), Hai (14), phat.nguyen (14), phuc (8), viet (6) | Phân bổ lại trước WK15. Thực thi trần 5 đầu việc. Khuyến nghị từ WK10 — chưa từng thực thi. |
| Bất kỳ ai < 70% xong trong 2 chu kỳ | CÓ — Khoa (WK13: 50%, WK14: 62%), phat.nguyen (WK13: 28%, WK14: 50%), viet.vo (WK13: 33%, WK14: 50%) | Khoa: giảm co-gán. viet.vo: tách NXET-419. phat.nguyen: chốt đầu việc dev ở 3 cho vai PM. |
| Tuổi tồn đọng > 2 tuần | CÓ — NXET-419 (12t), 449 (11t), 516 (5t), 532 (5t), 561 (4t) | PHẢI tách hoặc hủy. NXET-419 và 532 gắn cờ từ WK10/WK12. |
| Hủy > 15% | Không (3.0%) | — |
| Tỷ lệ tải max/min > 3x | CÓ — 10.5x (21:2) | Cân bằng lại. Gán 1 chủ việc chính mỗi đầu việc. |
| Điểm sức khỏe < 60 | Không (67) — hồi phục từ mức 48 của WK13 | — |
Theo dõi khuyến nghị review WK13
| Khuyến nghị WK13 | Tuân thủ ở WK14? | Bằng chứng |
|---|---|---|
| Chốt WK14 ở ~40 đầu việc | Không — cam kết 67 đầu việc | Sprint lại quá tải |
| Ngừng thêm hàng loạt giữa sprint | Không — 30 đầu việc thêm giữa sprint (15 vào 01-05/04) | Cùng mẫu hình thổi phồng |
| Tách 5 đầu việc zombie | Một phần — NXET-512 đã bỏ, nhưng 419/449/516/532 còn | 4/5 zombie vẫn sống |
| Gán chủ việc chính rõ ràng | Không — co-gán nặng tiếp diễn | Khoa: 21 đầu việc, nhiều co-gán |
| Tổ chức retrospective | Chưa rõ — không có bằng chứng trên Plane | Không ghi nhận |
Khuyến nghị cho WK15
- Chốt WK15 tối đa 40 đầu việc — 67/73 đầu việc trong 2 sprint qua là không bền vững. CR trước sprint đã ở 62% và thấp hơn.
- Tách 5 đầu việc zombie NGAY — NXET-419 (12t), 449 (11t), 516 (5t), 532 (5t), 561 (4t). Đây là sprint thứ 3 gắn cờ 419/449 và sprint thứ 4 gắn cờ 532.
- Thực thi trần 5 đầu việc mỗi người — khuyến nghị từ review WK10, chưa từng thực thi. 6/11 thành viên quá tải.
- Ngừng thêm đầu việc hồi tố vào chu kỳ hiện tại — tạo chỉ số hoàn thành giả. Theo dõi việc-đang-làm qua chu kỳ sau thay vào đó.
- Gán 1 chủ việc chính mỗi đầu việc — co-gán thổi phồng số đếm và che mờ trách nhiệm.
- Công suất PM tường minh — phat.nguyen ở 50% phản ánh tải PM, không phải kém hiệu suất. Chốt ở 3 đầu việc dev.
Trang liên quan
- Sprint Reviews · Roadmap · Changelog · Ma trận truy vết
- Plane: BANA-739 — Sprint review 2026_WK14 (Report)