Hế lô ajinomoto anh em. Hôm nay là thứ Sáu và anh em đang đọc blog Thinhnotes.com 😎
Tiếp nối chủ đề của bài một về BPMN, hôm nay mình sẽ tiếp tục đi sâu hơn vào BPMN với chủ đề: Giải ngố các ký hiệu BPMN.
Vì tính chất bài này là giới thiệu, giải thích, nên mình sợ nó sẽ hơi khô khan với anh em. Do đó bài này mình đã cố tình chôm chỉa khá nhiều hình ảnh bỏ vào. Một phần để nhìn cho nó nguy hiểm, phần khác nó sẽ giúp anh em đỡ ngán, và dễ hình dung hơn.
Okay, let’s gooooo!!!
Điều đầu tiên mình muốn nói là nhìn BPMN nó tùm lum tùm la vậy thôi, chứ thật ra nó chỉ có… 6 cục chính.
Nắm chắc được ý nghĩa 6 cục này, thì dù có gặp hình BPMN phức tạp thế nào đi chăng nữa, anh em vẫn dễ dàng bỏ túi cái một.
1. Swimlane
Swimlane được xem như là linh hồn của BPMN, làm nó khác hẳn những diagram khác. Swimlane bao gồm Pool và Lane.
Pool thể hiện một tổ chức, một bộ phận, một phòng ban, một vai trò hoặc một hệ thống nào đó. Còn Lane thể hiện các cá nhân riêng lẻ, người sẽ làm các hoạt động cụ thể.
2. Activities
2.1. Có 4 loại chính
Activity tập trung trả lời câu hỏi làm gì. Tức là nó mô tả tất cả các công việc có trong quy trình. Activity gồm 4 loại sau.
Task và Sub-Process chắc anh em cũng dễ hiểu. Còn Transaction và Call Activity mình sẽ giải thích thêm chút xíu.
Transaction về cơ bản cũng tương tự Sub-Process, nhưng nó khác ở chỗ: transaction là một chuỗi các task thể hiện sự giao dịch, tức là có payment trong đó. Còn Sub-Process thì rộng nghĩa hơn. Ví dụ dưới đây cho anh em dễ hiểu.
Còn Call Activity như mình có giải thích ở hình trên thì bản chất nó giống như: mình gọi lại (triệu hồi) một quy trình mà mình đã define trước đó rồi. Ví dụ.
Đó là tổng quan về 4 loại Activity:
- Task: ô hình chữ nhật bình thường
- Sub-Process: ô hình chữ nhật nét đứt, có dấu cộng ở giữa
- Transaction: ô hình chữ nhật có 2 nét bao ngoài
- Call Activity: ô hình chữ nhật có 1 nét bao ngoài rất đậm.
2.2. Các đồ nghề trang điểm khác
Anh em nắm rõ 4 loại trên là ô kê rồi. Tuy nhiên, để thể hiện được nhiều “ý đồ” nguy hiểm hơn thì anh em phải nắm thêm mấy cái lẻ tẻ khác, gọi là Activity Marker và Task Type.
Ngó có vẻ nhiều, nhưng anh em đừng hoang mang hồ ngọc hà quá. Cũng không quá phức tạp và khó nhớ lắm. Nói theo kiểu BA thì mình sẽ facilitate nó cho anh em, tức là làm cho nó dễ hiểu hơn.
Đầu tiên sẽ là…
Sub-Process
Cái này dễ ẹc, dẹp qua một bên.
Loop
Là hành động mà nó lặp đi lặp lại theo trình tự.
Ví dụ một hôm sếp yêu cầu anh em kể một câu chuyện hấp dẫn trong đêm Year-End Party của công ty. Anh em sẽ làm theo những bước sau: brainstorm với đồng bọn >> soạn thảo kịch bản nháp >> chỉnh sửa bản nháp >> hoàn thiện >> trình sếp để ổng duyệt.
Thì lúc này, bước Edit Draft là một bước được lặp đi lặp lại nhiều lần theo trình tự. Tức là sửa lần 1, sửa lần 2, sửa lần 3, sửa lần thứ “n”… Đến khi nào cảm thấy ổn rồi thì sẽ sang bước tiếp theo: Finalize story. Đó là Loop Task.
Multi-Instance
Đây là cái rất hay nhầm với Loop. Cái này cũng là hành động lặp đi lặp lại nhiều lần, nhưng nó cần các data set khác nhau.
Ví dụ làm quy trình duyệt report. Case study đặt ra là: mỗi tháng Director sẽ duyệt report của các Manager.
Hành động duyệt các report này được thể hiện bằng một Task (tạm gọi là Evaluate Report), lặp đi lặp lại nhiều lần. Nhưng với mỗi lần duyệt, sẽ là một report khác nhau, được gửi từ các ông Manager khác nhau. Đó là các data khác nhau. Gộp lại sẽ thành một data set gồm nhiều data khác nhau.
BPMN 2.0 hơi màu mè hoa lá hẹ một chút là nó chia Multi-Instance ra làm 2 loại: song song (parallel) và tuần tự (sequential).
- Song song tức là lặp đi lặp lại nhưng làm đồng thời, cùng một lúc. Ví dụ như ông sếp cùng một lúc duyệt các report.
- Còn tuần tự là xong cái này, mới tới cái khác. Ví dụ ông sếp duyệt report cho Manager A rồi mới tới duyệt report cho Manager B.
Quay lại với Loop, anh em có thể thấy Multi-Instance (MI) giống với Loop. Nhưng như mình nói, MI khác Loop ở chỗ nó đến từ nhiều data set khác nhau. Lấy luôn ví dụ phía trên cho anh em dễ đối chiếu.
Ví dụ ở bước Edit Draft, thay vì anh em phải tự edit lặp đi lặp lại nhiều lần, thì anh em có thể nhờ bạn bè, đồng bọn edit dùm.
Điều này có nghĩa: khi mỗi người bạn sửa dùm, họ sẽ gửi lại bản nháp mà họ sửa, tức đó là một data. Mỗi người bạn là mỗi bản nháp khác nhau, là mỗi data khác nhau. Các data này gộp lại sẽ thành một bộ data set gồm các bản nháp khác nhau.
Khi dùng MI Parallel, tức là cùng một lúc gửi cho cả 1 đống đứa cùng sửa.
Còn MI Sequential là gửi cho thằng A sửa, rồi lấy cái bản nháp của thằng A, gửi cho thằng B sửa, thằng A xong thì mới tới thằng B. Tiếp tục như vậy, sẽ gửi cho thẳng C, thằng D…
Để chi tiết hơn thì anh em có thể note vào quy trình, lặp lại bao nhiêu lần (hoặc một điều kiện bất kỳ) thì mới cho phép quy trình chuyển qua bước tiếp theo.
Ad Hoc
Cái này thì cũng không khó hiểu, nghĩa sao dịch vậy. Ad hoc tức là được hình thành khi cần thiết và dành cho một mục đích cụ thể nhất định. Bà con hay gọi nôm na là “tùy cơ ứng biến”.
Vậy Ad Hoc Task sẽ thể hiện các task đặc biệt, có một mục đích chuyên dụng cụ thể.
Ví dụ một dealer bán xe, họ có quy trình làm việc với các ngân hàng rất rõ ràng. Nhưng riêng với ngân hàng BuTaLo-BaTaCho thì lại có quy trình làm việc khá đặc biệt, chỉ dành riêng cho ngân hàng này.
Do đó, anh em sẽ đưa quy trình này thuộc diện Ad Hoc. Và thường thì nó sẽ nằm trong một Sub-Process.
Compensation
Cái tên nói lên quá rõ. Compensation = Đền bù. Tức là phải có cái gì đó, thì mới đền bù.
Compensation task cũng chỉ là một task bình thường. Nhưng nó khác task bình thường ở chỗ: chỉ duy nhất xảy ra sau một task cụ thể nào đó.
Ví dụ: ăn bánh thì phải trả tiền. Task trả tiền là compensation, luôn xảy ra ngay sau task ăn bánh. Quay trở lại với ví dụ ban nãy.
Tóm váy lần một, Activity Marker giúp anh em thể hiện được hành vi khi thực hiện một hành động nào đó. Ví dụ thực hiện hành động một cách lặp đi lặp lại (Loop), hoặc chỉ thực hiện khi có một hành động cụ thể trước đó (Compensation).
Send Task/ Receive Task
Cái này thì quá rõ. Một task thể hiện sự nhận/ gửi thông tin, tài liệu, hoặc một data object.
User Task
User Task là task được thực hiện bởi người dùng, trên hệ thống và không thể tách nhỏ ra được nữa.
Manual Task
Manual Task là task được thực hiện bởi người dùng, ngoài hệ thống và được thực hiện một cách thủ công.
Service Task
Service Task là task được thực hiện tự động bởi hệ thống.
Script Task
Script Task là task được thực hiện dựa trên một engine nào đó của hệ thống. Từ “script” ở đây có nghĩa là một đoạn code được viết ra để engine có thể parse đoạn code này chạy và thực hiện công việc.
Loại này mình thấy hiếm xuất hiện, bản thân mình thì cũng chưa từng dùng bao giờ hết. Nên thôi next nhẹ qua nhé anh em.
Business Rule Task
Lại một lần nữa, cái tên nói lên quá rõ. Business Rule Task thể hiện một task, mà task đó dựa vào một cái rule nào đó. Anh này thì cũng mới có trong BPMN 2.0 thôi. Ví dụ một phát cho nóng.
Sau khi dùng Business Rules Task, anh em sẽ có được một quy trình gọn gàng, đẹp chai ngời ngợi dưới đây.
Tóm váy lần hai, Task Type giúp anh em thể hiện được tính chất, bản chất của các hoạt động. Biết được: à, task này làm trong hệ thống hay ngoài hệ thống (user task hay manual task). Hoặc task này chạy tự động hay user sẽ làm (service task hay user task).
Ô kê, anh em sẽ cùng overview lại bằng hình dưới đây.
3. Flow
Anh em xem hình cho ngắn gọn, súc tích nhé 😊
4. Gateways
Gateway nghĩa là cái cổng, mà khi qua cái cổng này, luồng đi của hệ thống sẽ bị thay đổi tùy vào các điều kiện khác nhau.
BPMN thì có rất nhiều Gateway, khoảng… 68 cái. Tuy nhiên dùng nhiều nhất mình thấy chỉ có 4 loại sau.
4.1. Exclusive Gateway
Exclusive, hay còn gọi là XOR Gateway. Nó thể hiện: nhánh này hoặc nhánh kia, nhưng chỉ được phép một trong hai (hoặc nhiều) nhánh.
4.2. Inclusive Gateway
Inclusive Gateway cũng tương tự Exclusive Gateway, nhưng khác ở chỗ nó cho phép xảy ra nhiều nhánh, chứ không duy nhất một nhánh như XOR. Tuy nhiên một khi các nhánh được activate, nó phải được complete hết trước khi merge lại.
4.3. Parallel Gateway
Parallel Gateway nghĩa là các nhánh phải cùng xảy ra song song với nhau. Chỉ cần một trong các nhánh chưa được complete thì các nhánh khác không thể merge lại, và quy trình không thể đi tiếp được.
4.4. Event-Driven Gateway
Event-Driven, tức là dựa vào Event, hướng theo Event mà chạy. Về cơ bản, Event-Driven Gateway khá giống với Exclusive Gateway (XOR) vì hai tụi này chỉ cho phép một nhánh chạy duy nhất.
Nhưng nó khác ở chỗ Exclusive Gateway thì dựa vào điều kiện để chạy, còn Event-Driven Gateway dựa vào event để chạy. Tức là khi có một sự kiện nào đó xảy ra thì nó sẽ kích nhánh của sự kiện đó chạy.
Có thể anh em sẽ hơi bị confuse giữa condition và event, thấy nó cứ giống giống nhau. Nhưng mục đích dùng của hai anh này là hoàn toàn khác nhau, do đó mục đích dùng Exclusive Gateway hay Event-Driven Gateway cũng sẽ khác nhau.
- Condition: thường đơn giản, và nó trả lời cho câu hỏi ở task trước đó. Ví dụ về quê thì về quê bằng máy bay hay về quê bằng tàu lửa? It’s very simple.
- Event: còn event thường phức tạp hơn. Các event được gán vào các nhánh sẽ trả lời chi tiết hơn về các thông tin như: thời gian, ai là người làm, làm như thế nào… Hay nói nôm na là trả lời cho câu hỏi: sự việc gì xảy ra?
Để hiểu chi tiết hơn về Event thì anh em cùng chuyển qua phần số 5.
5. Events
Như ở trên mình có nói thì Event diễn tả một sự việc xảy ra trong quy trình, thường mang yếu tố bên ngoài. Chứ không phải một việc gì đó được chủ đích làm bởi user (vì nếu vậy thì nó là Activity mất rồi). Event được chia làm 3 giai đoạn:
- Start: bắt đầu
- Intermediate: ngay tức thì/ ở giữa
- End: kết thúc.
Tiếp đến, Event có rất nhiều loại. Mỗi loại thể hiện một ý nghĩa khác nhau. Anh em xem hình sau sẽ rõ.
Mặc dù Event có rất nhiều loại, nhưng không phải lúc cũng sử dụng đủ các loại này hết.
Ở bài này mình chỉ giới thiệu cho anh em 2 loại Event được dùng nhiều nhất, đó là: Timer Event và Message Event.
- Message Event: diễn tả sự việc gửi và nhận thông tin, có đầy đủ Start, Intermediate và End.
- Time Event: diễn tả một sự việc liên quan đến thời gian, nhưng chỉ có Start và Intermediate, không có End.
Một điểm nữa anh em cần chú ý là phải phân biệt được các Start Event, Intermediate Event và End Event.
- Start Event là 1 vòng tròn nhạt bên ngoài.
- Intermediate Event là 2 vòng tròn bên ngoài.
- Và End Event là 1 vòng tròn đậm bên ngoài.
Ngoài ra, còn một khái niệm nữa về Event đó là Boundary Event. Boundary Event được thể hiện bởi các Event dính liền với hình chữ nhật bao quanh task. Ví dụ.
Task Subprocess A có dính một Boundary Event. Nghĩa là khi quy trình chạy tới task này, nếu trong thời gian X và hành động Y xảy ra, thì quy trình sẽ đi theo nhánh tới task Handle Timeout. Còn nếu không thì quy trình sẽ qua task Subprocess B.
Cách dùng như vầy trực diện và đơn giản hơn rất nhiều so với dùng Event-Drivent Gateway.
Mình nói Boundary Event, để bắc cầu qua một loại Event khác, đó là: Interrupting Event và Non-Interrupting Event. Vì 2 loại event này đều phải được dùng dưới dạng Boundary Event. Tức là event phải được vẽ dính liền với hình chữ nhật bao quanh task.
Interrupting Event là khi task Subprocess A đạt được điều kiện trong thời gian A và hành động Y xảy ra, thì khi đó quy trình chuyển qua nhánh Handle Timeout. Và dừng toàn bộ task Subprocess A.
Còn Non-Interrupting Event cũng tương tự. Nhưng khi chuyển qua nhánh Handle Timeout, task Subprocess A vẫn diễn ra bình thường.
6. Information Artifact
Và thành phần cuối cùng trong BPMN là Information Artifact – thể hiện một thứ rất quan trọng trong bất kỳ quy trình nào, đó là thông tin, dữ liệu.
Mình sẽ ví dụ một phát ngay cho nóng.
.
.
.
That’s it. Đó là những gì mình muốn chia sẻ trong bài ngày hôm nay. Nắm được những nội dung cơ bản trên là anh em đã có thể quẩy BPMN tới bến rồi. Mình sẽ summarize lại một tí trước khi kết thúc.
BPMN gồm 6 thành phần chính.
- Swimlane: linh hồn của BPMN, thể hiện hành động theo các vai trò một cách rõ ràng.
- Activity: thể hiện hành động.
- Flow: thể hiện luồng đi của hành động.
- Gateway: thể hiện các cổng điều kiện có trong quy trình.
- Event: thể hiện sự việc xảy ra trong suốt quy trình.
- Information Artifact: thể hiện các dữ liệu liên quan.
Hi vọng anh em sẽ rút chích được gì đó cho chính mình sau bài này 🙂 Hẹn gặp anh em ở bài post tiếp theo, nói về BPMN phần cuối: thực hành và các best practices khi vẽ BPMN.
Bái baiii, si du ờ gennnn!!!
18/12/2018 at 9:24 sáng
Bài viết quá hay và chi tiết/rõ ràng. Cảm ơn anh Thịnh. Hy vọng anh sẽ viết thêm nhiều bài tiếp theo về nghề BA này.
18/12/2018 at 9:55 sáng
Cảm ơn Thai nhiều nhé 🙂
18/12/2018 at 11:10 sáng
Thanks anh, em cũng từng sử dụng BPMN để vẽ quy trình nhưng cũng chưa hiểu rõ. Mong anh ra nhiều bài viết hợn nữa
18/12/2018 at 4:34 chiều
Cảm ơn em nhé, vẽ nhiều gặp nhiều case khó thì tự khắc lúc đó sẽ cần nhiều notation hơn để thể hiện. Vẽ nhiều rồi quen thôi 🙂
20/12/2018 at 9:36 sáng
Anh Thịnh ơi, cho em hỏi ngoài lề 1 chút ạ. Ngoài BPMN, thì làm 1 BA cần phải học thêm những công cụ/viết những loại document nào khác nữa anh nhỉ. Anh cho em vài gợi ý để em tự học thêm được không anh.
Em làm BA nhưng em chưa được có cơ hội làm việc với những BA kì cựu khác, nên em cũng ko biết BA chuyên nghiệp họ làm những document nào. Mong anh giúp đỡ ạ.
20/12/2018 at 9:59 sáng
Nói về công cụ thì cũng nhiều, như:
– Visio, Draw.IO để modeling (BPMN và UML)
– Axure, Balsamiq để mockup, làm prototype
– Word, Excel, PowerPoint làm document
– SQL, XLM để làm data, query data, test các kiểu (tùy sản phẩm, công nghệ mình làm)
– SSRS, Crystal, PowerBI…, các tool để làm report
– Quen với tool quản lý dự án như Jira, TFS,…
Còn về các loại tài liệu thì cũng tùy methodology mà mình làm:
– FRD (Functional Requirement Document)
– FDD (Functional Design Document)
– URS/SRS (User/Software Requirement Specification)
– Test Script/ User Manual, User Guide
– Sau này có thể involve vô đoạn viết proposal cho dự án.
Mỗi loại dự án có một số loại document riêng, mình cũng không nhớ hết đâu, trên là mấy loại cơ bản. Mình nắm được những loại cơ bản này là okie rồi, còn lại thì cứ theo template mà dùng 😀
20/12/2018 at 10:23 sáng
Cảm ơn a Thịnh 🙂 Em sẽ google tự học thêm ạ (trong lúc chờ đợi anh viết thêm các bài blog về toolkit của BA :). hehe
20/12/2018 at 10:44 sáng
Cảm ơn Thái, hi vọng mình vẫn ra bài đều đều :))
20/12/2018 at 10:44 chiều
subcribe hẳn hoi để luôn đọc các bài của Thịnh sớm nhất ^^ đây là 1 trong số bài mình rất thích vì rõ ràng và có tính ứng dụng cao. Luôn ủng hộ cậu 😀
21/12/2018 at 6:14 chiều
Cảm ơn Dung nhiều nhé ^^
13/04/2019 at 11:58 chiều
cám ơn Thịnh rất nhiều về các kiến thức bạn chia sẻ, hy vọng sẽ có duyên làm việc với bạn trong thời gian tới.
14/04/2019 at 12:54 sáng
Cảm ơn Tuân nhiều nhé 🙂
16/05/2019 at 4:40 chiều
Cảm ơn Thịnh nhiều nhé! Bài viết này đã giải ngố kha khá cho mình về BPMN 🙂
04/07/2019 at 7:17 chiều
anh ơi nếu muốn nói chuyện với anh nhiều hơn để trao đổi thì liên lạc như nào ạ?
07/07/2019 at 1:21 sáng
Hi Tùng, có gì em cứ email anh nhé: [email protected] 🙂
31/07/2019 at 4:46 chiều
Đọc mà dễ hiểu lắm! Cám ơn b nhé!
08/08/2019 at 11:01 sáng
Cảm ơn Thanh 🙂
15/09/2019 at 1:30 sáng
Tuyệt vời hay lắm bạn. thanks rất nhiều
15/09/2019 at 3:07 sáng
Cảm ơn Dũng 🙂
15/09/2019 at 5:21 sáng
bài viết hay lắm bạn,hi vọng bạn sẽ tiếp tục với những bài bổ ích cho nghề BA, và chúc bạn thành công nha
15/09/2019 at 10:44 sáng
Cảm ơn Quyên nhé
15/09/2019 at 9:55 sáng
Bái viết đầy đủ kiến thức chuyên ngành nhưng lại diễn dãi rất dễ đọc dễ hiểu và đặc biết rất bổ ích, cảm ơn bạn.
15/09/2019 at 4:51 chiều
Cảm ơn bạn nhé
15/09/2019 at 2:36 chiều
Thanks anh nhiều, e đã từng sử dụng BPMN để vẽ quy trình mà vẫn chưa thực sử hiểu được rõ các kí hiệu
15/09/2019 at 9:37 chiều
bài rất hay luôn anh Thịnh ơi! em là sinhv viên và đang bổ sung thêm kiến thức cho mình về B.A. Em cảm ơn Anh Thịnh nhé!
15/09/2019 at 3:21 chiều
Cảm ơn em nhé. Nhớ share cho 500ae xem ủng hộ a nha
27/09/2019 at 11:38 sáng
Bài viết quá hay + chi tiết ạ 🤩 Thanks a rất nhiều! Mong anh cố gắng tiếp tục đóng góp cho cộng đồng BA Việt Nam ạ!
30/09/2019 at 10:58 chiều
Đóng góp cho cộng đồng nghe đao to búa lớn quá e :)) anh chỉ note lại những gì anh biết thôi. Cảm ơn em nhé!
17/10/2019 at 10:55 sáng
Dear anh Thịnh,
Rất cảm ơn những bài blog của anh. Cho em hỏi thêm về BPMN và tool Draw.io. Hiện tại em cũng đang tự học cách sử dụng Draw.io để thiết kế process flowchart (Khóa Process Flowcharts & Process Mapping – The Beginner’s Guide trên Udemy). Tuy nhiên em thấy trên Draw.io không có đầy đủ các ký hiệu của BPMN (em có check cả Visio), ví dụ như Artifact Data storage, BPMN ký hiệu khác, Draw.io ký hiệu khác (?). Vậy trong thực tế, sử dụng Draw.io (không làm đúng hoàn toàn theo các ký hiệu của BPMN) thì có được chấp nhận không? Nếu không thì em cần sử dụng tool nào? Nếu có, khi sử dụng draw.io để làm việc, stakeholders hoặc colleagues có hiểu hay không?
Rất cảm ơn anh, chúc anh ngày làm việc hiệu quả!
Best,
Minh
30/10/2019 at 3:01 chiều
Cảm ơn Minh đã đọc blog. Thực tế anh dùng Draw.IO vẫn bình thường ngon lành cành đào. Đúng là nó có 1 số ký hiệu không có trong BPMN thật. Thường anh sẽ tự chế ra, tức lấy các icon khác gộp vào sao cho giống ký hiệu của BPMN nhất, rồi group nó lại. Cái nào khó thể hiện quá thì cứ note thẳng vào hình.
Vả lại, anh vẽ BPMN thì toàn đi clone từ các dự án trước mình đã làm. Một là đỡ vẽ lại những thứ cơ bản như lane, pool, task…, hai là sẵn cop luôn những thứ mình tự chế, đỡ mắc công chế lại. Nói chung giúp tiết kiệm thời gian, làm 1 lần, dùng nhiều lần kiểu vậy.
Với lại, ký hiệu chuẩn của BPMN cũng chỉ để mình tham khảo thôi, chứ ko nhất thiết phải bám sát 100% vào nó đâu. Vì còn tùy vào nhiều, tùy vào đối tượng khách hàng của em như thế nào nữa. Đưa ra một đống hầm bà lằng, ký hiệu tới lui tùm lum tùm la hết nhiều khi họ cũng ko chịu đọc đâu.
Do đó, quan trọng là mình linh hoạt như thế nào cho dễ hiểu, đơn giản, và thể hiện được ý đồ của mình nhưng không vi phạm quy tắc vẽ BPMN là được 🙂 Em tham khảo nhé. (sr e anh bị miss comment nên giờ mới rep em được).
07/11/2019 at 9:16 sáng
Hi anh Thịnh, em thấy BACS có 1 khóa học ứng dụng BPMN.
EM có nên học khóa học khóa học đó không ạ?
Em xin cảm ơn ạ
20/11/2019 at 10:35 chiều
Hỏi gì khó quá em :'( cái này thì tùy em, nếu em có khả năng tự học thì em học trên mạng cũng nhiều case study thực tế. Còn không thì em cứ đi học khóa BPMN. Cái nào cũng có 2 mặt mà.
19/12/2019 at 1:31 chiều
Chào em. Chị đang xây dựng QT theo BPMN nhưng mới quá chưa rõ nhiều. Em hướng dẫn giúp chị khi đang vẽ trang 1 đã đầy, bước tiếp theo qua trang 2 sẽ dùng ký hiệu nào? Có phải dùng ký hiệu intermediate event không? Ngoài ra, có thể sử dụng Pool và Land ở dạng đứng thay cho nằm ngang được không?
Cám ơn em!
27/12/2019 at 12:49 chiều
Hi chị, em nghĩ vụ này chắc tuỳ vào tính thẩm mỹ của mỗi người thôi chị.
Như em vẽ sẽ cố gắng gom lại 1 trang, hạn chế dàn trải nhiều trang rườm rà lắm. Mà để được vậy thì em sẽ gom nhóm các sub-process sao cho hợp lý nhất.
BPMN mình để dạng ngang hay dạng đứng gì cũng đc chị nhé 😀
31/12/2019 at 11:24 sáng
Để chị cố gắng gom lại nhưng mới học hỏi nên chưa rành lắm.Cám ơn em đã phản hồi thông tin!
02/01/2020 at 10:20 chiều
Cảm ơn chị, có gì thắc mắc chị cứ nhắn em nhé 🙂
01/10/2022 at 7:32 chiều
Mình muốn thuê vẽ bizagi
03/01/2020 at 10:28 sáng
Bạn ơi, BPMN show cho khách hàng liệu khách hàng có hiểu không bạn vì mình chưa vẽ bao h chỉ mô tả tất tật trong SRS nhưng thường với khách hàng IT họ hiểu còn khách hàng là các ngành khác thì dùng rất nhiều cách cơ mà chỉ là lưu đồ đơn giản
13/05/2020 at 6:29 chiều
Chào My, BPMN mình vẽ đơn giản cũng được mà 🙂 Chỉ cần task, flow, gateway đơn giản là thể hiện được rồi.
Nếu My cần thể hiện ý đồ chi tiết hơn thì phải dùng nhiều ký hiệu chi tiết hơn. Còn nếu KH ko cần quá chi tiết thì mình đừng nên bỏ vào quá nhiều ký hiệu phức tạp.
Ngoài ra chỗ nào thể hiện bằng ký hiệu ko được, thì mình cứ làm cái khung rồi note ngay trên hình cho rõ ràng 🙂 Cũng k nhất thiết phải vẽ theo chuẩn 1 cách cứng nhắc đâu. My cứ thử nhé!
08/05/2020 at 9:58 chiều
ui, bài viết vừa dễ hiểu, vừa mang tính chất giải trí, mà vừa kết hợp giải thích thực tế nên dễ hiểu. cảm ơn bài viết này rất nhiều, nhờ những bài viết như thế này mà em thấy những thứ khô cứng, khó nhai trở nên dễ dàng, dễ hiểu, và dễ thương hơn rất nhiều ạ. hi vọng được học hỏi nhiều kiến thức của anh hơn nữa. Cảm ơn anh rất nhiều.
13/05/2020 at 6:26 chiều
Cảm ơn Hải nhiều nhé 🙂
20/03/2021 at 12:05 sáng
Hnay có người nói tới BPMN, tò mò nên search thử ggl xem nó là cái gì và click vào trang này thấy tác giả viết có tâm quá. Cảm ơn anh nhiều nhé.
03/04/2021 at 6:00 chiều
Cảm ơn bạn nhé 🙂
14/09/2020 at 6:00 sáng
Bài viết hay, cảm ơn bạn nhiều nhé
14/09/2020 at 10:34 chiều
Cảm ơn bạn
14/09/2020 at 1:05 chiều
Bài viết rất hay và tâm huyết, cám ơn anh ạ
14/09/2020 at 2:36 sáng
Cảm ơn em
14/09/2020 at 2:03 chiều
Có tuyển đệ tử không?
14/09/2020 at 4:46 chiều
Idol <3
14/09/2020 at 8:28 chiều
bài viết rất cụ thể và hay, hình như trước đây em cũng đã từng đọc nhiều bài viết của anh
14/09/2020 at 7:28 chiều
Hi Vũ, cảm ơn em nhé 🙂 mà e có nhớ trước đây em đọc mấy bài của anh ở đâu ko?
14/09/2020 at 11:38 chiều
anh có fanpage fb hay j ko a
10/11/2020 at 5:16 chiều
Thanks anh Thịnh, các bài viết về BA rất hay. E cũng là 1 BA khi đọc vào các bài trên blog của a đã giúp em hiểu biết nhiều điều hơn.
10/11/2020 at 7:04 chiều
Cảm ơn Trường, có gì thắc mắc cứ nhắn anh nhé. Share được gì anh share 🙂
09/12/2020 at 11:28 sáng
Anh Thịnh ơi, cho em hỏi chút với ạ, ở Hà Nội có trung tâm nào uy tín học BA không anh Thịnh nhỉ (em giờ đang là trang giấy trắng muốn từ cơ bản đi lên ạ). Em cảm ơn anh.
11/12/2020 at 11:07 sáng
Hi Tú, ở Hà Nội anh nghĩ có nhiều, em cứ lên Facebook tham khảo thêm nhé. Có thể em cần bài note này, đọc tham khảo thêm em nhé: https://thinhnotes.com/chuyen-nghe-ba/co-nen-di-hoc-khoa-hoc-ba/
11/12/2020 at 2:04 chiều
Cho em hỏi là khi nào thì dùng kí hiệu đóng lại của Exclusive gateway. Anh có thể ví dụ ko ạ
27/12/2020 at 11:21 sáng
Hi Hương, có thể đóng lại nếu: có ra nhánh gateways nào thì cũng sẽ chung 1 hành động. Hoặc có thể ko cần đóng lại nếu mỗi nhánh gateways ra một hành động khác nhau nhé em. Nếu chưa rõ thì xem bài note thứ 3 của anh nhé 🙂
https://thinhnotes.com/chuyen-nghe-ba/quay-toi-ben-voi-bpmn/
25/01/2021 at 3:18 chiều
Anh ơi, cảm ơn anh nhiều nha. Anh viết bài dễ hiểu mà chân tình quá. Thích anh quá chời á.
04/02/2021 at 8:54 chiều
Cảm ơn Ngân nhiều nhé 😀 (sr anh bị miss mất cmt của em, giờ mới thấy :v )
12/03/2021 at 9:46 sáng
Em chào anh. Sau khi đọc xong bài này của anh, cũng là lần đầu em tiếp cận BPMN, em có bịa ra 1 quy trình và vẽ thử như thế này. Phiền anh, có thời gian rảnh có thể check giúp em được không ạ. Quy trình text là như thế này ạ:
—> Khi khách hàng đăng ký tài khoản, thì hệ thống tự động gửi 1 email kích hoạt cho khách hàng. Ngay sau khi nhận được thông báo, việc đầu tiên Bộ phận CSKH làm là check thông tin khách hàng trước(Họ tên, email, sđt, đã kích hoạt hay chưa,…). Sau đó bộ phận CSKH sẽ gọi tới khách hàng để hỗ trợ khách hàng. Nếu trường hợp khách hàng chưa kích hoạt thì sẽ xác nhận địa chỉ email khách hàng có đúng hay không, nếu đúng thì hỗ trợ kích hoạt (kích hoạt thủ công giúp khách) còn nếu sai thì hướng khách qua đăng ký tài khoản mới, sau đó chuyển qua 1 trong 3 trường hợp dưới. Với khách hàng đã kích hoạt thì chuyển qua 1 trong 3 trường hợp dưới:
1: Nếu khách chỉ là người mua hàng đơn thuần thì hướng dẫn khách mua hàng, sau 30 phút sẽ liên hệ lại kiểm tra xem khách hàng đã mua được hàng hay chưa.
2: Nếu khách hàng đang có nhu cầu mua và họ cũng là nhà bán hàng (chưa tham gia) thì sẽ hướng dẫn khách mua hàng trước, sau đó giới thiệu sơ qua về nền tảng để mời họ tham gia, sau đó chuyển thông tin khách cho bộ phận kinh doanh tư vấn và chốt gói dịch vụ (Quy trình chốt gói dịch vụ hiện em rút gọn lại chưa triển khai ạ)
3: Nếu khách hàng là nhà bán hàng và có nhu cầu tham gia bán hàng thì sẽ giới thiệu sơ qua về nền tảng, sau đó chuyển thông tin khách cho bộ phận kinh doanh tư vấn và chốt gói dịch vụ.
Phiền anh check sơ đồ giúp em ạ. Cảm ơn anh.
Link ảnh sơ đồ: https://ibb.co/28YVJGp
Link sơ đổ: https://drive.google.com/file/d/1K-3iJjzRz6-7Vc80VohdJjuiZ_SU5tAG/view?usp=sharing
12/03/2021 at 10:09 sáng
Nãy link bị lỗi chút, nên em xin phép tạo comment mới ạ.
Em chào anh. Sau khi đọc xong bài này của anh, cũng là lần đầu em tiếp cận BPMN, em có bịa ra 1 quy trình và vẽ thử như thế này. Phiền anh, có thời gian rảnh có thể check giúp em được không ạ. Quy trình text là như thế này ạ:
—> Khi khách hàng đăng ký tài khoản, thì hệ thống tự động gửi 1 email kích hoạt cho khách hàng. Ngay sau khi nhận được thông báo, việc đầu tiên Bộ phận CSKH làm là check thông tin khách hàng trước(Họ tên, email, sđt, đã kích hoạt hay chưa,…). Sau đó bộ phận CSKH sẽ gọi tới khách hàng để hỗ trợ khách hàng. Nếu trường hợp khách hàng chưa kích hoạt thì sẽ xác nhận địa chỉ email khách hàng có đúng hay không, nếu đúng thì hỗ trợ kích hoạt (kích hoạt thủ công giúp khách) còn nếu sai thì hướng khách qua đăng ký tài khoản mới, sau đó chuyển qua 1 trong 3 trường hợp dưới. Với khách hàng đã kích hoạt thì chuyển qua 1 trong 3 trường hợp dưới:
1: Nếu khách chỉ là người mua hàng đơn thuần thì hướng dẫn khách mua hàng, sau 30 phút sẽ liên hệ lại kiểm tra xem khách hàng đã mua được hàng hay chưa.
2: Nếu khách hàng đang có nhu cầu mua và họ cũng là nhà bán hàng (chưa tham gia) thì sẽ hướng dẫn khách mua hàng trước, sau đó giới thiệu sơ qua về nền tảng để mời họ tham gia, sau đó chuyển thông tin khách cho bộ phận kinh doanh tư vấn và chốt gói dịch vụ (Quy trình chốt gói dịch vụ hiện em rút gọn lại chưa triển khai ạ)
3: Nếu khách hàng là nhà bán hàng và có nhu cầu tham gia bán hàng thì sẽ giới thiệu sơ qua về nền tảng, sau đó chuyển thông tin khách cho bộ phận kinh doanh tư vấn và chốt gói dịch vụ.
Phiền anh check sơ đồ giúp em ạ. Cảm ơn anh.
Link ảnh sơ đồ: https://ibb.co/hMbkcHP
Link sơ đổ: https://drive.google.com/file/d/1c8gIrxPWc35Xw9cuVp1XIlLmCJZhtv9P/view?usp=sharing
26/05/2021 at 4:46 chiều
Anh ơi, anh làm tiếp chủ đề về bắt lỗi thường gặp khi vẽ sơ đồ theo BPMN đi ạ
20/07/2021 at 2:16 sáng
Em cảm ơn anh rất nhiều, nhờ bài này em thực sự đã đả thông kinh mạch về BPMN.
Mong được làm quen với anh qua facebook để có thể học hỏi nhiều hơn từ anh cũng như bình luận về bóng đá ạ. Cảm ơn anh ạ.
20/07/2021 at 10:04 chiều
Cảm ơn em. Có gì cứ nhắn facebook anh nhé
27/07/2021 at 7:35 chiều
hay thực sự
14/09/2021 at 4:17 chiều
Thanks Dũng nhé
27/07/2021 at 7:42 chiều
Anh ơi, anh cho em hỏi chỗ Messenger Flow hai cái mũi tên nét đứt và mũi tên nét đứt có hình lá thư sử dụng khác nhau như thế nào ạ?
14/09/2021 at 9:02 sáng
Theo anh là như nhau thôi e, mình gắn thêm hình lá thư cho đẹp vs rõ nghĩa hơn ak
10/08/2021 at 2:44 chiều
tks! rất hay và bổ ích
17/08/2021 at 5:36 chiều
Thanks bạn
24/08/2021 at 12:55 chiều
Anh ơi, em đang vẽ cái model có 2 pools là company và customer. Nhưng mà cái model của em nó dài quá =(( em chèn vô report không được. Em đang suy nghĩ về làm sub-process nhưng mà các activities của 2 pools nó cứ giao tiếp với nhau thì em phải làm sao đây ạ? Em mong anh cho lời khuyên giúp em ạ huhu.
14/09/2021 at 9:30 chiều
Hi em, anh nghĩ có 2 cách:
1. Là e cứ làm subprocess, rồi 2 quy trình này cứ giao tiếp với nhau bằng Flow bình thường
2. Là e gom thành 1 hình, các task em phân rã tổng quát 1 hơn tí, đừng chi tiết quá, thì sẽ rút ngắn được số lượng các task lại. Khi làm FS thì em mô tả rõ từng task hoặc nhóm các task thành Use Case nhé
31/08/2021 at 3:05 sáng
+1 uy tín cho các bài của bác. Đã đọc và thấy rất hay
14/09/2021 at 11:16 chiều
Thanks bác
31/08/2021 at 6:17 sáng
Mình đọc thấy rất hay, mình muốn chuẩn hóa quy trình quản lý sinh viên bằng bpmn. Rất muốn nhận được sự giúp đỡ từ ad. Cám ơn.
07/09/2021 at 9:35 chiều
thanks ad nhiều . rất có tâm và có tầm …
07/09/2021 at 8:07 chiều
Thanks bạn
14/09/2021 at 5:43 sáng
đoc hay qá bạn ơi , lại dễ hiểu nữa
14/09/2021 at 5:02 chiều
Thanks Nhi nhé
28/11/2021 at 5:13 sáng
Đọc thấy hóm hỉnh và dễ hiểu, cảm ơn tác giả
05/12/2021 at 4:32 sáng
Cảm ơn Châu
28/11/2021 at 10:20 chiều
đọc vô thông não liền luôn, bài viết được thật sự
05/12/2021 at 8:27 sáng
Cảm ơn Toàn nhé
31/12/2021 at 9:12 chiều
anh ơi, cái hình ví dụ về timer event và message event đấy, cái message event nhận đồ ăn sáng mình để trong 1 task tên là nhận đồ ăn sáng được không ạ và vì sao thế ạ
14/01/2022 at 7:39 sáng
Best view i have ever seen !
16/03/2022 at 10:28 sáng
Em hỏi chút phần 2.1 em có thấy anh nhắc đến Sub-Process có đường nét đứt, nhưng trong tất cả các ví dụ bên dưới em không để ý thấy event nào có đường nét đứt cả ạ. Hay do Activity này ít dùng, anh có thể giải thích hoặc lấy ví dụ thêm để em dễ hình dung không ạ? Em cảm ơn anh.
19/03/2022 at 12:30 chiều
Hi em, sub-process nét đứt thì thường là hình lớn bên ngoài, bao các task nhỏ bên trong như hình dưới
Còn sub-process người ta có thể dùng nét liền với dấu cộng nếu như collapse (gom D E F lại) như sau
30/03/2022 at 6:59 chiều
Anh ơi cho em hỏi nếu trong 1 phần mềm/ dự án có nhiều quy trình thì mình để nhiều bảng BPMN hay gộp tất cả vào 1 nhưng có nhiều điểm bắt đầu ạ?
19/04/2022 at 9:12 chiều
Chia nhỏ thành các quy trình cho dễ quản lý nhé em. Cần thì làm 1 quy trình tổng quan, rồi zoom nhỏ từng sub-task lại thành từng quy trình
07/12/2022 at 11:05 sáng
Quá hay luôn a
18/02/2023 at 10:19 sáng
Cảm ơn em
14/12/2022 at 3:15 chiều
Chào anh Thịnh
Em có tập vẽ 1 cái quy trình mua hàng bằng ứng dụng shoppe, có 1 cái task của customer là ”nhắn tin” với shop, em không biết để nó ở chỗ nào. Vì khách hàng có thể nhắn tin với shop trước khi mua hàng hoặc sau khi mua. Vậy em có để nó là sub-process được không anh
Em cảm ơn.
18/02/2023 at 10:24 sáng
Hi Bình, thường messaging là Use Case nằm ở mọi process. Ví dụ:
– Quy trình khiếu nại e cũng có thể có bước nhắn tin trong đó
– Quy trình trả hàng e cũng có thể có bước nhắn tin
– Và nhiều quy trình khác trong hệ thống của mình đều có thể có bước nhắn tin.
Nên nếu em muốn mô tả cụm tính năng nhắn tin có những gì, hoạt động ra sao thì dùng Use Case. Còn BPMN chỉ để diễn tả để Job to be done thì cần làm những task gì, logic đi qua những task đó ra sao, cũng như là ai làm
=> Mục đích sau cùng là để diễn đạt “QUY TRÌNH”, nên quan trọng nhất là những terms như “cái nào trước, cái nào sau”, “cái này cần làm được thì phải có gì”,….
Nên về concern của em thì phải clear rõ thứ tự các bước trong quy trình nhé. Cái đó là quan trọng nhất. Còn nếu optional thì em có thể dùng gateway để diễn giải thêm.
21/12/2022 at 5:26 chiều
A ơi e vẫn mơ hồ về 3 loại event bắt đầu, ở giữa và kết thúc. Mong a có thể chia sẻ rõ hơn về phần này ạ
28/12/2022 at 6:21 chiều
quá đỉnh. Cảm ơn a nhiều ạ hêh
16/02/2023 at 9:45 chiều
Cảm ơn em nhé
14/01/2023 at 8:21 chiều
Cám ơn anh Thịnh đã chia sẻ kiến thức.
16/02/2023 at 9:44 chiều
Cảm ơn em
09/02/2023 at 11:50 sáng
Anh Thịnh ơi, em đọc một hồi thì em vẫn hơi mơ hồ ở đoạn inclusive gateways và parallel gateways. Cả 2 gateways này đều cho nhiều flows chạy cùng 1 lúc được á. Vậy khác nhau ở đâu vậy anh
18/02/2023 at 10:32 sáng
Hi em, Exclusive là quy trình chỉ được chạy theo 1 nhánh tại 1 thời điểm. Parallel là quy trình CÓ THỂ chạy theo nhiều nhánh tại 1 thời điểm.
Ví dụ:
EXCLUSIVE: Quy trình reimburstment.
+ Nếu Invoice trên US$5,000 thì phải qua CEO duyệt.
+ Nếu Invoice dưới hoặc bằng US$5,000 thì chỉ cần Purchasing Manager duyệt
(Vì tại 1 thời điểm, 1 cái Invoice chỉ có giá trị: 1 là trên 5,000, 2 là dưới hoặc bằng 5,000 thôi. Không thể nào 1 Invoice mà nó vừa trên 5,000 lẫn dưới 5,000 cả)
PARALLEL: Quy trình làm Pizza. Sau khi order được confirmed bởi reception. Phía bếp sẽ mở ra 1 Parallel Gateway để tiến hành các tasks sau, SONG SONG, bao gồm: Làm vỏ bánh, Làm nhân, Làm sốt. Sau khi cả 3 tasks này done => Parallel Gateway mới merge lại để đủ điều kiện đến task tiếp theo là: Đóng hộp. Vì nếu không đủ cả 3 tasks này thì không ra được cái bánh Pizza, nên không đủ điều kiện đi đến bước “Đóng hộp” em nhé.
05/04/2023 at 4:16 chiều
Anh ơi, anh cho em hỏi một chút ạ. Pool thì thường có 3 lane, bây giờ em muốn thêm 1 lane vào nữa là 4 lane thì cần phải làm sao ạ?
18/06/2023 at 10:51 chiều
Thì cứ thêm vào mà xài thôi em, tool nào cũng sẽ thêm được hết, em xem kỹ cách xài rồi thêm vào. Cứ thoải mái thể hiện ideas, đừng quá cứng nhắc em nhé
11/07/2023 at 8:21 sáng
Cảm ơn chia sẻ rất hữu ích của anh. Em đang bị confused khá nhiều ở Sub-process và Call Activity (hiện tại thì em thấy 2 cái nó đang không khác gì nhau và có thể sử dụng thay thế cho nhau). Sub-process để gom các hoạt động liên quan lại với nhau. Call Activity để gọi một quy trình đã tồn tại và được định nghĩa. Tuy nhiên theo em hiểu, Sub-process cũng có thể gọi một quy trình đã có. Hay define 1 quy trình bằng cách gom các hoạt động có liên quan lại và sử dụng qua Call Acitivity. Anh có thể giải thích giúp em để làm sao phân biệt được 2 cái này và dùng trong hoàn cảnh nào thì phù hợp với ạ.
29/08/2023 at 3:09 chiều
Anh ơi cho em hỏi, trường hợp muốn mô tả job chạy tự động (có thời điểm, tần suất) thì vẽ như nào đc ạ?
Em cảm ơn anh
29/10/2023 at 5:54 chiều
Em đang học trên lớp phần này mà bị rối quá, đọc bài của anh xong cảm giác được giải ngố thật sự keke
Em cảm ơn anh nhiều lắm ạ!!!
29/05/2024 at 5:23 chiều
Anh ơi, cho em hỏi xíu, em đang thắc mắc là trong 1 BPMN có thể có 2 start event không ạ?
Ví dụ: Trong bài toán kiểm kê kho, bộ phận kiểm kê kho có thể kiểm kê 1 mình hoặc kiểm kê cùng bộ phận QC. Khi QC tham gia cùng thì thời điểm start khác nhau và độc lập; Mà QC cũng có thể tạo 1 kế hoạch kiểm kê như bên bộ phận kiểm kê kho, thì nên tạo 1 BPMN khác hay tạo 1 nút start khác ạ?
Em cảm ơn anh ạ