Về trang chủ
Cơ bản cho Intern
20/05/2026·4 phút đọc

Checklist BA gửi yêu cầu cho Dev & QA lần đầu Để không bị hỏi lại 7749 lần

Gửi requirement xong, tưởng đã ổn. 5 phút sau Dev hỏi:

Checklist BA gửi yêu cầu cho Dev & QA lần đầu Để không bị hỏi lại 7749 lần

Checklist BA gửi yêu cầu cho Dev & QA lần đầu

Để không bị hỏi lại 7749 lần

Một trong những khoảnh khắc “đau nhẹ” của BA mới là:

Gửi requirement xong, tưởng đã ổn.
5 phút sau khứa Dev hỏi:

“Case này xử lý sao?”
“Rule đâu?”
“Data lấy từ đâu?”

QA hỏi tiếp:

“Pass/fail thế nào?”
“Exception đâu?”
“Message lỗi là gì?”

=> Không phải Dev/QA khó tính.
=> Mà có thể requirement của bạn chưa đủ rõ để build và test.

Trước khi gửi yêu cầu lần đầu, BA nên tự check 10 mục này.


1️⃣ Requirement đã nói rõ user muốn gì chưa?

Đừng chỉ viết:

“Làm chức năng thanh toán.”

Hãy viết rõ:

User muốn thanh toán đơn hàng bằng ví điện tử để hoàn tất giao dịch online.

Công thức nhanh:

As a [user], I want [goal], so that [value].

Nếu không rõ user – goal – value, Dev sẽ không hiểu mục tiêu thật.


2️⃣ Scope đã rõ chưa?

Phải có cả:

In-scope

  • Làm gì trong phase này

Out-of-scope

  • Chưa làm gì trong phase này

Ví dụ:

In-scope:

  • Thanh toán bằng ví điện tử

  • Xử lý success / failed / timeout

Out-of-scope:

  • Thanh toán quốc tế

  • Trả góp

  • Loyalty point payment

Không có out-of-scope = change request rất dễ xuất hiện.


3️⃣ Business Rule đã tách riêng chưa?

Đừng chôn rule trong flow.

Ví dụ:

Business Rules

  • BR-01: Một order chỉ có một payment thành công.

  • BR-02: Payment timeout sau 60 giây.

  • BR-03: User không được retry nếu order đã Paid.

Rule rõ → Dev không đoán, QA dễ viết test case.


4️⃣ Flow đã đủ happy case chưa?

Flow nên viết theo bước ngắn gọn:

  1. User chọn phương thức thanh toán.

  2. User xác nhận thanh toán.

  3. System gửi request sang payment gateway.

  4. Gateway trả kết quả.

  5. System cập nhật trạng thái đơn hàng.

  6. System hiển thị kết quả cho user.

Flow không cần văn chương. Flow cần rõ thứ tự.


5️⃣ Exception Flow đã có chưa?

Happy case không đủ.

BA cần ghi các case xấu:

  • User nhập sai dữ liệu

  • Network fail

  • API timeout

  • Double click

  • Dữ liệu thay đổi giữa chừng

  • Hệ thống thứ ba trả lỗi

  • Callback về trễ hoặc về nhiều lần

80% bug thường nằm ở exception, không nằm ở happy flow.


6️⃣ Acceptance Criteria đã test được chưa?

AC không nên viết kiểu:

“Hệ thống xử lý chính xác.”

Hãy viết rõ:

  • Nếu payment success → order status = Paid.

  • Nếu payment failed → order status = Pending Payment.

  • Nếu timeout sau 60 giây → hiển thị “Payment is being processed.”

  • User không bị charge 2 lần cho cùng một order.

AC test được = QA biết pass/fail.


7️⃣ Data cần hiển thị / lưu / cập nhật đã rõ chưa?

BA nên ghi rõ:

  • Field nào cần hiển thị?

  • Field nào bắt buộc?

  • Data lấy từ hệ thống nào?

  • Khi thao tác thành công, field nào được cập nhật?

  • Có trạng thái nào thay đổi không?

Ví dụ:

orderId
paymentId
transactionId
paymentStatus
amount
createdAt
updatedAt

Không rõ data = Dev phải tự đoán mapping.


8️⃣ API / Integration có liên quan không?

Nếu có hệ thống khác tham gia, phải ghi rõ:

  • Tích hợp với hệ thống nào?

  • Gửi dữ liệu gì?

  • Nhận dữ liệu gì?

  • Nếu API lỗi thì xử lý sao?

  • Có retry không?

  • Có callback/webhook không?

Ví dụ:

Order Service → Payment Gateway → Callback → Order Service

Integration là nơi rất dễ phát sinh bug nếu requirement mơ hồ.


9️⃣ NFR đã có chưa?

Đừng chỉ viết functional requirement.

Cần thêm NFR như:

Performance

  • API phản hồi trong ≤ 3 giây với 95% request.

Security

  • Giao dịch trên 5 triệu cần OTP.

Availability

  • Payment service uptime 99.9%.

Audit Log

  • Mọi thay đổi trạng thái payment phải được log.

Hệ thống chạy được chưa chắc đã chạy tốt.


🔟 Message / UX state đã rõ chưa?

Dev và QA rất cần phần này.

BA nên ghi:

  • Success message là gì?

  • Error message là gì?

  • Loading state hiển thị thế nào?

  • Empty state hiển thị gì?

  • User có được retry không?

Ví dụ:

  • Success: “Thanh toán thành công.”

  • Timeout: “Giao dịch đang được xử lý. Vui lòng không đóng ứng dụng.”

  • Failed: “Thanh toán thất bại. Vui lòng thử lại.”

Message rõ giúp giảm hiểu nhầm cho user và giảm ticket CSKH.


✅ Checklist 30 giây trước khi gửi requirement

Trước khi gửi cho Dev & QA, hãy tự tick:

  • User story / mục tiêu đã rõ

  • In-scope / Out-of-scope đã rõ

  • Business Rule đã tách riêng

  • Happy flow đã đủ

  • Exception flow đã có

  • Acceptance Criteria test được

  • Data field / status đã rõ

  • API / integration đã ghi

  • NFR đã có

  • Message / UX state đã rõ

Nếu chưa tick đủ, khả năng cao bạn sẽ bị hỏi lại.


Kết

BA không cần viết tài liệu thật dài.
BA cần gửi requirement đủ rõ để Dev build, QA test, stakeholder review được.

Một requirement tốt không làm team im lặng vì “ngại hỏi”.
Nó làm team im lặng vì:

“Ok, rõ rồi. Làm được.”

Nếu bạn là newbie ITBA, hãy lưu checklist này lại.
Trước mỗi lần gửi requirement cho Dev & QA, mở ra check một lượt.

Bài viết liên quan