init git
This commit is contained in:
140
.claude/skills/ba-2-analysis/examples.md
Normal file
140
.claude/skills/ba-2-analysis/examples.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# Ví dụ minh hoạ — `ba-2-analysis`
|
||||
|
||||
Tách khỏi `SKILL.md` để quy trình không lẫn ví dụ của một ngành cụ thể.
|
||||
|
||||
---
|
||||
|
||||
## Bước 2 · Cây phân rã ba tầng
|
||||
|
||||
Không nhảy cóc từ `RQ` xuống `US`.
|
||||
|
||||
### Bán lẻ — đối soát POS
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
RQ["RQ-007 Phát hiện chênh lệch<br/>trong ngày phát sinh"] --> E02["EPIC-02 Đối soát POS"]
|
||||
E02 --> F05["FEAT-05 Nhập dữ liệu POS"]
|
||||
E02 --> F06["FEAT-06 So khớp và xử lý"]
|
||||
F05 --> U11(["US-011 Tải lên file POS hằng ngày"])
|
||||
F05 --> U12(["US-012 Xem kết quả nhập và lỗi từng dòng"])
|
||||
F06 --> U13(["US-013 Xem danh sách chênh lệch"])
|
||||
F06 --> U14(["US-014 Ghi chú và đóng một chênh lệch"])
|
||||
```
|
||||
|
||||
### Y tế — đặt lịch khám
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
RQ["RQ-003 Biết ngay slot<br/>còn trống hay không"] --> E01["EPIC-01 Đặt lịch trực tuyến"]
|
||||
E01 --> F01["FEAT-01 Tra cứu slot"]
|
||||
E01 --> F02["FEAT-02 Giữ chỗ và xác nhận"]
|
||||
F01 --> U01(["US-001 Xem slot trống theo chuyên khoa và ngày"])
|
||||
F01 --> U02(["US-002 Lọc slot theo bác sĩ"])
|
||||
F02 --> U03(["US-003 Giữ slot tạm 10 phút khi đang điền"])
|
||||
F02 --> U04(["US-004 Xác nhận đặt lịch, nhận mã hẹn"])
|
||||
```
|
||||
|
||||
### Use case của cùng module y tế — hình mang vào buổi duyệt G2
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
BN(["👤 Bệnh nhân"])
|
||||
DD(["👤 Điều dưỡng tiếp nhận"])
|
||||
|
||||
subgraph HT["Phạm vi US-001 … US-004"]
|
||||
UC01(["US-001 Xem slot trống"])
|
||||
UC02(["US-002 Lọc theo bác sĩ"])
|
||||
UC03(["US-003 Giữ slot tạm"])
|
||||
UC04(["US-004 Xác nhận đặt lịch"])
|
||||
end
|
||||
|
||||
BHYT[["Hệ thống BHYT — ngoài phạm vi"]]
|
||||
|
||||
BN --- UC01
|
||||
BN --- UC02
|
||||
BN --- UC03
|
||||
BN --- UC04
|
||||
DD --- UC01
|
||||
DD --- UC04
|
||||
UC04 --- BHYT
|
||||
```
|
||||
|
||||
Cùng một phạm vi, hai góc nhìn: cây phân rã cho BA truy vết `RQ → US`; use case cho PO thấy
|
||||
**ai làm được gì** trong một hình.
|
||||
|
||||
🔴 `US-003` là US mà **chỉ có AS-IS mới lộ ra**: quan sát thấy hai bệnh nhân cùng chọn một
|
||||
slot rồi một người bị gọi lại báo huỷ. Không quan sát thì không ai nghĩ tới việc giữ chỗ tạm.
|
||||
|
||||
---
|
||||
|
||||
## Bước 2 · Tách US quá lớn — bốn cách, theo thứ tự
|
||||
|
||||
| Cách | Ví dụ |
|
||||
|---|---|
|
||||
| **1. Theo luồng nghiệp vụ** | "Quản lý cửa hàng" → tạo · sửa · xoá · xem = bốn US |
|
||||
| **2. Theo quy tắc** | "Đặt lịch" → luồng thường / luồng bệnh nhân BHYT (cần tra cứu thẻ) |
|
||||
| **3. Theo dữ liệu** | "Nạp dữ liệu" → nguồn POS trước, nguồn ERP sau |
|
||||
| **4. Theo vai trò** | "Xử lý chênh lệch" → người ghi chú / người phê duyệt đóng |
|
||||
|
||||
❌ **Không tách theo tầng kỹ thuật.** "US làm API" + "US làm giao diện" không giao được mẩu
|
||||
giá trị nào chạy được đầu-cuối — và không ai nghiệm thu được từng cái riêng.
|
||||
|
||||
---
|
||||
|
||||
## Bước 3 · Nguồn của rule quyết định độ cứng
|
||||
|
||||
| Rule | Domain | Nguồn | Được đề xuất bỏ không |
|
||||
|---|---|---|---|
|
||||
| "Hồ sơ bệnh án lưu tối thiểu 10 năm" | Y tế | 🔴 Quy định pháp luật | Không — chỉ tuân thủ, ghi rõ điều khoản |
|
||||
| "Chênh lệch > 10 triệu cần trưởng phòng duyệt" | Bán lẻ | 🟠 Chính sách công ty | Có, qua cấp ký chính sách |
|
||||
| "Mã cửa hàng phải viết hoa" | Bán lẻ | 🟢 Thói quen nội bộ | Có — **và nên hỏi**, thường không ai nhớ vì sao có |
|
||||
|
||||
Hỏi nguồn của mọi rule. Ba loại này có độ cứng hoàn toàn khác nhau, và gộp chúng lại làm mất
|
||||
khả năng đàm phán ở đúng chỗ đáng đàm phán.
|
||||
|
||||
---
|
||||
|
||||
## Bước 3 · Công thức tính toán — chỗ hay sai
|
||||
|
||||
```
|
||||
BR-045 | Chênh lệch đối soát
|
||||
Công thức: tổng POS − tổng hệ thống
|
||||
Đơn vị: VND
|
||||
🔴 Thứ tự: làm tròn TỪNG DÒNG tới đơn vị rồi mới cộng
|
||||
(khác với cộng rồi làm tròn — lệch tới vài nghìn đồng/ngày)
|
||||
Múi giờ: giao dịch tính theo ngày làm việc của cửa hàng (UTC+7),
|
||||
KHÔNG theo timestamp UTC của bản ghi
|
||||
Ví dụ: 1.234.567 − 1.234.000 = 567
|
||||
```
|
||||
|
||||
Ba thứ phải ghi rõ ở mọi công thức, ở mọi domain: **thứ tự phép tính** · **làm tròn ở bước
|
||||
nào** · **múi giờ / đơn vị**.
|
||||
|
||||
---
|
||||
|
||||
## Bước 4 · Ma trận phân quyền — hỏi câu phủ định
|
||||
|
||||
Ma trận toàn ✅ nghĩa là chưa phân tích. Hỏi *"vai trò nào KHÔNG được làm việc này?"*
|
||||
|
||||
| Hành động | Nhân viên | Trưởng nhóm | Kế toán | Admin |
|
||||
|---|---|---|---|---|
|
||||
| Xem danh sách | 🔶 chỉ cửa hàng phụ trách | ✅ | ✅ | ✅ |
|
||||
| Duyệt chênh lệch | ❌ | 🔶 **không tự duyệt bản ghi mình tạo** *(SoD-01)* | ❌ | ❌ |
|
||||
| Xuất dữ liệu | 🔶 cần nhập lý do | ✅ | ✅ | ✅ |
|
||||
|
||||
Chú ý ô Admin ở dòng "Duyệt": ❌. Admin có mọi quyền kỹ thuật nhưng **không có thẩm quyền
|
||||
nghiệp vụ** — đây là chỗ ma trận hay bị điền sai theo quán tính.
|
||||
|
||||
Ô `🔶` **bắt buộc ghi điều kiện ngay trong ô**. `🔶` trống là ô chưa phân tích xong.
|
||||
|
||||
---
|
||||
|
||||
## Bước 5 · Dữ liệu cũ — ba lựa chọn, phải chọn một
|
||||
|
||||
| Domain | Tình huống | Lựa chọn | Chi phí kèm theo |
|
||||
|---|---|---|---|
|
||||
| Bán lẻ | Thêm cột "loại cửa hàng", 12.000 bản ghi cũ null | **Migrate** — điền `THƯỜNG` | Script + đối chiếu count sau khi chạy |
|
||||
| Y tế | Đổi quy tắc mã hồ sơ từ 2026 | **Song song** — hồ sơ cũ giữ mã cũ | Quy tắc phân biệt phải hiển thị được cho điều dưỡng |
|
||||
| Logistics | Thêm trường "nhiệt độ" cho lô hàng lạnh | **Giữ nguyên** — lô cũ không có | Chấp nhận báo cáo trước 2026 không có cột này; **phải báo người đọc báo cáo** |
|
||||
|
||||
"Sẽ xử lý sau" không phải câu trả lời. Chưa đủ thông tin để chọn ⇒ `OQ` có người và có hạn.
|
||||
Reference in New Issue
Block a user