Files
sys-analysis-design/.claude/skills/ba-traceability/templates/rtm.md
Leonard-ThindPad-P50 c81f249920 init git
2026-09-08 10:26:21 +07:00

143 lines
5.2 KiB
Markdown

# RTM — Requirements Traceability Matrix — <PROJECT>
| | |
|---|---|
| **Cập nhật** | YYYY-MM-DD |
| **Chạy bởi** | skill `ba-traceability` |
| **Tài liệu đã quét** | *(liệt kê kèm version)* |
| **Tài liệu thiếu** | *(và phép kiểm nào không chạy được vì thiếu nó)* |
---
## 1. Bảng coverage tổng hợp
| # | Phép kiểm | Chiều | Tổng | Đã phủ | Coverage | Ngưỡng | ☐/✅ | Chặn gate |
|---|---|---|---|---|---|---|---|---|
| 1 | RQ → US | xuôi | | | | 100% | | G2 |
| 2 | US → RQ | ngược | | | | 100% | | G2 |
| 3 | US → AC (**đủ 4 nhóm**) | xuôi | | | | 100% | | G3 |
| 4 | BR → áp dụng ở US/field | xuôi | | | | 100% | | G3 |
| 5 | AC → test case | xuôi | | | | 100% | | G4 |
| 6 | Tham chiếu → định nghĩa | — | | | | 100% | | mọi gate |
**Không làm tròn lên.** Coverage 99% vẫn là chặn khi ngưỡng là 100% — cái 1% đó là một yêu
cầu thật, của một người thật.
---
## 2. Ma trận chính
*Một dòng cho mỗi mắt xích. Ô trống = lỗ hổng.*
| RQ | MoSCoW | US | BR | AC | Field | Mã lỗi | Test case | Kết quả test | CR |
|---|---|---|---|---|---|---|---|---|---|
| RQ-001 | Must | US-001 | BR-003 | AC-01, AC-05 | F01, F02 | E-STL-0001 | TC-001..004 | ✅ | — |
| RQ-005 | Should | 🔴 — | | | | | | | |
---
## 3. Chi tiết từng lỗ hổng
*Mỗi dòng nêu đích danh ID, nơi định nghĩa, và **skill nào cần chạy để sửa**.*
### 3.1 🔴 RQ chưa có US nào phủ *(yêu cầu bị bỏ quên — chặn G2)*
| RQ | MoSCoW | Định nghĩa tại | Vì sao chưa phủ | Sửa bằng |
|---|---|---|---|---|
| RQ-005 | Should | `BRIEF_…_v1.0.md` §6 | *(bị bỏ sót? đã hoãn nhưng chưa ghi DEC?)* | `/ba-2-analysis <P>` |
### 3.2 🔴 US không truy về RQ nào *(scope creep — chặn G2)*
| US | Định nghĩa tại | Từ đâu ra | PO quyết | Sửa bằng |
|---|---|---|---|---|
| US-018 | `BACKLOG_…_v1.0.md` | | Giữ / Bỏ / Hoãn | `/ba-2-analysis <P>` |
### 3.3 🔴 US thiếu AC *(chặn G3)*
*Đủ 4 nhóm mới tính là phủ. Chỉ có nhóm 1 ⇒ **chưa phủ**, không phải "phủ một phần".*
| US | Thành công | Validation | Lỗi hệ thống | Phân quyền | Sửa bằng |
|---|---|---|---|---|---|
| US-013 | ✅ AC-20 | ✅ AC-21 | 🔴 — | 🔴 — | `/ba-3-specification US013` |
### 3.4 🟠 BR mồ côi *(không được áp dụng ở đâu)*
| BR | Định nghĩa tại | Vì sao mồ côi | Sửa bằng |
|---|---|---|---|
| BR-030 | `BR_…_v1.0.md` | *(rule của phase sau? hay SRS quên áp?)* | `/ba-3-specification <US>` |
### 3.5 🔴 AC không có test case *(chặn G4)*
| AC | US | Nhóm | Sửa bằng |
|---|---|---|---|
| AC-09 | US-011 | Lỗi hệ thống | `/ba-4-delivery-support US011 --part c` |
### 3.6 🔴 Tham chiếu gãy
*ID được nhắc tới nhưng **không có nơi định nghĩa**.*
| ID được tham chiếu | Nhắc ở đâu | Có thể là | Sửa bằng |
|---|---|---|---|
| BR-021 | `SRS_US011_v1.2` §1.3 | Đổi số? `BR` chưa cập nhật? | `/ba-2-analysis <P> --only br` |
🔴 Tham chiếu gãy nghĩa là dev đọc spec, thấy "theo BR-021", đi tìm không ra, rồi **tự
quyết**. Đó là cách một business rule bốc hơi khỏi sản phẩm.
---
## 4. Kiểm tra nhất quán
| # | Phép kiểm | Phát hiện | Mức | Xử lý |
|---|---|---|---|---|
| 1 | **Version lệch** — `Source:` trích version cũ | `SRS_US011` khai `BR_v1.0`, thực tế `BR` đã v1.2 | 🔴 | Rà lại SRS theo BR mới |
| 2 | **Ràng buộc lệch** — field vs. API | F01 max 20 ký tự (SRS) vs. 50 (API) | 🔴 | |
| 3 | **Mã lỗi lệch** — SRS vs. API | `E-STL-0007` không endpoint nào sinh ra | 🟠 | |
| 4 | **Trạng thái lệch** — BR vs. SRS/RBAC | RBAC phân quyền cho trạng thái `LOCKED` không có trong BR | 🔴 | |
---
## 5. Open Question & Change Request tồn đọng
*Sắp theo số ngày quá hạn giảm dần.*
| ID | Nội dung | Hỏi ai | Từ ngày | Số ngày | Chặn ID nào | Mức |
|---|---|---|---|---|---|---|
| OQ-014 | | | | 9 | AC-05, F03 | 🔴 quá hạn |
| CR | Tóm tắt | Chờ ai quyết | Từ ngày | Số ngày | Mức |
|---|---|---|---|---|---|
**`TBD` / `TODO` còn lại:**
| Tài liệu | Mục | Nội dung | Chặn gate |
|---|---|---|---|
| `SRS_US011` | §2.3.3 F01 | Độ dài chưa chốt | 🔴 G3 |
---
## 6. Kết luận gate
```
G1: ✅ / 🔴 CHẶN — <lý do>
G2: ✅ / 🔴 CHẶN — <lý do>
G3: ✅ / 🔴 CHẶN — <lý do>
G4: ✅ / ⏳ Chưa đánh giá được — <thiếu gì>
G5: —
```
| Gate | Trạng thái | Blocker | Chạy gì để gỡ |
|---|---|---|---|
| G2 | 🔴 | RQ-005 chưa phủ · US-018, US-019 scope creep | `/ba-2-analysis <P>` |
| G3 | 🔴 | 6/18 US thiếu AC nhóm lỗi · 4 TBD trong bảng field | `/ba-3-specification <US...>` |
---
## 7. Lịch sử chạy
| Ngày | Coverage RQ→US | US→AC | AC→TC | Số blocker | Ghi chú |
|---|---|---|---|---|---|
| | | | | | |
*Chạy sau **mỗi giai đoạn**, không chỉ trước gate. Lỗ hổng phát hiện sớm thì rẻ; phát hiện
hôm trước ngày họp duyệt thì chỉ để hoãn họp.*