Menu
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Đang tải...

Bài 20 — Requirements Classification Schema theo BABOK

Chương Trình Chứng Chỉ Business Analyst Hoàn Chỉnh Bài 20/60

Mở đầu — vì sao bài này quan trọng

Hãy tưởng tượng bạn vừa nhận một tài liệu yêu cầu dài 40 trang từ khách hàng. Trong đó lẫn lộn đủ thứ: "Chúng tôi muốn tăng doanh thu 30%", "Người dùng phải đăng nhập được bằng số điện thoại", "Hệ thống phải chịu tải 10.000 giao dịch mỗi giây", và "Khi nhân viên rời công ty, phải thu hồi quyền truy cập trong vòng 24 giờ". Bốn câu này nghe có vẻ cùng là "yêu cầu", nhưng thực ra chúng thuộc bốn tầng hoàn toàn khác nhau về bản chất, về người chịu trách nhiệm, và về thời điểm xuất hiện trong dự án. Nếu bạn gộp chúng vào cùng một rổ và xử lý như nhau, bạn sẽ gặp đủ loại rắc rối: developer hỏi "ai phê duyệt cái này?", QA không biết test thế nào, còn sponsor thì cảm thấy mục tiêu kinh doanh của họ bị bỏ quên giữa đống chi tiết kỹ thuật.

Đây chính là lý do BABOK Guide v3 đưa ra Requirements Classification Schema — một khung phân loại requirements thành các tầng rõ ràng. Một BA giỏi không chỉ thu thập yêu cầu, mà còn biết xếp đúng từng yêu cầu vào đúng tầng, vì mỗi tầng có ngôn ngữ riêng, đối tượng phê duyệt riêng, và cách quản lý riêng. Trong bài này, chúng ta sẽ đi sâu vào schema phân loại của BABOK — một kiến thức nền tảng mà mọi câu hỏi thi ECBA/CCBA/CBAP đều động đến, và quan trọng hơn, là thứ giúp bạn giao tiếp mạch lạc với cả phòng họp từ CEO cho tới lập trình viên.

Khái niệm cốt lõi

BABOK Guide v3 (mục 1.3) định nghĩa Requirements Classification Schema gồm bốn loại requirements xếp theo tầng từ trừu tượng (cao) tới cụ thể (thấp). Đây không phải bốn giai đoạn nối tiếp nhau, mà là bốn góc nhìn về nhu cầu, tồn tại song song trong suốt dự án và có quan hệ truy vết (traceability) với nhau.

Tầng 1 — Business Requirements (Yêu cầu nghiệp vụ)

Đây là tầng cao nhất, mô tả mục tiêu, mục đích và kết quả mong muốn ở cấp tổ chức. Nó trả lời câu hỏi "Vì sao chúng ta làm dự án này?" và "Doanh nghiệp muốn đạt được điều gì?". Business requirements được viết bằng ngôn ngữ kinh doanh, gắn với chiến lược, và thường đo bằng các chỉ số như doanh thu, chi phí, thị phần, mức độ tuân thủ.

Ví dụ: "Giảm 30% thời gian xử lý hồ sơ mở tài khoản để tăng tỷ lệ chuyển đổi khách hàng mới". Lưu ý: ở tầng này chúng ta chưa nói gì về giải pháp — chưa có "app", chưa có "màn hình", chưa có "API". Người sở hữu (owner) của tầng này thường là sponsor, ban lãnh đạo, hoặc product owner cấp cao.

Tầng 2 — Stakeholder Requirements (Yêu cầu của các bên liên quan)

Tầng này mô tả nhu cầu của một nhóm stakeholder cụ thể và những gì họ cần làm được để tương tác với giải pháp nhằm đạt mục tiêu kinh doanh ở Tầng 1. Nó đóng vai trò cầu nối giữa mục tiêu trừu tượng của doanh nghiệp và yêu cầu chi tiết của giải pháp.

Ví dụ: "Nhân viên giao dịch cần xem được toàn bộ hồ sơ khách hàng đang chờ xử lý trên một màn hình duy nhất" — đây là nhu cầu của nhóm "nhân viên giao dịch", phục vụ mục tiêu giảm thời gian xử lý ở Tầng 1. Trong các phương pháp Agile, user story thường nằm ở tầng này hoặc bắc cầu xuống Tầng 3. Owner thường là đại diện của từng nhóm người dùng (user representatives).

Tầng 3 — Solution Requirements (Yêu cầu giải pháp)

Đây là tầng mô tả năng lực và phẩm chất của giải pháp cần xây để đáp ứng stakeholder và business requirements. Đây là tầng "nặng" nhất với BA vì phần lớn công việc đặc tả nằm ở đây. BABOK chia Solution Requirements thành hai nhánh con:

  • Functional Requirements (FR — Yêu cầu chức năng): mô tả hành vi và thông tin mà giải pháp phải xử lý — hệ thống làm gì. Ví dụ: "Hệ thống cho phép người dùng đăng nhập bằng số điện thoại và mã OTP gửi qua SMS".
  • Non-Functional Requirements (NFR — Yêu cầu phi chức năng): mô tả chất lượng, ràng buộc về hiệu năng, bảo mật, khả dụng — hệ thống làm tốt đến mức nào. Ví dụ: "Hệ thống xử lý tối thiểu 10.000 giao dịch/giây với độ trễ dưới 200ms ở phân vị 95". (Lưu ý: chi tiết cách viết FR/NFR là chủ đề riêng của Bài 34 — ở đây ta chỉ định vị chúng trong schema.)

Tầng 4 — Transition Requirements (Yêu cầu chuyển đổi)

Đây là tầng đặc biệt và hay bị quên nhất. Transition requirements mô tả năng lực cần có để chuyển từ trạng thái hiện tại sang trạng thái tương lai — và điểm mấu chốt: chúng chỉ tồn tại tạm thời. Khi quá trình chuyển đổi hoàn tất, các yêu cầu này không còn cần thiết nữa. Vì lý do này, BABOK tách hẳn chúng ra khỏi Solution Requirements.

Transition requirements bao gồm: di trú dữ liệu (data migration) từ hệ thống cũ, đào tạo người dùng, chạy song song hai hệ thống trong giai đoạn cutover, các quy tắc làm sạch dữ liệu lỗi. Ví dụ: "Di trú 2,3 triệu hồ sơ khách hàng từ core banking cũ sang hệ thống mới, với tỷ lệ đối soát chính xác 100% trên các trường bắt buộc". Điểm quan trọng: bạn không thể viết transition requirement nếu chưa biết cả trạng thái hiện tại lẫn trạng thái tương lai — nên nó luôn xuất hiện muộn hơn các tầng khác.

Bức tranh tổng thể về quan hệ giữa các tầng

Bốn tầng này không rời rạc mà liên kết theo chiều dọc bằng quan hệ truy vết: một Business Requirement được hiện thực hóa qua nhiều Stakeholder Requirements; mỗi Stakeholder Requirement lại được chi tiết hóa thành nhiều Solution Requirements (FR + NFR); và Transition Requirements bắc cầu để đưa giải pháp vào vận hành. Khi ai đó hỏi "tại sao chúng ta xây tính năng này?", bạn có thể truy ngược lên tới mục tiêu kinh doanh — đó chính là sức mạnh của việc phân tầng đúng.

Tình huống thực tế

Ví dụ 1 — Techcombank số hóa quy trình mở tài khoản

Bối cảnh: Một ngân hàng giả định lấy cảm hứng từ Techcombank muốn cạnh tranh với các ngân hàng số. Ban lãnh đạo đặt mục tiêu: tăng số tài khoản mở mới online lên gấp đôi trong 12 tháng. Đội BA được giao đặc tả dự án eKYC (định danh điện tử).

Cách BA phân tầng yêu cầu:

  • Business Requirement: "Tăng số tài khoản mở mới qua kênh online từ 5.000 lên 10.000/tháng và giảm chi phí xử lý mỗi hồ sơ từ 80.000đ xuống 30.000đ trong vòng 12 tháng."
  • Stakeholder Requirement: "Khách hàng cá nhân cần hoàn tất mở tài khoản hoàn toàn từ xa qua điện thoại, không cần đến quầy." Và: "Nhân viên compliance cần truy vết được toàn bộ bằng chứng định danh của mỗi hồ sơ để phục vụ kiểm tra của NHNN."
  • Solution Requirement (FR): "Hệ thống chụp ảnh CCCD hai mặt, đọc dữ liệu bằng OCR, và đối chiếu khuôn mặt selfie với ảnh trên giấy tờ bằng công nghệ liveness detection."
  • Solution Requirement (NFR): "Quá trình đối chiếu khuôn mặt hoàn tất trong dưới 5 giây và đạt độ chính xác tối thiểu 99% trên tập kiểm thử chuẩn."
  • Transition Requirement: "Đào tạo 1.200 nhân viên chi nhánh về quy trình hỗ trợ khách hàng eKYC qua hotline trong 4 tuần trước go-live, và di trú dữ liệu định danh của khách hàng cũ đã từng mở tài khoản online sang định dạng mới."
Bài học: Khi BA trình bày cho sponsor, họ nói ngôn ngữ Tầng 1. Khi làm việc với dev, họ nói ngôn ngữ Tầng 3. Cùng một dự án nhưng "phiên dịch" đúng tầng cho đúng người — đó là giá trị của schema.

Ví dụ 2 — Sàn thương mại điện tử quên mất Transition Requirements

Bối cảnh: Một công ty e-commerce tại TP.HCM (tạm gọi ShopNhanh) thay thế hệ thống quản lý kho cũ bằng một nền tảng WMS mới. Đội dự án viết rất kỹ các functional và non-functional requirements: quản lý tồn kho thời gian thực, đồng bộ với sàn, cảnh báo hết hàng. Mọi thứ trông hoàn hảo trong tài liệu.

Vấn đề: Đến ngày go-live, họ phát hiện 180.000 SKU trong hệ thống cũ có mã sản phẩm không tương thích với cấu trúc danh mục mới, và không ai viết yêu cầu nào về việc làm sạch và ánh xạ (mapping) dữ liệu này. Kết quả: go-live bị hoãn 3 tuần, đội vận hành phải nhập tay hàng nghìn bản ghi, và phát sinh chi phí ngoài kế hoạch.

Bài học: Đây là lỗi kinh điển — bỏ quên Transition Requirements. Vì chúng chỉ tồn tại tạm thời nên rất dễ bị xem là "việc lặt vặt cuối dự án". Một BA có kỷ luật sẽ luôn hỏi sớm: "Dữ liệu cũ sẽ đi đâu? Ai cần đào tạo? Hai hệ thống có chạy song song không?" — và đưa câu trả lời vào schema như một tầng riêng, có owner và lịch rõ ràng.

Ví dụ 3 — FinTech nhầm Business Requirement thành Solution Requirement

Bối cảnh: Một startup FinTech về ví điện tử nhận yêu cầu từ CEO: "Tôi muốn dùng AI chatbot để chăm sóc khách hàng." Đội BA non kinh nghiệm lập tức ghi đây là một yêu cầu và bắt đầu đặc tả chatbot.

Vấn đề: "Dùng AI chatbot" thực ra không phải là yêu cầu nghiệp vụ — nó là một giải pháp được nêu sẵn. Mục tiêu kinh doanh thật sự bị giấu phía sau. Khi BA giỏi đào sâu bằng câu hỏi "Vì sao anh muốn chatbot?", câu trả lời lộ ra: "Vì chi phí tổng đài đang chiếm 12% chi phí vận hành và thời gian chờ trung bình của khách là 8 phút, khiến nhiều người bỏ cuộc."

Khi đó Business Requirement đúng phải là: "Giảm 40% chi phí chăm sóc khách hàng và rút thời gian phản hồi xuống dưới 2 phút." Với mục tiêu này, chatbot chỉ là một trong nhiều giải pháp khả thi (bên cạnh FAQ tự phục vụ, định tuyến cuộc gọi thông minh...). Phân tầng đúng đã mở ra không gian giải pháp rộng hơn, thay vì khóa chặt vào một công nghệ ngay từ đầu.

Bài học: Đừng nhầm mục tiêu (Tầng 1) với giải pháp (Tầng 3). Khi stakeholder phát biểu yêu cầu dưới dạng giải pháp, nhiệm vụ của BA là "leo ngược" lên tầng business để tìm ra nhu cầu gốc.

Hướng dẫn từng bước

Đây là quy trình thực hành để phân loại một danh sách yêu cầu thô thành schema chuẩn:

  • Thu gom toàn bộ yêu cầu thô về một chỗ. Đừng vội phân loại trong lúc elicit; cứ ghi lại trung thực lời stakeholder trước đã.
  • Với mỗi yêu cầu, đặt câu hỏi "Đây là mục tiêu hay phương tiện?" Nếu nó nói về kết quả kinh doanh (doanh thu, chi phí, tuân thủ, sự hài lòng) → Business Requirement. Nếu nó nói về một giải pháp/công nghệ cụ thể → khả năng cao là Solution Requirement, và bạn nên truy ngược lên để tìm Business Requirement gốc.
  • Hỏi "Yêu cầu này phục vụ nhóm người dùng nào?" Nếu nó mô tả nhu cầu của một nhóm cụ thể để tương tác với giải pháp → Stakeholder Requirement. Đây là tầng bản lề; nó luôn nối được lên Tầng 1 và xuống Tầng 3.
  • Với các yêu cầu giải pháp, tách FR và NFR. Hỏi "Cái này mô tả hệ thống làm gì hay làm tốt đến mức nào?". "Làm gì" → Functional. "Tốt đến mức nào / nhanh / an toàn / sẵn sàng" → Non-Functional.
  • Quét riêng để tìm Transition Requirements. Đặt ba câu hỏi cố định: (a) Có dữ liệu cũ cần di trú không? (b) Có ai cần được đào tạo không? (c) Việc cắt chuyển (cutover) diễn ra thế nào — có chạy song song, có quy trình rollback không? Bất cứ thứ gì chỉ cần trong giai đoạn chuyển đổi đều thuộc tầng này.
  • Kiểm tra tính truy vết theo chiều dọc. Mỗi Solution Requirement phải nối được lên một Stakeholder Requirement, và mỗi Stakeholder Requirement phải nối lên một Business Requirement. Nếu có yêu cầu "mồ côi" (không nối được lên đâu), hoặc đó là yêu cầu thừa cần loại bỏ, hoặc bạn đang thiếu một mục tiêu kinh doanh chưa được làm rõ.
  • Gán owner và mức phê duyệt cho từng tầng. Tầng 1 do sponsor duyệt, Tầng 2 do đại diện người dùng, Tầng 3 do BA cùng đội kỹ thuật, Tầng 4 do đội vận hành/triển khai. Việc này quyết định ai có quyền nói "đồng ý" ở mỗi cấp.

Lỗi thường gặp & mẹo

Lỗi 1 — Gộp tất cả vào một rổ "requirements". Đây là lỗi phổ biến nhất của BA mới. Hậu quả là sponsor không thấy mục tiêu của mình, còn dev bị ngợp trong chi tiết. Mẹo: luôn dùng nhãn tầng (BR/SHR/FR/NFR/TR) ngay từ khi viết requirement đầu tiên.

Lỗi 2 — Viết giải pháp ở tầng Business Requirement. Như ví dụ chatbot ở trên. Mẹo: nếu trong câu yêu cầu xuất hiện danh từ công nghệ cụ thể (app, API, chatbot, blockchain...), hãy nghi ngờ và hỏi "Vì sao?" ít nhất 2 lần để leo lên tầng mục tiêu.

Lỗi 3 — Quên Transition Requirements. Vì chúng tạm thời nên dễ bị bỏ. Mẹo: đưa "data migration, training, cutover" thành một checklist cố định bạn rà soát ở mọi dự án có thay thế hệ thống cũ.

Lỗi 4 — Nhầm NFR thành FR. "Hệ thống đăng nhập" là FR; "đăng nhập trong dưới 2 giây" là NFR đính kèm. Mẹo: NFR thường đi kèm số đo và điều kiện; FR thường mô tả một hành vi/luồng.

Lỗi 5 — Coi schema là bốn giai đoạn tuần tự. Bốn tầng tồn tại song song và liên tục được làm mịn, đặc biệt trong Agile. Mẹo: hãy nghĩ về chúng như bốn "độ phân giải" của cùng một nhu cầu, không phải bốn bước nối đuôi.

Mẹo nâng cao: Khi viết tài liệu (như BRD/SRS — phân biệt ở Bài 33), hãy nhóm yêu cầu theo đúng tầng này. Người đọc cấp lãnh đạo chỉ cần đọc phần Business + Stakeholder; đội kỹ thuật đọc sâu vào Solution; đội triển khai quan tâm Transition. Một cấu trúc tài liệu theo schema giúp mọi đối tượng tìm đúng phần của mình.

Bài tập thực hành

Bài tập 1 — Phân tầng. Cho danh sách yêu cầu thô của một dự án ứng dụng giao đồ ăn:

  • "Tăng số đơn hoàn tất mỗi ngày lên 50.000."
  • "Tài xế cần nhận đơn gần vị trí mình nhất."
  • "Hệ thống tính phí giao hàng dựa trên khoảng cách và khung giờ."
  • "Ứng dụng tải bản đồ trong dưới 1,5 giây trên mạng 4G."
  • "Chuyển dữ liệu 200.000 nhà hàng từ hệ thống cũ sang nền tảng mới trước go-live."
  • "Đào tạo đội chăm sóc khách hàng dùng dashboard mới."
Hãy gán mỗi mục vào một tầng: Business / Stakeholder / Functional / Non-Functional / Transition. (Gợi ý đáp án: 1-BR; 2-SHR; 3-FR; 4-NFR; 5-TR; 6-TR.)

Bài tập 2 — Leo tầng. Một stakeholder nói: "Tôi muốn hệ thống có tính năng quét mã QR." Hãy viết ra chuỗi 2–3 câu hỏi bạn sẽ đặt để truy ngược về Business Requirement gốc, rồi phát biểu lại Business Requirement đó.

Bài tập 3 — Truy vết. Lấy một dự án bạn từng tham gia (hoặc tự nghĩ ra). Viết 1 Business Requirement, rồi suy ra 2 Stakeholder Requirements nối với nó, rồi từ mỗi cái suy ra ít nhất 1 FR và 1 NFR. Cuối cùng, liệt kê 2 Transition Requirements cho dự án. Kiểm tra: mọi FR/NFR có nối ngược lên được Business Requirement không?

Tóm tắt

Requirements Classification Schema của BABOK phân loại yêu cầu thành bốn tầng: Business Requirements (mục tiêu cấp tổ chức — "vì sao"), Stakeholder Requirements (nhu cầu của từng nhóm người dùng — cầu nối), Solution Requirements chia làm Functional (hệ thống làm gì) và Non-Functional (làm tốt đến mức nào), và Transition Requirements (năng lực tạm thời để chuyển từ trạng thái hiện tại sang tương lai). Bốn tầng này tồn tại song song và liên kết với nhau bằng quan hệ truy vết theo chiều dọc.

Giá trị thực sự của schema không nằm ở việc thuộc lòng định nghĩa, mà ở chỗ nó giúp bạn: (1) nói đúng ngôn ngữ với đúng đối tượng — từ CEO tới developer; (2) không nhầm giải pháp với mục tiêu; (3) không bỏ quên những yêu cầu chuyển đổi tốn kém; và (4) đảm bảo mọi chi tiết kỹ thuật đều truy được về một lý do kinh doanh. Hãy biến việc gán nhãn tầng thành phản xạ ngay từ yêu cầu đầu tiên bạn ghi nhận — đó là dấu hiệu của một BA chuyên nghiệp.