Loading...

Business Rule là gì? Tìm hiểu về Business Rule khi viết tài liệu

Business Rule là gì? Tìm hiểu về Business Rule khi viết tài liệu

Chào anh em 😀

Lâu quá rồi không viết blog, nay nhân dịp đầu xuân nên mình sẽ chia sẻ về một khái niệm rất quan trọng mà BA nào cũng cần nắm vững – Business Rule (Quy tắc nghiệp vụ).

1. Giới thiệu

Làm BA, chúng ta thường xuyên phải đi phân tích nghiệp vụ và viết tài liệu. Và một trong những thứ quan trọng nhất mà BA cần xác định chính là Business Rule. Vậy:

  • Business Rule là gì?
  • Nó khác gì với Business requirement?
  • Làm sao để định nghĩa business rule hiệu quả?

Qua bài viết này, mình sẽ chia sẻ kinh nghiệm thực tế về business rule nhé.

2. Business Rule là gì?

Business Rule là các quy tắc, chính sách, ràng buộc mà một tổ chức/doanh nghiệp đặt ra để:

  • Kiểm soát hoạt động kinh doanh
  • Đảm bảo tính nhất quán của dữ liệu
  • Tuân thủ các quy định pháp lý
  • Thống nhất cách vận hành nghiệp vụ

Và đặt ra để khi build hệ thống (tại ta đang nói là IT BA mà) thì hệ thống sẽ phải tuân theo.

Nói cách khác

Business Rule là những gì định nghĩa hoặc ràng buộc một khía cạnh nào đó của nghiệp vụ. Nó giúp kiểm soát hoặc ảnh hưởng đến hành vi nghiệp vụ.

Ví dụ thực tế:

  • “Khách hàng phải trên 18 tuổi mới được mở thẻ tín dụng”
  • “Đơn hàng trên 500k được miễn phí ship”
  • “Mỗi user chỉ được tạo tối đa 3 tài khoản”

3. Business Rule vs Business Requirement

Đây là 2 khái niệm hoàn toàn khác nhau mà nhiều bạn hay nhầm lẫn.

Business Requirement là những mục tiêu, nhu cầu mà business muốn đạt được. Nó trả lời câu hỏi “CÁI GÌ” (WHAT).

  • “Hệ thống cần lưu được lịch sử giao dịch của khách hàng”
  • “Khách hàng có thể đặt lịch với bác sĩ yêu thích”

Business Rule là các quy định, ràng buộc để đạt được requirement. Nó trả lời câu hỏi “NHƯ THẾ NÀO” (HOW).

  • “Lịch sử giao dịch được lưu tối đa 5 năm”
  • “Chỉ khách hàng VIP mới được đặt lịch trước 30 ngày”
  • “Mỗi khách chỉ được đặt tối đa 3 lịch/tuần”

Những điểm khác biệt:

  Business Requirement Business Rule
Về tính chất Mang tính định hướng, mục tiêu

Thường chung chung, high-level

Focus vào outcome

Mang tính ràng buộc, quy định

Phải cụ thể, chi tiết

Focus vào implementation

Về nguồn gốc Đến từ stakeholder/business user

Thường là pain point cần giải quyết

Xuất phát từ nhu cầu thực tế

Có thể từ nhiều nguồn:

  • Legal/Compliance
  • Technical constraints
  • BA/Dev team suggest

Dựa trên phân tích nghiệp vụ

Về cách thể hiện Khách hàng có thể mở thẻ tín dụng online BR-001: Tuổi từ 18-65

BR-002: Thu nhập >= 10tr/tháng

BR-003: CMND còn hiệu lực

BR-004: Có tài khoản thanh toán

Về tính linh hoạt Ít khi thay đổi

Thay đổi impact lớn

Cần approval từ business

Thường xuyên thay đổi

Thay đổi impact nhỏ hơn

BA có thể suggest thay đổi

 

4. Phân loại Business Rule

Theo kinh nghiệm làm việc của mình, business rule có thể chia thành các nhóm:

  1. Quy tắc ràng buộc (Constraint Rules): đây là những rule về giới hạn, điều kiện mà hệ thống phải tuân theo.
  • Giới hạn độ tuổi (Khách hàng phải từ 18-65 tuổi mới được mở thẻ tín dụng)
  • Hạn mức giao dịch (Rút tiền ATM tối đa 5tr/lần và 100tr/ngày)
  • Số lượng tối đa/tối thiểu (Mỗi user chỉ được tạo max 3 tài khoản)
  1. Quy tắc tính toán (Computation Rules): Những rule liên quan đến công thức tính toán, xử lý số liệu
  • Công thức tính điểm thưởng (Mỗi 100k chi tiêu = 1 điểm)
  • Cách tính lãi suất (Lãi suất = Số dư * 0.8%/tháng)
  • Logic tính phạt (Phí trả trễ = 3%/tháng trên số tiền chậm trả)
  1. Quy tắc quy trình (Process Rules): Rules về các bước xử lý, thứ tự thực hiện
  • Đơn hàng phải qua bước xác nhận OTP trước khi thanh toán
  • Khách hàng phải upload CMND trước khi tạo tài khoản
  • Hoàn tiền sau 24h kể từ khi huỷ đơn thành công
  1. Quy tắc dữ liệu (Data Rules): Rules về format, ràng buộc dữ liệu.
  • CMND phải là số và có 9 hoặc 12 ký tự
  • Email phải đúng định dạng [email protected]
  • Ngày sinh không được lớn hơn ngày hiện tại

5. Vai trò của Business Rule với BA

Business Rule cực kỳ quan trọng vì:

  1. Là nền tảng để xây dựng tính năng:
  • Thiếu rule => thiếu validation
  • Rule không rõ => code sai logic
  • Rule không đầy đủ => thiếu case xử lý

Ví dụ: làm feature đăng ký tài khoản mà không có rule về format mật khẩu => users tạo mật khẩu yếu => security risk

  1. Giúp quản lý thay đổi:
  • Dễ tracking khi có thay đổi
  • Đánh giá impact dễ hơn
  • Update requirement nhanh hơn

Ví dụ: khi legal yêu cầu thay đổi điều kiện mở thẻ, BA sẽ rà soát lại và chỉ cần update lại các rule liên quan, sau đó ghi rõ lại change để sau này dễ track.

  1. Trao đổi với team dễ hơn:
  • Dev hiểu rõ logic cần code
  • Tester biết case cần test
  • PO/PM nắm được ràng buộc

6. Tips định nghĩa Business Rule hiệu quả

Qua thực tế làm việc, mình rút ra một số tips:

  1. Viết ngắn gọn, rõ ràng:
  • Tránh câu dài, khó hiểu, một rule chỉ mô tả một ràng buộc
  • Dùng từ ngữ đơn giản
  • Format dễ đọc

Ví dụ:

  • BAD: Khách hàng đăng ký thẻ phải đủ 18 tuổi và có thu nhập ổn định từ 10 triệu trở lên mỗi tháng
  • GOOD:
    • BR1: Khách hàng phải từ 18 tuổi trở lên
    • BR2: Thu nhập tối thiểu 10tr/tháng
  1. Phân nhóm logic:
  • Group theo chức năng
  • Đánh ID dễ tracking
  • Sắp xếp độ ưu tiên

Ví dụ nhóm rule cho feature Mở thẻ:

  • Điều kiện cơ bản
    • BR-001: Tuổi >= 18
    • BR-002: Thu nhập >= 10tr/tháng
  • Xác thực thông tin
    • BR-003: CMND còn hiệu lực
    • BR-004: SĐT đã xác thực OTP
  • Tính hạn mức
    • BR-005: Hạn mức = 3x thu nhập
  1. Validate kỹ:
  • Review với SME (Subject Matter Expert)
  • Check conflict
  • Test các edge case

VD: Rule “Khách VIP được ưu tiên xử lý trong 2h” có conflict với rule “Đơn khiếu nại được xử lý theo thứ tự”.

  1. Cập nhật thường xuyên nếu có thay đổi:
  • Version control: Lưu lại các version để dễ tracking
  • Change log: Change log khi release sản phẩm
  • Notification khi update: Update gì thì thông báo các bên liên quan

7. Một ví dụ thực tế

Ví dụ một feature Đặt lịch khám

Business Requirement Business Rules
UC01: Khách hàng có thể đặt lịch khám với bác sĩ yêu thích Điều kiện đặt lịch
BR-UC01-001: Chỉ đặt được lịch trong 30 ngày tới
BR-UC01-002: Mỗi KH chỉ đặt max 3 lịch/tuần
BR-UC01-003: Phải đặt trước ít nhất 24hRàng buộc bác sĩ
BR-UC01-004: BS chỉ nhận tối đa 20 lịch/ngày
BR-UC01-005: Thời gian khám: 8h-17h các ngày 2-7
BR-UC01-006: Mỗi ca khám 30pThanh toán
BR-UC01-007: Phí đặt lịch: 50.000đ
BR-UC01-008: Hoàn 100% nếu huỷ trước 24h
BR-UC01-009: Hoàn 50% nếu huỷ trước 12h
BR-UC01-010: Không hoàn tiền nếu huỷ < 12h

8. Công cụ quản lý Business Rule

Mình hay dùng các tool sau:

  • Confluence/Notion/Docs/Word: Viết doc, xưa hay sài, giờ cũng ít sài
  • Excel: Track version, lúc 2019 sài cái này kha khá, viết dạng sheet nói chung đánh dấu ID các kiểu khá dễ quản lý
  • Draw.io: Vẽ flow
  • Dùng AI (ChatGPT/ClaudeAI): Phụ Generate ra thêm details, và nhờ vẽ các diagram logic
  • Jira: Link với requirement
  • Trello: Giờ hay sài Trello để add task, và trong task sẽ add luôn các Business Rule (dạng như add AC)

9. Kết bài

Hi vọng qua bài viết này anh em đã hiểu rõ hơn về Business Rule và cách quản lý nó hiệu quả. Nếu thấy hay thì anh em đừng quên chia sẻ và để lại comment góp ý nhé 😀

Đọc thêm  Lương Business Analyst ở Việt Nam năm 2022 là bao nhiêu?
Hoang Phan

Author: hoangphan

Hoàng xuất phát là dân kỹ thuật phần mềm, tham gia mảng phát triển phần mềm từ 2017 đến nay. Mình muốn mang những trải nghiệm cá nhân chia sẻ đến anh em, từ đó anh em thấy gì hay thì có thể tham khảo sử dụng, mà dỡ thì anh em góp ý giúp nhé.  

Leave a Reply

Your email address will not be published.

You may use these <abbr title="HyperText Markup Language">html</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*