BPMN là gì?

Trả lời nhanh: BPMN (Business Process Model and Notation) là chuẩn ký hiệu đồ hoạ do OMG duy trì, dùng để vẽ quy trình nghiệp vụ bằng một bộ hình có nghĩa cố định: sự kiện, hoạt động, cổng quyết định, luồng. Nhờ vậy bộ phận nghiệp vụ và IT đọc cùng một sơ đồ mà hiểu như nhau.

Điểm chính

  • BPMN 2.0 được công nhận thành tiêu chuẩn quốc tế ISO/IEC 19510:2013.
  • Sơ đồ chỉ cần bốn nhóm hình: sự kiện (tròn), hoạt động (chữ nhật bo góc), cổng (thoi), luồng (mũi tên), cộng thêm làn bơi (lane) để chỉ ai làm.
  • Cổng quyết định là chỗ dễ vẽ sai nhất: loại cổng khác nhau cho kết quả chạy khác nhau.
  • BPMN mô tả quy trình, không phải công cụ tự động hoá. Nó giúp chọn đúng bước để giao cho robot hoặc phần mềm.
Mục lục
  1. BPMN là gì và dùng để làm gì?
  2. BPMN ra đời khi nào và có phải chuẩn quốc tế không?
  3. Các ký hiệu cơ bản của BPMN gồm những gì?
  4. Cách đọc một sơ đồ BPMN: ví dụ duyệt đơn hàng
  5. BPMN có mấy mức sử dụng?
  6. BPMN khác gì flowchart, UML, SOP và workflow?
  7. BPMN nằm ở đâu trong BPM và tự động hoá?
  8. Cách vẽ sơ đồ BPMN đầu tiên cho một quy trình thật
  9. Những lỗi thường gặp khi vẽ BPMN
  10. Ưu điểm và hạn chế của BPMN
  11. Khi nào nên và không nên dùng BPMN?
  12. Câu hỏi thường gặp

BPMN là gì và dùng để làm gì?

BPMN viết tắt của Business Process Model and Notation. Theo giải thích của Wikipedia, đây là cách biểu diễn đồ hoạ để mô tả quy trình trong một Business Process Diagram (sơ đồ quy trình nghiệp vụ), dựa trên kỹ thuật vẽ lưu đồ rất giống activity diagram của UML. Mục tiêu là cả người làm nghiệp vụ lẫn lập trình viên đều đọc được, dù ký hiệu trực quan nhưng vẫn biểu diễn được ngữ nghĩa quy trình phức tạp.

Cái khó của mô tả quy trình bằng văn bản là mỗi người hiểu một kiểu. Ví dụ câu “kế toán duyệt rồi gửi khách” không nói rõ: duyệt xong gửi ngay hay đợi cả giám đốc? Nếu duyệt không qua thì đơn đi đâu? BPMN buộc người vẽ phải trả lời các câu này, vì mỗi nhánh rẽ và mỗi điểm kết thúc đều phải có hình riêng.

Bạn sẽ gặp BPMN trong ba tình huống chính:

  • Phân tích nghiệp vụ: vẽ hiện trạng (as-is) và quy trình mong muốn (to-be) để thống nhất trước khi sửa.
  • Đặc tả yêu cầu phần mềm: BA đưa sơ đồ cho đội phát triển thay cho tài liệu dài.
  • Chạy trên engine: từ BPMN 2.0, sơ đồ có thể nạp vào một công cụ thực thi quy trình (process engine) như Camunda, Flowable, jBPM.

BPMN ra đời khi nào và có phải chuẩn quốc tế không?

Các nguồn thống nhất về mốc chính: BPMN do Business Process Management Initiative (BPMI) phát hành năm 2004, và BPMI sáp nhập vào OMG năm 2005, từ đó OMG duy trì chuẩn này. Phiên bản 2.0 ra mắt tháng 1/2011; tên được đổi thành “Model and Notation” vì bổ sung ngữ nghĩa thực thi bên cạnh ký hiệu. Đó là lý do bạn thấy cả hai cách viết “Modeling Notation” (bản cũ) và “Model and Notation” (bản mới).

Về tiêu chuẩn hoá, đặc tả BPMN 2.0.1 của OMG đã được công bố thành tiêu chuẩn quốc tế ISO/IEC 19510:2013. Một số trang ghi mốc phát hành 2.0 khác nhau (2010, 2011 hoặc 2013) vì họ tính theo bản thảo, bản OMG hay bản ISO. Khi viết tài liệu nội bộ, bạn nên ghi “BPMN 2.0” và dẫn ISO/IEC 19510 là đủ chính xác.

BPMN còn có hai “anh em” cùng OMG: CMMN (mô hình hoá ca xử lý linh hoạt) và DMN (mô hình hoá quyết định). BPMN lo luồng công việc, DMN lo bảng quy tắc ra quyết định, ví dụ bảng chiết khấu theo hạng khách.

Các ký hiệu cơ bản của BPMN gồm những gì?

Đặc tả BPMN có hàng chục ký hiệu, nhưng một hướng dẫn thực hành cho biết bốn nhóm là sự kiện, hoạt động, cổng và luồng đã đủ cho phần lớn sơ đồ. Wikipedia chia chi tiết hơn thành bốn loại phần tử: đối tượng luồng (flow objects), đối tượng kết nối, làn bơi (swimlane) và hiện vật (artifact).

Bốn nhóm ký hiệu BPMN: sự kiện hình tròn, hoạt động hình chữ nhật bo góc, cổng hình thoi, luồng là mũi tên
Bốn nhóm ký hiệu cốt lõi của BPMN. Sơ đồ khái niệm tổng hợp từ đặc tả BPMN 2.0.

Sự kiện: ba kiểu viền

Sự kiện là thứ xảy ra, còn hoạt động là thứ được làm. Viền mỏng là sự kiện bắt đầu, viền đôi là sự kiện trung gian, viền dày là sự kiện kết thúc. Bên trong vòng tròn có thể có biểu tượng phong bì (nhận thông điệp), đồng hồ (hẹn giờ), tia chớp (lỗi). Ví dụ: “Đến 17h hằng ngày” là sự kiện hẹn giờ khởi động quy trình đối soát.

Hoạt động: task và sub-process

Task là đơn vị công việc không chia nhỏ nữa. Sub-process là khối gộp nhiều task, vẽ có dấu cộng nhỏ để người đọc mở rộng khi cần. Cách này giữ sơ đồ tổng quan gọn, chi tiết nằm ở sơ đồ con. Task cũng có kiểu: việc người làm (user task), việc hệ thống tự làm (service task), việc theo kịch bản (script task).

Cổng: bốn loại, bốn ý nghĩa

Loại cổng Ký hiệu bên trong Luồng đi thế nào
Loại trừ (exclusive) X Chỉ một nhánh, nhánh đầu tiên có điều kiện đúng
Song song (parallel) + Tất cả nhánh cùng chạy; khi gộp phải đợi đủ
Bao hàm (inclusive) O Một hoặc nhiều nhánh thoả điều kiện
Theo sự kiện (event-based) Ngũ giác Nhánh nào có sự kiện đến trước thì đi nhánh đó

Một hướng dẫn thực hành cảnh báo rằng cổng là phần then chốt và nhầm các loại cổng có thể gây kẹt luồng (deadlock). Ví dụ điển hình: tách nhánh bằng cổng song song nhưng gộp lại bằng cổng loại trừ sẽ khiến một nhánh bị bỏ rơi hoặc chạy hai lần. Cổng gộp nên cùng loại với cổng tách.

Luồng, làn bơi và hiện vật

Ba loại luồng hay gặp: luồng tuần tự (xác định thứ tự thực hiện), luồng thông điệp (nét đứt, nối giữa hai bên khác nhau) và liên kết (association) để gắn ghi chú hoặc tài liệu. Hồ bơi (pool) đại diện một tổ chức hoặc một bên tham gia, làn bơi (lane) chia pool theo vai trò. Hiện vật gồm đối tượng dữ liệu (data object), nhóm (group) và chú thích (text annotation), những thứ giúp tài liệu hoá mà không ảnh hưởng luồng.

Cách đọc một sơ đồ BPMN: ví dụ duyệt đơn hàng

Dưới đây là ví dụ minh hoạ về một công ty phân phối: nhân viên kinh doanh lập đơn, kế toán kiểm tra công nợ, nếu vượt hạn mức thì giám đốc duyệt, nếu không thì giao hàng luôn.

Sơ đồ BPMN ba làn: Kinh doanh lập đơn hàng, Kế toán kiểm tra công nợ rồi qua cổng loại trừ vượt hạn mức; nếu không vượt thì giao hàng, nếu
Ví dụ minh hoạ: quy trình duyệt đơn hàng có ba làn và một cổng loại trừ. Sơ đồ tự dựng cho bài viết.

Cách đọc: đi từ vòng tròn viền mỏng bên trái, theo mũi tên. Làn cho biết ai chịu trách nhiệm từng bước, nên khi mũi tên băng qua làn là có bàn giao. Tại cổng X, đúng một nhánh được chọn dựa trên điều kiện ghi trên nhãn. Cả hai nhánh đều kết thúc ở vòng tròn viền dày, tức không có đơn nào “treo” giữa chừng.

Một sơ đồ tốt còn trả lời được câu hỏi người vẽ hay bỏ sót: nếu giám đốc từ chối thì sao? Ở bản trên, nhánh từ chối chưa có. Đây chính là loại lỗ hổng mà việc vẽ BPMN giúp lộ ra sớm, trước khi chuyển cho IT hoặc cấu hình phần mềm.

BPMN có mấy mức sử dụng?

Đặc tả chia khả năng tuân thủ (conformance) thành ba lớp. Theo bảng tham chiếu BPMN 2.0, lớp mô tả (Descriptive) dùng các phần tử phổ biến nhất cho tài liệu cấp cao, lớp phân tích (Analytical) thêm đầy đủ các loại sự kiện và cổng để mô hình hoá chính xác hành vi, còn lớp thực thi chung (Common Executable) là tập con cần để mô hình chạy được.

Ba mức dùng BPMN xếp từ trên xuống: Mô tả để tài liệu hoá, Phân tích để mô hình hoá chính xác, Thực thi để chạy trên engine
Ba lớp tuân thủ của BPMN 2.0, đi từ tài liệu hoá đến thực thi. Sơ đồ khái niệm dựa trên đặc tả BPMN 2.0.

Với doanh nghiệp Việt Nam, phần lớn nhu cầu nằm ở mức 1 và 2: vẽ để thống nhất cách làm giữa các phòng ban. Mức 3 chỉ cần khi bạn thực sự có engine và đội kỹ thuật cấu hình biểu thức, dữ liệu, kết nối hệ thống.

BPMN khác gì flowchart, UML, SOP và workflow?

Khái niệm Trả lời câu hỏi Khác BPMN ở điểm nào
Flowchart thường Các bước theo thứ tự nào? Hình tự do, không có quy ước làn, thông điệp, sự kiện hẹn giờ; mỗi người vẽ một kiểu
UML Phần mềm được cấu trúc ra sao? UML hướng tới thiết kế phần mềm, BPMN hướng tới quy trình nghiệp vụ. Activity diagram của UML là họ hàng gần nhất
SOP Làm từng bước cụ thể thế nào? SOP là văn bản hướng dẫn thao tác; BPMN là bản đồ luồng. Hai thứ bổ sung nhau
Workflow Việc chạy qua ai, theo luồng nào? Workflow là bản thân luồng công việc; BPMN là ngôn ngữ để vẽ nó
DMN Quy tắc quyết định là gì? DMN dùng bảng quyết định, BPMN chỉ chỗ gọi quyết định

Nếu bạn đã có tài liệu hướng dẫn thao tác, hãy xem SOP là gì để biết vì sao một sơ đồ BPMN không thay được SOP. Phần giải thích về luồng công việc nằm ở bài workflow và các loại sơ đồ.

BPMN nằm ở đâu trong BPM và tự động hoá?

BPMN là một công cụ của quản trị quy trình kinh doanh (BPM): đây là phần cơ bản của BPM. Vòng đời BPM (mô hình hoá, thực thi, giám sát, cải tiến) được trình bày đầy đủ ở bài BPM là gì, bài này chỉ tập trung vào ngôn ngữ vẽ.

Về tự động hoá, BPMN đóng ba vai trò khác nhau:

  • Chọn việc: sơ đồ cho thấy bước nào lặp lại, theo quy tắc rõ, chạm nhiều hệ thống. Đây là đầu vào để cân nhắc quy trình nên tự động hoá bằng RPA.
  • Phân vai: trong một quy trình, robot RPA thường chỉ thay một số task (ví dụ nhập số liệu từ hoá đơn vào ERP), còn cổng quyết định có ngoại lệ vẫn do người xử lý. Trên sơ đồ, bạn có thể tô riêng các task giao cho robot.
  • Điều phối: khi dùng engine BPMN, sơ đồ điều khiển cả chuỗi, gọi robot RPA, API và người dùng ở từng bước. Cách làm này khác với việc robot ghi lại thao tác trên màn hình. Tổng quan về RPA có ở bài RPA là gì và lộ trình triển khai.

Cần phân biệt: BPMN vẽ quy trình theo thiết kế, trong khi quy trình thực tế thường lệch khỏi thiết kế. Muốn biết thực tế chạy ra sao từ nhật ký hệ thống, bạn dùng process mining, rồi đối chiếu với sơ đồ BPMN để thấy độ lệch.

Cách vẽ sơ đồ BPMN đầu tiên cho một quy trình thật

  1. Chốt ranh giới: ghi sự kiện bắt đầu (ví dụ “nhận yêu cầu mua hàng qua email”) và các kết quả cuối có thể xảy ra (đã giao, bị từ chối, bị huỷ).
  2. Dựng làn theo vai trò, không theo tên người: “Kế toán công nợ” thay vì một cái tên cụ thể, để sơ đồ không lỗi thời khi đổi nhân sự.
  3. Vẽ luồng chính trước: chỉ dùng task và mũi tên. Đặt tên task theo mẫu động từ + đối tượng: “Kiểm tra công nợ”, không phải “Công nợ”.
  4. Thêm cổng: mỗi câu hỏi có/không là một cổng loại trừ, đặt tên cổng bằng câu hỏi, nhãn nhánh bằng câu trả lời. Chỉ dùng cổng song song khi hai việc thật sự chạy đồng thời.
  5. Thêm ngoại lệ: bị từ chối, quá hạn, thiếu chứng từ. Dùng sự kiện hẹn giờ cho các bước có thời hạn xử lý.
  6. Kiểm tra từng nhánh: lần theo từng mũi tên, bảo đảm không có task cụt và mọi nhánh về sự kiện kết thúc.
  7. Cho người làm thật đọc: nhờ nhân viên làm công việc đó xem sơ đồ và chỉ ra chỗ khác thực tế.

Về công cụ, bạn có thể dùng các trình vẽ chuyên BPMN như bpmn.io, Camunda Modeler, Bizagi Modeler, hoặc trình vẽ đa năng như draw.io và Visio có sẵn bộ hình BPMN. Chọn công cụ có thể xuất tệp XML chuẩn BPMN nếu sau này bạn muốn chuyển sang engine, vì BPMN hỗ trợ định dạng trao đổi bằng XML.

Những lỗi thường gặp khi vẽ BPMN

Lỗi Hậu quả Cách sửa
Tách nhánh bằng cổng song song, gộp bằng cổng loại trừ Luồng chạy sai hoặc kẹt Gộp bằng cổng cùng loại với cổng tách
Dùng mũi tên luồng tuần tự để nối giữa hai pool Sai ngữ nghĩa: giữa các tổ chức phải dùng luồng thông điệp Đổi sang luồng thông điệp nét đứt
Một sơ đồ chứa hàng chục task Không ai đọc hết Gộp thành sub-process, tách sơ đồ con
Task đặt tên danh từ hoặc quá chung (“Xử lý”) Không rõ ai làm gì Dùng động từ + đối tượng
Thiếu sự kiện kết thúc cho nhánh từ chối Ca bị “mất tích” Vẽ tường minh mọi kết quả cuối
Vẽ cả bản thao tác chi tiết vào sơ đồ Sơ đồ phình to Để chi tiết thao tác trong SOP, sơ đồ chỉ ghi luồng

Sơ đồ đẹp chưa chắc đúng. Một sơ đồ BPMN chỉ phản ánh điều người vẽ biết. Nếu chưa có người làm thật xác nhận, hãy coi đó là bản nháp.

Ưu điểm và hạn chế của BPMN

Ưu điểm

  • Ký hiệu có nghĩa cố định, một sơ đồ vừa là hình ảnh người xem hiểu được, vừa có thể thành đặc tả XML để engine chạy.
  • Là tiêu chuẩn mở, không gắn với một nhà cung cấp, nên sơ đồ chuyển giữa các công cụ được.
  • Làn bơi làm lộ điểm bàn giao giữa các phòng ban, nơi quy trình hay chậm.

Hạn chế

  • Đường học không nhẹ: bộ ký hiệu đầy đủ lớn, nhất là sự kiện và cổng. Người mới thường chỉ cần tập con.
  • Không phù hợp để mô tả công việc không có luồng cố định (xử lý hồ sơ pháp lý phức tạp, điều tra). Với loại này OMG có CMMN.
  • Không mô tả dữ liệu sâu và không thay tài liệu thao tác. Cần kết hợp SOP hoặc bảng quy tắc.
  • Sơ đồ nhanh lỗi thời nếu không gắn với người sở hữu quy trình và không cập nhật khi cách làm đổi.

Khi nào nên và không nên dùng BPMN?

Nên dùng khi quy trình đi qua từ hai phòng ban trở lên, có nhiều nhánh quyết định, hoặc bạn sắp đưa nó vào phần mềm, robot hay engine. Cũng nên dùng khi hai bộ phận đang tranh luận về “ai làm bước nào” vì sơ đồ làn bơi trả lời trực tiếp.

Không cần BPMN khi quy trình chỉ có một người làm, 4–5 bước tuyến tính: một danh sách đánh số hoặc flowchart đơn giản là đủ. Cũng không nên dùng khi bạn thật sự cần mô tả thao tác từng cú nhấp chuột: đó là việc của SOP hoặc tài liệu hướng dẫn. Còn nếu mục tiêu tổng quát là rà soát cách tự động hoá cả chuỗi, hãy xem thêm tự động hoá quy trình theo cấp độ.

Câu hỏi thường gặp

BPMN là viết tắt của gì?

BPMN là Business Process Model and Notation. Ở bản cũ (trước 2.0), tên đầy đủ là Business Process Modeling Notation. Tên đổi khi bản 2.0 bổ sung ngữ nghĩa thực thi bên cạnh ký hiệu vẽ.

BPMN 2.0 và ISO/IEC 19510 là một hay khác nhau?

Về nội dung gần như cùng một thứ. ISO/IEC 19510:2013 là dạng tiêu chuẩn quốc tế của BPMN, dựa trên bản OMG BPMN 2.0.1. Đặc tả OMG còn có bản 2.0.2 phát hành tháng 1/2014 theo Wikipedia.

Người không biết lập trình có dùng được BPMN không?

Có. BPMN được thiết kế để người làm nghiệp vụ đọc và vẽ được. Bạn chỉ cần nắm sự kiện, task, cổng loại trừ, luồng và làn bơi là vẽ được phần lớn quy trình văn phòng. Phần cấu hình thực thi mới cần kỹ thuật viên.

BPMN có phải là RPA không?

Không. BPMN là ngôn ngữ vẽ và đặc tả quy trình, còn RPA là công nghệ để robot phần mềm thực hiện thao tác trên giao diện hoặc hệ thống. Hai thứ dùng chung được: vẽ BPMN trước, rồi chọn task phù hợp để giao cho robot.

Dùng phần mềm nào để vẽ BPMN?

Có nhiều lựa chọn: bpmn.io, Camunda Modeler, Bizagi Modeler, draw.io, Visio. Tiêu chí chọn quan trọng nhất là hỗ trợ BPMN 2.0 đúng chuẩn và xuất được tệp XML để mang sang công cụ khác khi cần.

Sơ đồ BPMN khác sơ đồ swimlane thế nào?

Swimlane là cách bố trí chia làn theo vai trò, còn BPMN là bộ ký hiệu đầy đủ. Làn bơi là một phần của BPMN, nên sơ đồ BPMN thường có dạng swimlane, nhưng BPMN còn quy định thêm sự kiện, cổng, luồng thông điệp.

VBPO Tech Blog cập nhật tin tức và kiến thức công nghệ cho doanh nghiệp Việt Nam. Xem thêm các bài cùng chuyên mục RPA & tự động hoá quy trình.