Về trang chủ
Kỹ năng thực hành
20/06/2026·7 phút đọc

Quy trình phân tích một yêu cầu từ đầu đến cuối để làm User Story, Use Case, SRS

Nếu bạn đã học User Story, Use Case, SRS rồi nhưng khi bắt tay vào viết tài liệu vẫn bị rối, thì nguyên nhân thường không phải do bạn “chưa học đủ”.

Quy trình phân tích một yêu cầu từ đầu đến cuối để làm User Story, Use Case, SRS

Nếu bạn đã học User Story, Use Case, SRS rồi nhưng khi bắt tay vào viết tài liệu vẫn bị rối, thì nguyên nhân thường không phải do bạn “chưa học đủ”.

Mà là bạn chưa có quy trình phân tích yêu cầu từ đầu đến cuối.

Nhiều bạn mới học BA hay bị kiểu:

  • Không biết nên vẽ flow trước hay viết user story trước

  • Không biết lúc nào viết Use Case

  • Không biết SRS gồm những gì

  • Không biết stakeholder nói xong thì mình phải làm bước nào tiếp theo

Thực tế, bạn không nên bắt đầu bằng việc “viết tài liệu”.

Bạn nên bắt đầu bằng việc hiểu yêu cầu trước, rồi mới chọn tài liệu phù hợp để mô tả lại.

Dưới đây là một quy trình đơn giản, dễ áp dụng cho newbie.


1. Bước đầu tiên: Hiểu bối cảnh và mục tiêu

Khi nhận một yêu cầu, đừng vội viết ngay.

Ví dụ stakeholder nói:

“Anh muốn thêm chức năng quên mật khẩu.”

BA mới thường ghi ngay:

Hệ thống cần có chức năng quên mật khẩu.

Nhưng BA nên hỏi trước:

  • Vì sao cần chức năng này?

  • Hiện tại user đang gặp vấn đề gì?

  • Ai là người dùng chính?

  • Mục tiêu là giảm ticket CS, tăng trải nghiệm, hay tăng bảo mật?

  • Tính năng này áp dụng cho web, mobile app hay cả hai?

Đây là bước xác định Business Need.

Nếu chưa hiểu “vì sao cần làm”, bạn rất dễ viết tài liệu đúng câu chữ nhưng sai mục tiêu.


2. Bước thứ hai: Xác định phạm vi

Sau khi hiểu mục tiêu, BA cần làm rõ:

Tính năng này làm đến đâu, không làm đến đâu?

Ví dụ với “Quên mật khẩu”, phạm vi có thể là:

Trong scope:

  • User nhập số điện thoại

  • Nhận OTP

  • Xác thực OTP

  • Tạo mật khẩu mới

Ngoài scope:

  • Reset bằng email

  • Reset qua tổng đài

  • Xác thực bằng eKYC

Bước này rất quan trọng vì nếu không chốt scope sớm, yêu cầu sẽ phình ra liên tục.

Newbie BA nên nhớ:

Scope rõ thì tài liệu phía sau mới rõ.


3. Bước thứ ba: Vẽ flow trước khi viết chữ

Đây là lời khuyên rất thực tế:

Trước khi viết Use Case, User Story hay SRS, hãy vẽ flow trước.

Flow giúp bạn nhìn được:

  • User bắt đầu từ đâu

  • Hệ thống xử lý gì

  • Có bao nhiêu bước

  • Chỗ nào có điều kiện rẽ nhánh

  • Chỗ nào có lỗi hoặc exception

Ví dụ flow “Quên mật khẩu”:

  1. User chọn Quên mật khẩu

  2. User nhập số điện thoại

  3. Hệ thống kiểm tra số điện thoại

  4. Hệ thống gửi OTP

  5. User nhập OTP

  6. Hệ thống xác thực OTP

  7. User tạo mật khẩu mới

  8. Hệ thống cập nhật mật khẩu

Khi đã có flow, bạn sẽ đỡ rối hơn rất nhiều.

Vì lúc đó bạn không còn viết theo cảm giác, mà viết theo luồng xử lý.


4. Bước thứ tư: Làm rõ Rule, Data, Exception

Sau khi có flow, BA phải bóc sâu từng bước theo 3 nhóm:

Rule – Quy định nghiệp vụ

Ví dụ:

  • OTP có hiệu lực bao lâu?

  • Nhập sai OTP bao nhiêu lần thì khóa?

  • Mật khẩu mới cần rule gì?

  • User bị khóa tài khoản có được reset không?

Data – Dữ liệu

Ví dụ:

  • User nhập số điện thoại hay username?

  • OTP lưu ở đâu?

  • Có lưu lịch sử reset mật khẩu không?

  • Có cần gửi notification sau khi đổi mật khẩu không?

Exception – Trường hợp lỗi

Ví dụ:

  • Số điện thoại không tồn tại

  • OTP hết hạn

  • OTP sai quá số lần

  • Hệ thống gửi OTP thất bại

  • User thoát giữa chừng

Đây là bước rất quan trọng.

Vì tài liệu BA không chỉ mô tả lúc mọi thứ chạy đúng, mà còn phải mô tả khi mọi thứ đi sai.


5. Bước thứ năm: Chọn loại tài liệu phù hợp

Sau khi đã hiểu flow, rule, data, exception, lúc này bạn mới chọn viết tài liệu.

Đừng hỏi ngay:

“Em nên viết User Story hay Use Case trước?”

Hãy hỏi:

“Yêu cầu này cần mô tả ở mức nào?”

Nếu dự án Agile, tính năng nhỏ, cần chia backlog:

Bạn có thể viết User Story.

Ví dụ:

As a user, I want to reset my password using OTP so that I can regain access to my account.

Sau đó viết Acceptance Criteria.

Nếu flow phức tạp, nhiều nhánh, nhiều rule:

Bạn nên viết Use Case.

Ví dụ:

Use Case: Reset Password via OTP

Gồm:

  • Actor

  • Pre-condition

  • Main Flow

  • Alternative Flow

  • Exception Flow

  • Post-condition

  • Business Rules

Nếu dự án cần tài liệu tổng thể, formal, làm outsource hoặc waterfall:

Bạn có thể gom vào SRS.

SRS thường gồm:

  • Scope

  • Functional Requirement

  • Non-functional Requirement

  • Use Case

  • Business Rules

  • Data Requirement

  • UI/UX reference

  • Acceptance Criteria

Tóm lại:

User Story, Use Case, SRS không phải thứ để chọn ngẫu nhiên.
Chúng là cách khác nhau để mô tả yêu cầu sau khi bạn đã phân tích đủ.


6. Bước thứ sáu: Viết Acceptance Criteria để chốt đúng/sai

Dù bạn viết User Story hay Use Case, cuối cùng vẫn cần có tiêu chí kiểm tra.

Ví dụ:

  • Given user nhập số điện thoại đã đăng ký

  • When user yêu cầu gửi OTP

  • Then hệ thống gửi OTP thành công trong 60 giây

Hoặc:

  • Given OTP đã hết hạn

  • When user nhập OTP đó

  • Then hệ thống từ chối và hiển thị thông báo “OTP đã hết hạn”

Acceptance Criteria giúp:

  • Dev hiểu khi nào code xong

  • QA biết test thế nào

  • Stakeholder biết hệ thống chạy đúng ra sao

Nếu requirement không có AC, rất dễ rơi vào tình trạng:

“Em tưởng là như vậy.”


7. Bước cuối: Review và xác nhận lại

Sau khi viết xong, BA không nên im lặng gửi tài liệu rồi chờ mọi người tự hiểu.

Bạn nên review với từng nhóm:

Với stakeholder:

  • Flow này có đúng nghiệp vụ không?

  • Rule này đã đúng chưa?

  • Có thiếu exception nào không?

Với Dev:

  • Có đủ thông tin để estimate chưa?

  • Có điểm nào chưa rõ về API, data, rule không?

Với QA:

  • AC đã đủ để viết test case chưa?

  • Exception flow đã đủ chưa?

Sau đó BA cần chốt lại bằng recap:

“Em xác nhận lại: tính năng này sẽ xử lý theo flow A, rule B, exception C. Các phần X/Y hiện chưa nằm trong scope.”

Đây là cách tránh hiểu nhầm trước khi Dev code.


Quy trình đơn giản để newbie nhớ

Khi nhận một yêu cầu, hãy đi theo thứ tự này:

  1. Hiểu bối cảnh và mục tiêu

  2. Xác định scope

  3. Vẽ flow

  4. Bóc rule, data, exception

  5. Chọn tài liệu phù hợp: User Story / Use Case / SRS

  6. Viết Acceptance Criteria

  7. Review và xác nhận lại

Đừng bắt đầu bằng việc mở template SRS lên và điền.

Hãy bắt đầu bằng việc hiểu bài toán.


Ví dụ dễ nhớ

Stakeholder nói:

“Anh muốn làm chức năng quên mật khẩu.”

BA không nên ghi ngay:

Requirement: Hệ thống cho phép user quên mật khẩu.

BA nên xử lý như sau:

  • Mục tiêu: giúp user tự lấy lại quyền truy cập

  • Scope: reset qua OTP SMS

  • Flow: nhập số điện thoại → nhận OTP → tạo mật khẩu mới

  • Rule: OTP 60 giây, sai 5 lần thì khóa

  • Exception: OTP hết hạn, số điện thoại không tồn tại, gửi OTP lỗi

  • Tài liệu: Use Case + User Story + AC

  • Review: xác nhận với stakeholder, Dev, QA

Như vậy, từ một câu nói rất ngắn, BA đã biến nó thành requirement rõ ràng, có thể làm và có thể test.


Tóm lại

Newbie BA bị rối không phải vì User Story, Use Case hay SRS quá khó.

Bạn bị rối vì chưa có thứ tự phân tích.

Hãy nhớ:

Flow trước.
Rule sau.
Exception sau nữa.
Rồi mới viết tài liệu.

BA giỏi không phải người viết nhiều tài liệu nhất.

BA giỏi là người biết biến một yêu cầu mơ hồ thành một mô tả đủ rõ để:

  • Business xác nhận được

  • Dev làm được

  • QA test được

  • User dùng được

Bài viết liên quan