Bỏ qua tới nội dung
Phạm Thủy
Quay lại

Requirement Quality và Validation cho BA

Note này giúp BA kiểm tra requirement được viết đủ tốt và đúng nhu cầu trước handoff. Verification hỏi “mô tả có chất lượng không”; validation hỏi “đây có phải điều stakeholder cần để đạt outcome không”.

Note này dùng để làm gì

Mở note sau synthesis, trước analysis/specification/backlog hoặc khi review phát hiện các bên hiểu cùng một câu theo nhiều cách.

1. Verification khác validation

Hoạt độngCâu hỏiEvidence
Verificationrequirement có clear, consistent, feasible, testable?peer/dev/test review, checklist, example
Validationrequirement có giải đúng need/outcome trong context?stakeholder walkthrough, prototype/model, scenario playback

Một requirement viết hoàn hảo vẫn có thể giải sai problem. Sign-off chứng minh ai đã approve phiên bản nào, không tự chứng minh requirement đúng.

Requirement Quality và Validation — lifecycle có nhánh rework

State là model tham chiếu. Team có thể dùng workflow khác, nhưng transition phải có evidence và owner.

2. Quality criteria

CriterionTest nhanh
Necessarytrace được về need/objective không?
Atomiccâu có nhiều obligation nối bằng “và” không?
Clear/unambiguoushai reader độc lập có hiểu giống nhau không?
Feasibleconstraint/technology/time có cho phép không?
Consistentcó xung đột requirement/rule khác không?
Complete-enoughactor, condition, outcome, exception quan trọng đã có?
Testablecó thể quan sát pass/fail không?
Traceablesource, rationale, downstream artifact đã link chưa?

“Complete” phụ thuộc stage và risk; discovery không cần giả vờ có mọi chi tiết của SRS.

3. Running case: sửa requirement mơ hồ

Trước: “Hệ thống phải thông báo nhanh cho người dùng khi trạng thái thay đổi.”

Vấn đề: “nhanh”, “người dùng”, event và channel chưa rõ; cũng chưa trace need.

Sau review:

Khi approval owner đổi trạng thái một request, requester và người có action kế tiếp phải nhận được status mới, actor tạo thay đổi và action còn thiếu. Channel và delivery threshold đang là open question do Product/Operations sở hữu.

Note không bịa threshold để làm câu trông “testable”. Nó để lộ gap có owner.

Running case: ShopFlow

Áp quality criteria (§2) cho một requirement trong ShopFlow SF-3:

CriterionTest với requirement “hệ thống phải kiểm tra stock trước khi nhận order”
Necessary✅ Trace về objective Epic SF-1: giảm order vượt stock từ 3 lần/tháng xuống 0
Atomic✅ Một obligation duy nhất: check stock; không trộn với “và gửi email xác nhận”
Clear⚠️ “kiểm tra stock” chưa rõ: check tại thời điểm add to cart hay lúc submit? → làm rõ: check lúc submit
Feasible✅ Có SF-10 domain model với InventoryItem; backend check được
Consistent⚠️ Cần kiểm tra không xung đột với SF-15 (manual stock adjustment sau kiểm kho) — nếu stock điều chỉnh thủ công giữa lúc check và commit? → thêm rule atomic reserve SF-11
TestableSF-13 QA scenario: tạo order với 5 items, kho chỉ còn 3 → expect reject
Traceable✅ Source: interview chủ shop; downstream: SF-11 Stock Validation, SF-13 QA

Sửa requirement mơ hồ → rõ (theo pattern §3):

Trước (mơ hồ)Sau review (có context + measure)
“Hệ thống phải kiểm tra hàng trước khi bán”Khi khách submit order (SF-3), hệ thống phải kiểm tra availableStock của từng OrderItem trong một transaction. Nếu bất kỳ item nào có availableStock < quantity, reject toàn bộ order với message “Sản phẩm [tên] chỉ còn [availableStock]” — không bán lẻ từng món. (AC SF-11)
“Hệ thống phải hiển thị trạng thái đơn hàng”Sau khi order được tạo, khách hàng và chủ shop phải xem được trạng thái hiện tại và lịch sử chuyển trạng thái (timestamp + actor). Các trạng thái: Pending Payment → Paid → Preparing → Shipped → Delivered. (SF-5 AC)
“Phải bảo mật”Payment mock (SF-4) không được lưu hoặc log bất kỳ thông tin thẻ nào. Chỉ log event “payment_attempt” với orderId, amount, status (success/failure), timestamp.

Validation technique cho ShopFlow (theo §4):

Cần validateTechniqueShopFlow áp dụng
wording/rule của SF-11 atomic stockwalkthrough + concrete examplesdemo 3 scenario: đủ stock, thiếu 1 item, thiếu tất cả — chủ shop xác nhận behavior
flow order status transitionstate machine simulationchạy từng transition Pending Payment→Paid→…; phát hiện thiếu transition “cancelled” sau Pending Payment
interaction catalog + order formlow-fi prototype SF-38, SF-43khách hàng sample thử browse + đặt hàng; phát hiện nút “Đặt hàng” quá nhỏ trên mobile
measurable acceptanceacceptance thinkingmỗi story có 2-3 AC testable; SF-13 QA checklist cover đủ happy + failure path
Cần validateTechnique
wording/rulewalkthrough + concrete examples
flow/exceptionmodel/scenario simulation
interactionlow-fidelity prototype
measurable acceptancetest/acceptance thinking
value/outcometrace to objective + stakeholder evidence

5. Anti-patterns

Anti-patternCách sửa
checklist theaterghi defect/evidence và disposition
im lặng = approverequest explicit confirmation và deadline
BA tự lấp số liệu thiếugiữ open question có owner
sign-off qua chat không versionlưu artifact/version/authority/date
review chỉ với businessthêm dev/test/operation theo risk

6. Checklist nhanh

References


Chia sẻ bài viết:

Bài trước
Requirement Elicitation cho BA
Bài sau
Requirements Workshop cho BA