Scenario là đầu vào quan trọng cho Design trong vòng lặp Scenario-Driven (SDD) và cũng là nền tảng để chọn phạm vi theo SMALL.
Mục tiêu
- Chuẩn hoá định dạng scenario để dùng chung giữa nghiệp vụ và người cấu hình app
- Xác định “đủ rõ để build” (quality bar) trước khi bắt đầu cấu hình
- Tránh các lỗi phổ biến: mô tả mơ hồ, trộn giải pháp vào yêu cầu, scope phình to
Scenario là gì?
Một scenario mô tả một luồng công việc cụ thể theo góc nhìn người dùng (actor), từ lúc kích hoạt (trigger) đến kết quả (outcome). Scenario tập trung vào:- Ai thực hiện (actor/role)
- Vì sao bắt đầu (trigger)
- Các bước chính cần xảy ra (main steps)
- Ngoại lệ quan trọng (exceptions)
- Kết quả mong muốn (outcome + success criteria)
Scenario không phải tài liệu “kể chuyện”. Scenario là mô tả có cấu trúc để chuyển thành dữ liệu, UI và workflow.
Định dạng scenario tối thiểu
Khuyến nghị dùng format sau cho mỗi scenario:1) Tên scenario
Ngắn gọn và hành động rõ: “Tạo yêu cầu mua”, “Phê duyệt yêu cầu mua”, “Procurement cập nhật trạng thái mua sắm”.2) Actor và mục tiêu
- Actor: vai trò thực hiện (Requester/Approver/Procurement…)
- Mục tiêu: kết quả mà actor cần đạt
3) Trigger và điều kiện trước
- Trigger: sự kiện bắt đầu (nhân viên cần mua hàng)
- Preconditions: điều kiện cần có (đã đăng nhập, có quyền tạo yêu cầu…)
4) Luồng chính (Main flow)
Danh sách bước theo thứ tự, mỗi bước nên có:- hành động của actor
- hệ thống phản hồi/ghi nhận gì
- trạng thái thay đổi (nếu có)
5) Ngoại lệ quan trọng (Exceptions)
Chỉ giữ 1–3 ngoại lệ “đáng tiền” cho vòng đầu, ví dụ:- thiếu thông tin bắt buộc
- bị từ chối phê duyệt
- vượt ngưỡng chi phí cần escalations (nếu có)
6) Outcome và tiêu chí thành công
- Outcome: trạng thái kết thúc (Approved/Rejected/Closed…)
- Success criteria: cách biết scenario hoàn thành (ví dụ: trạng thái cập nhật, người liên quan được thông báo, log/audit có đủ)
Ví dụ scenario (Purchase Request)
Scenario: Gửi Purchase Request để xin phê duyệt
- Actor: Requester
- Mục tiêu: tạo yêu cầu mua và gửi để phê duyệt
- Trigger: phát sinh nhu cầu mua hàng
- Preconditions: có quyền tạo Purchase Request
- Requester tạo bản ghi Purchase Request (nhập tiêu đề, mô tả, loại mua, chi phí dự kiến)
- Hệ thống lưu bản ghi ở trạng thái Draft
- Requester gửi yêu cầu → chuyển trạng thái Pending Approval
- Hệ thống thông báo cho Approver
- Nếu thiếu thông tin bắt buộc → hệ thống chặn gửi và hiển thị lỗi
- Nếu Requester không có quyền gửi → hệ thống ẩn hành động hoặc chặn thao tác
- Yêu cầu ở trạng thái Pending Approval và Approver nhận được thông báo
Ví dụ trên cố ý giữ “tối thiểu chạy được”. Các biến thể ít gặp nên đưa vào backlog thay vì đưa vào vòng đầu.
Quality bar: “Đủ rõ để build”
Một scenario được coi là ready khi:- Actor và trigger rõ ràng (không mơ hồ)
- Có danh sách bước chính có thứ tự
- Có outcome cụ thể và có thể kiểm chứng
- Vai trò liên quan đã được nêu (ít nhất vai trò chính)
- Có tối đa 1–3 ngoại lệ quan trọng cho vòng đầu
- Có dữ liệu tối thiểu cần thu thập (các trường bắt buộc đã biết)
Từ scenario sang cấu hình Cleeksy (mapping tối thiểu)
Scenario tốt giúp xác định nhanh các cấu phần:- Danh từ nghiệp vụ → Entities/Fields (Purchase Request, Supplier, Item…)
- Bước công việc / trạng thái → Workflow states & transitions
- Actor → Roles/Permissions
- Điều kiện / policy → validation/protection/role gates
- Kết quả cần theo dõi → dashboard/metrics (khi cần)
Lỗi phổ biến và cách tránh
1) Trộn giải pháp vào yêu cầu
- Sai: “Cần có Kanban và dashboard”
- Đúng: “Cần theo dõi trạng thái theo cột và có tổng số yêu cầu theo trạng thái”
2) Mô tả chung chung
- Sai: “Procurement xử lý mua hàng”
- Đúng: “Procurement cập nhật trạng thái In Procurement → Completed và ghi số PO (nếu có)”
3) Quá nhiều ngoại lệ ở vòng đầu
- Dấu hiệu: workflow có quá nhiều nhánh và điều kiện ngay từ đầu
- Cách xử lý: đưa ngoại lệ ít gặp vào backlog, chỉ giữ ngoại lệ quan trọng
4) Không xác định “xong việc” là gì
- Dấu hiệu: không có trạng thái kết thúc hoặc không có tiêu chí kiểm chứng
- Cách xử lý: thêm outcome + success criteria
Bước tiếp theo
- Chọn phạm vi theo SMALL: Chọn Value Slice theo SMALL
- Quyết định ranh giới app: Ranh giới App
- Tổ chức delivery theo SDD: SDD là gì
