init git
This commit is contained in:
101
.claude/skills/sa-3-enablement/templates/tech-debt-register.md
Normal file
101
.claude/skills/sa-3-enablement/templates/tech-debt-register.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# TDEBT — Technical Debt Register — <PROJECT>
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Cập nhật** | YYYY-MM-DD |
|
||||
| **Author** | <SA> (skill sa-3-enablement) |
|
||||
| **Scope** | |
|
||||
|
||||
> **Đây là sổ sống** — ghi thêm liên tục, không lên version. Mục đóng vẫn giữ lại.
|
||||
|
||||
---
|
||||
|
||||
## 1. Tóm tắt
|
||||
|
||||
| | Số mục | Tổng lãi suất/tháng | Tổng chi phí trả nợ |
|
||||
|---|---|---|---|
|
||||
| 🔴 Cao | | … ngày công/tháng | … ngày công |
|
||||
| 🟠 Trung bình | | | |
|
||||
| 🟡 Thấp | | | |
|
||||
| ✅ Đã trả | | — | — |
|
||||
|
||||
**Ba mục nên trả trước** *(lãi suất cao / chi phí trả thấp)*: `TD-…`, `TD-…`, `TD-…`
|
||||
|
||||
🔴 **Cột "lãi suất" là cột làm cho nợ được ưu tiên.** Không có nó, sổ nợ chỉ tăng không giảm.
|
||||
Viết bằng ngôn ngữ PM hiểu: *"mỗi tính năng chạm module này tốn thêm 2 ngày"*, *"gây trung bình
|
||||
1 sự cố/tháng"*.
|
||||
|
||||
## 2. Phân loại
|
||||
|
||||
| Loại | Nghĩa | Xử lý |
|
||||
|---|---|---|
|
||||
| 🎯 **Có ý thức, có kế hoạch** | Chấp nhận để kịp mốc, biết rõ sẽ sửa khi nào | Ghi hạn, theo dõi |
|
||||
| 🌫️ **Có ý thức, chưa có kế hoạch** | Biết là sai, chưa biết sửa thế nào | Ghi, đưa vào `TRM` |
|
||||
| 💥 **Vô ý** | Phát hiện qua review hoặc `FIT` đỏ | Đánh giá rồi xếp vào 2 loại trên |
|
||||
| ⚠️ **Do kiến trúc sai** | Thiết kế không khả thi | **Không phải nợ** — mở `ADR` mới, đừng ghi ở đây |
|
||||
|
||||
## 3. Sổ nợ
|
||||
|
||||
| ID | Mô tả | Loại | Nguồn | Vì sao chấp nhận | **Lãi suất** | Chi phí trả | Mức | Chủ | Hạn xét lại | Trạng thái |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| `TD-01` | | 🎯 | `DREV-012` | | +2 ngày/tính năng chạm module | 5 ngày công | 🔴 | | | Mở |
|
||||
| `TD-02` | | 💥 | `FIT-01` đỏ, 12 vi phạm | | | | | | | |
|
||||
|
||||
**Trạng thái:** Mở · Đang trả · Đã trả (kèm ngày) · Đã chuyển thành `ADR` · Chấp nhận vĩnh viễn
|
||||
|
||||
🔴 Mục "sẽ sửa sau" không có **chủ** và **hạn** ⇒ không phải mục nợ hợp lệ, chặn AG3.
|
||||
|
||||
## 4. Chi tiết mục mức cao
|
||||
|
||||
### `TD-01` — <tên>
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Lệch so với** | `ADR-nnn` / `AGD` §… / `QAS-nnn` |
|
||||
| **Ở đâu trong code** | `<đường dẫn>` |
|
||||
| **Ai chấp nhận · ngày** | |
|
||||
| **Vì sao chấp nhận** | *(lý do thật: mốc nào, đánh đổi gì)* |
|
||||
| **Lãi suất** | *(con số)* |
|
||||
| **Rủi ro nếu để lâu** | |
|
||||
| **Cách trả** | *(các bước cụ thể)* |
|
||||
| **Chi phí trả** | … ngày công |
|
||||
| **Điều kiện phải trả ngay** | *(dấu hiệu nào thì không hoãn được nữa)* |
|
||||
| **Ngoại lệ trong `FIT`** | `FIT-nn` whitelist mục … · hạn … |
|
||||
|
||||
🔴 **Whitelist trong `FIT` phải có hạn.** Whitelist không hạn là cách biến nợ tạm thời thành
|
||||
kiến trúc vĩnh viễn.
|
||||
|
||||
## 5. Nợ đã trả
|
||||
|
||||
| ID | Mô tả | Trả ngày | Chi phí thực tế | So với ước lượng | Bài học |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
*Cột "so với ước lượng" giúp lần sau ước lượng đúng hơn. Nợ thường tốn hơn ước lượng ban đầu
|
||||
khoảng 1,5–2 lần.*
|
||||
|
||||
## 6. Nợ chấp nhận vĩnh viễn
|
||||
|
||||
*Nợ quyết định không trả. Ghi lại để người sau không mất thời gian điều tra "sao chỗ này lạ vậy".*
|
||||
|
||||
| ID | Mô tả | Vì sao không trả | Ai quyết · ngày | Cần biết gì khi động vào chỗ này |
|
||||
|---|---|---|---|---|
|
||||
|
||||
## 7. Trình bày cho PM / PO
|
||||
|
||||
*Bảng này dùng để đưa nợ vào sprint. Dịch sang ngôn ngữ tiến độ và rủi ro.*
|
||||
|
||||
| Nợ | Đang làm chậm cái gì | Chậm bao nhiêu | Trả mất | Hoà vốn sau |
|
||||
|---|---|---|---|---|
|
||||
| `TD-01` | mọi tính năng chạm module Order | +2 ngày/tính năng | 5 ngày | 3 tính năng |
|
||||
|
||||
**Câu hỏi trình PM:** *"Quý tới có bao nhiêu tính năng chạm module Order?"* — nếu ≥ 3 thì trả
|
||||
nợ ngay là lựa chọn rẻ hơn, và PM tự thấy điều đó.
|
||||
|
||||
## 8. Rà định kỳ
|
||||
|
||||
| Việc | Tần suất | Ai | Lần gần nhất |
|
||||
|---|---|---|---|
|
||||
| Rà mục quá hạn xét lại | 2 tuần/lần | SA | |
|
||||
| Cập nhật lãi suất theo thực tế | hàng tháng | SA + Tech Lead | |
|
||||
| Rà whitelist `FIT` hết hạn | hàng tháng | SA | |
|
||||
| Trình bảng §7 cho PM | mỗi lần lập kế hoạch sprint/quý | SA | |
|
||||
Reference in New Issue
Block a user