Files
sys-analysis-design/ba-output/e-commerce/00-index/DECISION_e-commerce.md
2026-09-11 23:01:18 +07:00

34 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DECISION — e-commerce
| | |
|---|---|
| **Version** | 1.4 |
| **Date** | 2026-09-08 |
| **Author** | BA (qua skill ba-lifecycle / ba-2-analysis / ba-3-specification / ba-design) |
| **Status** | 🟡 Draft |
| **Approved by** | — *(sổ quyết định, cập nhật liên tục, không cần baseline riêng)* |
| **Source** | Ghi chú từ người duyệt trong prompt khởi tạo dự án; `references/workflow.md` §3 "Dự án không có Designer"; prompt điều phối GĐ2 (ngoại lệ gate, trả lời `OQ-004`/`OQ-008`); ghi chú từ người duyệt trong prompt điều phối GĐ3 (sửa DEC-01, chốt chế độ WF); prompt điều phối GĐ3 (ngoại lệ gate G2); prompt điều phối GĐ3 lần chạy US-002/US-003 (ngoại lệ gate G2 nối tiếp); prompt điều phối `ba-design` lần chạy US-002/US-003 (ngoại lệ gate G2 nối tiếp lần ba) |
| **Scope** | Toàn dự án e-commerce |
## Change Log
| Version | Date | Người sửa | Thay đổi | CR |
|---|---|---|---|---|
| 1.0 | 2026-09-08 | BA (qua skill ba-lifecycle) | Khởi tạo sổ quyết định, ghi DEC-01 | — |
| 1.1 | 2026-09-08 | BA (qua skill ba-2-analysis) | Thêm DEC-02 (ngoại lệ gate G1 khi chạy GĐ2), DEC-03 (xác nhận điểm tích hợp Khuyến mãi/Loyalty — trả lời `OQ-004`), DEC-04 (thứ tự ưu tiên khi cắt phạm vi — trả lời `OQ-008`) | — |
| 1.2 | 2026-09-08 | BA (qua skill ba-3-specification, activity `uiconv`) | Sửa nội dung `DEC-01` theo ghi chú người duyệt: dự án **CÓ** prototype tham chiếu dạng văn bản (`e-commerce/docs/sections/07-giao-dien.md`, SAD §7, status approved) — `WF` sẽ chạy chế độ 🎨 (mức phủ khác nhau theo từng màn hình) thay vì ✏️ hoàn toàn như ghi trước đây; phần PO ký thay Designer giữ nguyên. Thêm `DEC-05` (ngoại lệ gate G2 khi chạy GĐ3 `uiconv`) | — |
| 1.3 | 2026-09-08 | BA (qua skill ba-3-specification, activity `srs`/`ac`/`nfr`/`api`/`wf`) | Thêm `DEC-06` (ngoại lệ gate G2 nối tiếp khi viết `SRS`/`AC`/`NFR`/`API`/`WF` của US-002/US-003) | — |
| 1.4 | 2026-09-08 | BA/Design (qua skill ba-design, activity `ds`/`hifi`/`figma`/`dspec`) | Thêm `DEC-07` (ngoại lệ gate G2 nối tiếp lần ba khi chạy `ba-design` cho US-002/US-003 — sinh `DS_e-commerce_v1.0.md`, `HIFI_US002-003_v1.0.html`, `FIGMA_US002-003_v1.0/`, `DSPEC_US002-003_v1.0.md`) | — |
## Danh sách quyết định
| ID | Quyết định | Người quyết | Ngày | Ảnh hưởng | Nguồn |
|---|---|---|---|---|---|
| DEC-01 | Dự án e-commerce chưa có Designer riêng trong giai đoạn thử nghiệm bộ skill BA. **PO sẽ ký thay Designer** cho `UICONV_e-commerce` và mọi `WF_<US>` ở gate G3. **[Sửa 2026-09-08, v1.2]** Dự án **CÓ** prototype tham chiếu dạng văn bản: `e-commerce/docs/sections/07-giao-dien.md` (SAD §7 "Thiết kế giao diện", `status: approved`, `version: 1`) mô tả bố cục có cấu trúc (mục đích, persona, bố cục, trạng thái loading/empty/error, validation) cho `SCR-01`…`SCR-32`. Theo `artifact-map.md` §5 (`PROTO -.-> UICONV`, `PROTO -.-> WF`), tài liệu này được coi là **nguồn sự thật về bố cục dạng văn bản**. Do đó `WF` sẽ chạy ở **chế độ 🎨 (prototype tham chiếu)**, với **mức độ phủ khác nhau theo từng màn hình** (nhóm Guest/Customer `SCR-01`…`SCR-15` được mô tả khá đầy đủ 3 trạng thái + bố cục; các nhóm Seller/Admin/Ops/CSR cũng có mô tả nhưng chưa được đối chiếu ở lần chạy `uiconv` này) — **không phải** chế độ ✏️ hoàn toàn như ghi trước đây. Phần "PO ký thay Designer" và mục "Designer còn phải làm" ở `WF` §6 chuyển thành việc của **Dev FE** vẫn **giữ nguyên**. | Điều phối, thay mặt PO (chạy chế độ `go` — cần PO xác nhận lại bằng chữ ký thật khi ký G3) | 2026-09-08 (sửa nội dung ngày 2026-09-08, v1.2) | Ở G3: `UICONV`/`WF` không có chữ ký Designer, thay bằng chữ ký PO + tham chiếu `DEC-01`; `WF` chạy chế độ 🎨 nên PO chỉ cần xác nhận bản đồ §1 và §5 không còn lệch mở (không cần Designer duyệt lại prototype vì đây là văn bản SAD đã approved); rủi ro: mô tả text có thể thiếu chi tiết thị giác thật (không có ảnh/Figma) | `references/workflow.md` §3, §2 (checklist G3 dòng *(screen)*); ghi chú người duyệt trong prompt điều phối GĐ3 |
| DEC-05 | Chạy `ba-3-specification` activity `uiconv` (sinh `UICONV_e-commerce_v1.0.md`) **trong khi Gate G2 (Solution sign-off) chưa được PO + Tech Lead ký chính thức** cho module Giỏ hàng & Checkout — xem `DEC-02` (ngoại lệ gate G1→G2). Đây là **ngoại lệ gate nối tiếp**, chấp nhận cho mục đích đánh giá bộ skill BA, không phải G2 đã coi là đạt. `UICONV` là tài liệu cấp **project** (không riêng module), nên rủi ro thấp hơn so với việc viết SRS/AC dựa trực tiếp trên `BACKLOG`/`BR` chưa chốt — nhưng nếu `BACKLOG_CartCheckout`/`BR_CartCheckout` đổi khi G2 ký thật (đặc biệt các trường đang có `OQ` mở như số field Guest checkout — `BR-CART-07`), phải rà lại `UICONV` §11 (từ vựng thành phần liên quan Guest checkout) và mọi `WF` đã tham chiếu. | Người điều phối, xác nhận rõ ràng và khẳng định lại sau khi được cảnh báo rủi ro | 2026-09-08 | `UICONV_e-commerce_v1.0.md` giữ `Status: 🟡 Draft`, không thể `✅ Baselined` cho tới khi G2 module liên quan được ký thật và G3 tự nó được ký; ghi thêm `OQ-027` trong `UICONV` §13 và `OQ_e-commerce.md` | Prompt điều phối GĐ3 "Ngoại lệ gate"; `references/workflow.md` §1 (sơ đồ gate tuần tự), §2 (G3 phụ thuộc G2) |
| DEC-02 | Chạy GĐ2 (`ba-2-analysis`) cho module Giỏ hàng & Checkout **trong khi Gate G1 chưa được ký chính thức** — `BRIEF_CartCheckout_v1.0.md` tự chấm chưa đủ điều kiện G1 (3/6 tiêu chí còn ☐: thiếu tên thật stakeholder, thiếu buổi làm việc trực tiếp, KPI chưa có baseline số). Đây là **ngoại lệ gate**, chấp nhận cho mục đích đánh giá bộ skill BA, **không phải G1 đã được coi là đạt**. Toàn bộ artifact GĐ2 (`PROCESS`, `BACKLOG`, `BR`, `RBAC`, `IMPACT`) phải được rà lại khi PO ký G1 thật — đặc biệt các phần dựa trên `RISK`/`ASM` chưa xác nhận (AS-IS Phần A3–A5, `BR-CART-01/03/06`). | Người điều phối, xác nhận rõ ràng và khẳng định lại sau khi được cảnh báo rủi ro | 2026-09-08 | Mọi artifact GĐ2 của module Giỏ hàng & Checkout mang trạng thái 🟡 Draft, cần rà lại toàn bộ khi G1 ký thật; G2 (gate của chính GĐ2 này) cũng chưa thể ký chính thức vì phụ thuộc G1 | Prompt điều phối "Ngoại lệ gate"; `references/workflow.md` §1 (sơ đồ gate tuần tự) |
| DEC-03 | Xác nhận điểm nối với module Khuyến mãi & Loyalty (trả lời `OQ-004`, mở từ GĐ1): áp dụng mã coupon (FR-13) và điểm thưởng (FR-14) là **điểm tích hợp**, không thuộc phạm vi module Giỏ hàng & Checkout. Module Khuyến mãi/Loyalty **sở hữu logic tính toán**; module Giỏ hàng & Checkout **chỉ hiển thị kết quả đã tính và gọi API áp dụng**. | PO sàn (trả lời qua người điều phối) | 2026-09-08 | Phạm vi §5.2 của `BRIEF` được xác nhận đúng như đề xuất ban đầu của BA; `BACKLOG_CartCheckout_v1.0.md` không có US riêng cho coupon/loyalty; `IMPACT_CartCheckout_v1.0.md` §1.5 ghi nhận đây là một điểm tích hợp cần API contract trước GĐ3 (`OQ-017` mới phát sinh: xử lý khi API này lỗi/chậm) | `BRIEF_CartCheckout_v1.0.md` §5.2, `OQ-004`; trả lời của người dùng trong prompt điều phối GĐ2 |
| DEC-06 | Chạy `ba-3-specification` các activity `srs`/`part2`/`ac`/`errors`/`nfr`/`api`/`wf` để đặc tả US-002 (Xem giỏ hàng nhóm theo seller) và US-003 (Sửa số lượng / xoá sản phẩm trong giỏ) — sinh `SRS_US002-003_v1.0.md`, `AC_US-002_v1.0.md`, `AC_US-003_v1.0.md`, `NFR_US002-003_v1.0.md`, `API_US002-003_v1.0.md`, `WF_US002-003_v1.0.md`+`.html` — **trong khi Gate G2 của module Giỏ hàng & Checkout vẫn chưa được PO + Tech Lead ký chính thức** (nối tiếp `DEC-02`, `DEC-05`). Đây là ngoại lệ gate nối tiếp, chấp nhận cho mục đích đánh giá bộ skill BA. Rủi ro cao hơn `DEC-05` (UICONV cấp project) vì `SRS`/`AC` lần này bám trực tiếp vào `BACKLOG`/`BR` của module — nếu `BACKLOG_CartCheckout`/`BR_CartCheckout` đổi khi G2 ký thật, phần bị ảnh hưởng nhiều nhất là §1.3 (hiện chưa có `BR-CART-nn` áp dụng trực tiếp cho US-002/US-003) và mọi AC nhóm 1 dựa trên "không có BR ràng buộc". | Người điều phối, xác nhận rõ ràng và khẳng định lại sau khi được cảnh báo rủi ro | 2026-09-08 | `SRS_US002-003_v1.0.md` và các artifact phụ thuộc giữ `Status: 🟡 Draft`, không thể `✅ Baselined` cho tới khi G2 module được ký thật; đã ghi 7 `OQ` mới (`OQ-028`…`OQ-034`) vào `OQ_e-commerce.md` | Prompt điều phối GĐ3 (lần chạy US-002/US-003) "Ngoại lệ gate"; `DEC-02`, `DEC-05` |
| DEC-04 | Xác nhận thứ tự ưu tiên khi phải cắt phạm vi (trả lời `OQ-008`, mở từ GĐ1): giữ **RQ-001 (giỏ hàng đa seller) và RQ-002 (tách đơn theo seller)** làm ưu tiên trước; **RQ-003 phần thanh toán ví điện tử (VNPay/Momo) có thể lùi triển khai sau COD** nếu thiếu thời gian. | PO sàn (trả lời qua người điều phối) | 2026-09-08 | `BACKLOG_CartCheckout_v1.0.md` §8 (đề xuất thứ tự thực hiện): US-001…US-006 (giỏ hàng + checkout + Guest) và US-007 (COD) ưu tiên đợt 1–3; US-008 (VNPay/Momo) xếp đợt 4, có thể lùi tiếp nếu `ASM-01` chưa xác minh kịp | `BRIEF_CartCheckout_v1.0.md` §6, `OQ-008`; trả lời của người dùng trong prompt điều phối GĐ2 |
| DEC-07 | Chạy skill `ba-design` (activity `ds`, `hifi`, `figma`, `dspec`) cho US-002 (Xem giỏ hàng nhóm theo seller) và US-003 (Sửa số lượng / xoá sản phẩm trong giỏ) — sinh `00-index/DS_e-commerce_v1.0.md` (+ `ds/tokens.json`, `ds/tokens.css`, `ds/components.html`), `03-specification/design/HIFI_US002-003_v1.0.html`, `03-specification/design/FIGMA_US002-003_v1.0/`, `03-specification/design/DSPEC_US002-003_v1.0.md` — **trong khi Gate G2 của module Giỏ hàng & Checkout vẫn chưa được PO + Tech Lead ký chính thức** (nối tiếp `DEC-02`, `DEC-05`, `DEC-06`). Người dùng đã được cảnh báo rủi ro gate G2 chưa qua và **khẳng định lại rõ ràng** muốn tiếp tục, cho mục đích đánh giá bộ skill BA. Rủi ro riêng của lần chạy này: `HIFI` chép trực tiếp thành phần/text từ `SRS_US002-003_v1.0.md` (vốn đã mang rủi ro của `DEC-06`) — nếu `SRS` phải viết lại khi G2 ký thật, `DS`/`HIFI`/`FIGMA`/`DSPEC` của `SCR-04` phải chạy lại toàn bộ theo đúng chuỗi phụ thuộc `artifact-map.md` §5 (`SRS`→`HIFI`→`FIGMA`→`DSPEC`). Rủi ro thấp hơn ở phần `DS` (token cấp project, không phụ thuộc trực tiếp `BACKLOG`/`BR` của module) trừ bảng ánh xạ badge ở `DS` §3 (tham chiếu `BR_CartCheckout` §3). | Người điều phối, xác nhận rõ ràng và khẳng định lại sau khi được cảnh báo rủi ro | 2026-09-08 | `DS_e-commerce_v1.0.md`, `HIFI_US002-003_v1.0.html`, `FIGMA_US002-003_v1.0/`, `DSPEC_US002-003_v1.0.md` giữ `Status: 🟡 Draft`, không thể `✅ Baselined` cho tới khi G2 module được ký thật **và** G3 tự nó được ký; đã ghi ngoại lệ vào Open Questions của `DSPEC_US002-003_v1.0.md` §8 (dòng `DS-EX-01`) | Prompt điều phối `ba-design` (lần chạy US-002/US-003) "Ngoại lệ gate"; `DEC-02`, `DEC-05`, `DEC-06` |