6.1 KiB
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
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
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
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.