# 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_` ở 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` |