Files
sys-analysis-design/.claude/skills/ba-lifecycle/references/artifact-map.md
Leonard-ThindPad-P50 2c7bcde741 improve BA skill
2026-09-09 06:34:57 +07:00

151 lines
6.6 KiB
Markdown

# Bản đồ artifact
## 1. Toàn bộ artifact, ai sinh, ai tiêu thụ
| Mã | Tên đầy đủ | Thư mục | Sinh bởi | Tiêu thụ bởi |
|---|---|---|---|---|
| `BRIEF` | Project Brief | `01-discovery/` | ba-1 | PO, toàn team |
| `STAKEHOLDER` | Stakeholder Map & Analysis | `01-discovery/` | ba-1 | BA, PM |
| `ELICITATION` | Biên bản khai thác yêu cầu | `01-discovery/` | ba-1 | ba-2 |
| `RISK` | Sổ rủi ro & giả định | `01-discovery/` | ba-1 | PM, ba-5 |
| `PROCESS` | Quy trình AS-IS / TO-BE | `02-analysis/` | ba-2 | Dev, QA, ba-5 |
| `BACKLOG` | Feature list & User story backlog | `02-analysis/` | ba-2 | PO, ba-3 |
| `BR` | Business Rules | `02-analysis/` | ba-2 | ba-3, Dev, QA |
| `RBAC` | Ma trận phân quyền | `02-analysis/` | ba-2 | ba-3, Dev, Security |
| `IMPACT` | Phân tích tác động | `02-analysis/` | ba-2 | Tech Lead, QA |
| `SRS` | Software Requirements Specification | `03-specification/` | ba-3 | Dev, QA |
| `AC` | Acceptance Criteria (nếu tách khỏi SRS) | `03-specification/` | ba-3 | QA |
| `API` | API contract đề xuất | `03-specification/` | ba-3 | Dev BE/FE |
| `NFR` | Yêu cầu phi chức năng | `03-specification/` | ba-3 | Dev, Ops, QA |
| `WF` | Wireframe & bố cục (`.md` bảng vùng/thành phần/lệch + `.html` low-fi) — chỉ `PRODUCT = screen` | `03-specification/` | ba-3 (activity `wf`) | Dev FE, Designer, PO |
| `UICONV` | Quy ước giao diện cấp project — chỉ `PRODUCT = screen`, sinh một lần | `00-index/` | ba-3 (activity `uiconv`) | Dev FE, Designer, mọi SRS/WF |
| `QLOG` | Clarification log | `04-delivery/` | ba-4 | Dev, QA |
| `CR` | Change Request | `04-delivery/` | ba-4 | PO, PM, Dev |
| `TCREVIEW` | Biên bản review test case | `04-delivery/` | ba-4 | QA |
| `UAT` | Kế hoạch & kết quả UAT | `04-delivery/` | ba-4 | PO |
| `RELNOTE` | Release note nghiệp vụ | `05-post-release/` | ba-5 | Người dùng |
| `MANUAL` | Tài liệu hướng dẫn sử dụng | `05-post-release/` | ba-5 | Người dùng, CS |
| `BENEFIT` | Benefit realization review | `05-post-release/` | ba-5 | PO, BA Lead |
| `RTM` | Requirements Traceability Matrix | `00-index/` | ba-traceability | Mọi vai trò |
| `GLOSSARY` | Từ điển thuật ngữ | `00-index/` | ba-1, bồi đắp dần | Mọi vai trò |
| `DECISION` | Sổ quyết định (`DEC-nn`) | `00-index/` | mọi skill | Mọi vai trò |
| `OQ` | Sổ open question | `00-index/` | mọi skill | Mọi vai trò |
| `INDEX` | Mục lục dự án | `00-index/` | ba-lifecycle | Mọi vai trò |
## 2. Header bắt buộc của mọi artifact
Mọi file `.md` sinh ra phải mở đầu bằng khối này. Thiếu một dòng ⇒ gate không chấm được.
```markdown
# <LOẠI> — <Tên phạm vi>
| | |
|---|---|
| **Version** | 1.0 |
| **Date** | 2026-08-30 |
| **Author** | <tên BA> (qua skill ba-3-specification) |
| **Status** | 🟡 Draft / 🟠 In Review / 🔵 Approved / ✅ Baselined / 📦 Archived |
| **Approved by** | — *(điền tên + ngày khi được ký)* |
| **Source** | <danh sách file input đã dùng, mỗi cái một dòng> |
| **Scope** | <module / US id> |
## Change Log
| Version | Date | Người sửa | Thay đổi | CR |
|---|---|---|---|---|
| 1.0 | 2026-08-30 | … | Bản đầu | — |
```
**Ý nghĩa `Status`** — đây là thứ gate đọc, không phải tên file:
| Status | Nghĩa | Ai được sửa file |
|---|---|---|
| 🟡 Draft | BA đang viết | BA tự do |
| 🟠 In Review | Đã gửi duyệt | BA sửa theo comment |
| 🔵 Approved | Người duyệt đã đồng ý nội dung | BA sửa, ghi Change Log |
| ✅ Baselined | Đã qua gate, là nguồn sự thật | **Chỉ sửa qua `CR-nnn`** |
| 📦 Archived | Đã bị thay bằng version mới | Không sửa |
## 3. Quy tắc version
| Thay đổi | Tăng |
|---|---|
| Sửa lỗi chính tả, làm rõ câu chữ, không đổi nghĩa | `+0.1` |
| Thêm/sửa nội dung nghiệp vụ, thêm AC, sửa rule | `+0.1` |
| Tái cấu trúc tài liệu, đổi phạm vi, gộp/tách US | `+1.0` |
| Qua gate lần đầu | đặt `1.0`, Status `✅ Baselined` |
File đạt `✅ Baselined` mà cần sửa: tạo version mới, **chuyển bản cũ vào `archive/`** cùng
thư mục, Status bản cũ đổi thành `📦 Archived`. Không xoá file.
## 4. Mẫu `INDEX_<PROJECT>.md`
```markdown
# INDEX — <PROJECT>
| | |
|---|---|
| **Cập nhật** | 2026-08-30 |
| **Giai đoạn hiện tại** | GĐ2 · Analysis |
| **Gate gần nhất đã qua** | G1 (2026-08-20, ký bởi …) |
## Artifact
| Loại | File mới nhất | Version | Status | Cập nhật |
|---|---|---|---|---|
| BRIEF | `01-discovery/BRIEF_<...>_v1.0.md` | 1.0 | ✅ | 2026-08-20 |
## Open Question đang mở
| ID | Nội dung | Hỏi ai | Từ ngày | Chặn gì |
|---|---|---|---|---|
## Quyết định đã chốt
| ID | Quyết định | Người quyết | Ngày | Ảnh hưởng |
|---|---|---|---|---|
```
`INDEX` do `ba-lifecycle` cập nhật mỗi lần chạy. Các skill giai đoạn **không sửa INDEX** —
chúng chỉ ghi artifact của mình rồi báo cho người dùng chạy `/ba-lifecycle` để đồng bộ.
## 5. Quan hệ phụ thuộc
Mũi tên = "cần cái kia mới viết đúng được". Thiếu input ⇒ vẫn làm, nhưng phải ghi `OQ` và
nêu rõ trong Source là đã dùng nguồn thay thế nào.
```mermaid
flowchart LR
STK["STAKEHOLDER"] --> BRIEF["BRIEF"]
ELI["ELICITATION"] --> BRIEF
BRIEF --> RISK["RISK"]
BRIEF --> BACKLOG["BACKLOG"]
PROCESS["PROCESS"] --> BACKLOG
BACKLOG --> BR["BR"]
BACKLOG --> RBAC["RBAC"]
IMPACT["IMPACT"] --> SRS["SRS"]
BR --> SRS
RBAC --> SRS
SRS --> AC["AC"]
SRS --> API["API"]
SRS --> NFR["NFR"]
UICONV["UICONV"] --> SRS
UICONV --> WF["WF"]
SRS --> WF
PROTO[["Prototype / design system (ngoài bộ BA)"]] -.-> UICONV
PROTO -.-> WF
AC --> UAT["UAT"]
UAT --> BENEFIT["BENEFIT"]
UAT --> RELNOTE["RELNOTE"]
UAT --> MANUAL["MANUAL"]
```
**RTM đọc:** `BRIEF`(RQ) · `BACKLOG`(US) · `SRS`+`AC`(AC, field, mã lỗi) · `WF`(C-id, SCR) · `UAT`(test case) · `CR`
`WF` và `UICONV` chỉ tồn tại khi `PRODUCT = screen`. `WF` **không** là nguồn sự thật về hành
vi — nó tham chiếu ngược về `SRS`; đổi prototype ⇒ đổi `WF`, `SRS` chỉ đổi khi lệch loại
Tồn tại/Hành vi được PO chấp nhận (qua `CR` nếu SRS đã Baselined).
Đọc xuôi mũi tên để biết **sửa cái này thì phải sửa tiếp cái nào**. Ví dụ sửa một `BR` ⇒
phải rà lại `SRS`, `AC`, test case, và cập nhật `RTM`.