業務流程管理(BPM)產品設計
BPM也就是流程,在流程中,可以自己一個人獨挑,也可以進行團隊合作,均需按流程完成。那么,如何進行業務流程管理設計呢?一起來看一下吧。
一、淺談什么是BPM?為什么要搭建BPM?
BPM說簡單點就是流程,比如把大象裝冰箱一共分幾步,這就是流程;這個流程中,可以自己一人獨挑,也可以進行團隊協作,均需要按流程完成。
企業搭建流程的目的:規范員工行為和高效管理。就跟流水線一樣,每個人負責1個環節或者多個環節,這樣效率更高,員工的替換成本也低;(流水線作業)
企業的搭建流程中心的主要是為了逐步實現標準且固化的業務流程,讓每一個員工像產線工人一樣,去執行標準的行為和動作,以達到提升企業效率,降低運營成本的目的。
每次說到這里,總有人抬杠,企業很多制度和流程,并沒有提升企業效率,比如明明不需要審批的,卻要審批或者明明可以一步做完的,非要分幾步等等。這個可以從兩方面考慮:
- 企業的制度有問題,這一點可以參考麥當勞兄弟設計出餐流程,這時候是需要優化流程;
- 沒有理解該制度和流程的精髓,因為有時千里之堤毀于蟻穴;
如果還要繼續battle,那我只能告訴你,要么優化,要么執行,要么走。
二、設計概要
在企業中,萬物皆可流程化;大到項目運轉,小到橡皮借用,皆可進行流程化;流程很重要,我常比喻為“指揮棒”、“指路牌”、“打釘槍”。
- 指揮棒:站在管理者角度,依托標準化流程可以指揮企業各項工作的順利推進;
- 指路牌:在工作/項目角度,在每一個階段和過程中,告訴執行者應該做什么,應該怎么做;
- 打釘槍:站在員工角度,需要把工作當做釘子,釘在該有的位置;
在企業信息化過程中,會碰到各種流程,常見的幾種場景:
- 審批流程:比如請假流程、報銷流程;
- 工作流程:比如項目交付、合同簽訂,都是有明確的步驟和業務動作(跟大象裝冰箱分3步一樣);
- 自動流程:無需人工,滿足條件即執行;比如每創建一個客戶后,自動給客戶發送產品宣傳郵件;
從以上的場景,我們可以清楚的知道,流程是存在多種場景和多種業務對象里的;尤其是一些業務多樣化企業或者大中型企業,相同的部門和業務也有不同的流程,不同的人群不同的業務有不同的流程,這種多樣性和復雜性從本質上決定了流程中心的發展需要高度抽象化和配置化(需要將流程和業務解耦,各自干各自的,相互不影響/較小的影響)。
如果每項流程都單獨做,會有重復工作且數據不通,無法分析和統計企業工作。
所以,BPM設計要遵循以下原則:
1)獨立性
流程和業務看做是兩個獨立的人,只是在相互合作時,嚴格區分哪些是你的,哪些是我的;畢竟你能給我的,別人也基本能給我;而我的就是我的,我會越來越豐富,能力越來越強。(你指業務,我指BPM)
2)開放&集成
BPM要多個系統集成,也就是要跟多人同時合作,要做好開放對接能力和做好數據集合&區隔;要建立開放平臺,明確好對接規則,這樣滿足規則并經過授權的都可以使用。
3)數據&效能
企業運營會產生大量數據,BPM要有數據管理的能力,也要保證一定的數據處理效率,所以做好全面數據存儲和區分就非常重要,數據庫架構要在初期構建時就要搭建好。
4)安全性
各個系統的數據都要對接BPM,不光內部要做好權限控制,也要保障數據安全,防止黑客攻擊或未經授權的數據檢索;也就是說,跟多人同時談戀愛,什么該做什么不該做,要區分清楚,還要防止偷窺隱私,做時間管理大師!
5)流暢性
每個系統可能有獨立的賬戶體系,要支持單點登錄(SSO),在業務系統可直接訪問;做好賬戶管理,讓用戶在多平臺上輕松登錄和訪問;對于流程執行的事項,要有跟進和反饋,并進行及時通知,給流程加加速。
圖1:業務流程管理流程
名詞解釋:在考勤系統中,提交請假單為例:
- 實例數據:業務對象具體的數據,比如請假單,員工張三請假3天、開始結束時間等,這就是實例數據;
- 業務系統:執行具體業務的系統,考勤系統、CRM系統、費用管理系統等;
- 業務對象:也就是我們常說的表單(實際是有區別,以下皆稱為表單,方便理解),比如請假單、訂單都屬于業務對象;
- 事件:滿足一定條件后,執行的工作內容,如發送短信、發送通知等;
三、BPM設計
流程中心設計,首先要明白流程的本質是按照流程進行事務辦理,那么可以將流程中心抽象為:人、節點、事(也就是說什么人在什么節點做什么事),映射到產品設計上就是:執行人、流程節點、操作/事項配置。
BPM作為多系統管理的可復用能力,在實際的應用中,要具備管理能力和業務實時交互能力。
對于一個完整的業務閉環來說,至少包括4個環節:
1、對什么業務進行處理;
2、這個業務有什么樣的動作;
3、什么人在哪個節點上做什么事;
4、最后對流程進行監督和管理。
綜上,BPM(業務流程管理)至少要包括5大部分:表單管理、流程應用、流程引擎、事件管理、流程管理。
圖2:業務流程管理產品結構
1. 表單管理:先把工作明確下來
表單管理即流程中心的需要明確的工作內容,比如合同、訂單、報銷單、加班單、出差申請等等,需要應用在流程中進行處理的工作。
- 表單分類:方便業務處理,比如可以分為財務、銷售、考勤,為了適應復雜的業務邏輯,表單分類可放寬到多級分類,建議用4~5級;
- 自定義表單設計:不涉及復雜業務場景的,需要進行流程處理的工作,可以利用表單設計器拖拽設計表單;(可根據業務實際場景,增加字段類型:輸入型、選擇型、功能型,也可以把常用場景封裝為組件)
- 三方表單接入:一般業務都會有自己的業務表單且有復雜的業務交互邏輯,通過表單設計器是無法完成設計的,流程中心也需要對接三方系統的表單;
- 字段管理:表單的字段,需要進行統一的管理;作為中臺,需要開發接口,支持三方字段更新,并且中臺要能夠有一套獨立的字段ID映射管理體系,避免多系統、多業務字段沖突。
2. 流程應用:把工作進行拆分
表單對接完成后,工作類型也就確認了,接下就是把工作中涉及的內容進行拆分;發起流程后,不同的節點由不同的人進行辦理,那么這些人辦理什么內容呢?
所以流程如果想要應用起來,需要提前對對象所涉及的工作進行詳細調研,包括但不限于:觸發入口整理(哪里能夠觸發流程)、流程動作注冊(流程辦理人需要完成的操作)、待辦數據和已辦數據。
流程應用,需要重點抽離出表單對應的業務動作,比如審批、辦理、確認、分派、自動任務;在產品設計時,重點是抽離不同表單的操作并抽象為流程動作。不同的動作包含不同的操作;不同的按鈕對應不同的行為。
- 查詢&賦值:面向對象進行數據查詢存儲在指定變量中,可在流程中執行變量賦值;
- 審批:由執行人進行審批操作。(通過、駁回)
- 辦理:由執行人進行業務辦理。(辦理、結束辦理)
- 確認:執行人僅需對業務數據進行等待并確認。(確認)
- 分派:執行人可以自定義下一個節點的執行人及對應動作。(分派)
- 自動任務:對應的執行人僅接收數據無需進行任何操作,流程自動向下流轉??捎糜跇I務數據同步和自動事件執行,如合同簽訂后,自動生成開票申請并發郵件通知財務。
業務動作還會配套一些通用的操作,可在節點上進行權限控制,如評價、下載、打印、掛起/繼續、加辦、轉交。
業務動作的梳理是一個比較大的工程,除了要跟業務系統在動作上達成共識以外,還需要對不同的業務動作及其操作進行抽離,最后還需要適配業務系統的權限控制。
抽離出的業務動作,如果有自動化內容或者多規則情況時,可擴展動作的策略;比如分派動作,可執行批量查詢后,配置自動分派策略(比例法、輪轉法等);又比如辦理動作,需要按照工作量進行辦理任務的指定,可面對任務辦理人,配置指定策略;
策略配置注意點:要面向對象屬性進行配置,千萬不要寫死邏輯,否則擴展性大大降低了;
以上內容就將工作進行了拆分,也就是說,把當前這個表單需要流程推進的工作進行拆分,可以配置給不同的執行人進行處理。
3. 流程引擎:設計工作流水線
流程引擎主要就是完成人-節點-事配置:
- 人:什么人可以觸發流程?發起的數據能夠滿足觸發條件?什么人處理事務?
- 節點:工作流程怎么配置?節點有哪些規則?處理的約束條件有哪些?
- 事:要處理的工作內容?
1)流程分類
隨著企業的發展,會有成千上萬的業務流程;如果沒有合理的流程分類,員工在使用時、管理員在管理時也會不知所措,所以流程一定要進行有效的分類。建議可以按照部門進行管理,也可以面向業務進行管理。分類一定要認真思考,要充分考慮公司自身的業務,比如業務流程偏通用型的,可按業務類型進行分類;若部門流程千差萬別且存在多種業務流程,則可以按照部門+業務進行區分。
在產品設計時,要支持多級分類創建和管理,同時要支持批量遷移和分類合并。
2)基本信息
基本信息包括:流程相關內容(流程名稱、流程分類、流程說明、流程編號配置等)和觸發器配置
- 流程名稱:名稱是為了更好的對流程進行區分,產品設計時,如果相同人群面向同一業務有多種流程時,名稱支持流程標簽的插入;
- 流程分類:支持從分類中直接創建;
- 流程編號配置:主要用于多業務時,通用的流程編碼規則無法快速判斷業務,可通過流程編碼規則快速區分業務;
- 流程觸發器:是指面向單一對象時,判斷哪些動作/條件滿足時,觸發流程;主要包括:按鈕觸發、頁面事件觸發、實例數據屬性值觸發、人員觸發;
肯定有同學會問觸發條件和流程繪制時的條件分支有什么區別?
從應用場景上來講,條件分支是可以滿足的,但是觸發條件屬于觸發器配置,實際應用中,條件觸發用于不需要觸發流程的數據,不用生成流程數據。(常見的人員觸發、實例數據屬性值觸發)
①人員觸發:支持多態用戶(部門、指定用戶、用戶組、角色、職能、角色組)
圖3:多態用戶選擇
②實例數據屬性值觸發:面向對象/表單配置條件,選取字段進行條件匹配;以下給個參考:
圖4:觸發條件配置
如果企業/組織體系較大時,流程管理權限是可以下放的,需要對用戶進行權限控制的。
3)推進規則配置
推進規則用于控制整個流程的規則,如果場景比較單一,推進規則可以寫死,當要面對多業務場景或者SaaS系統,對于流程的規則要支持多場景配置。
舉幾個例子吧!
- 是否支持推進到任意階段還是必須按階段進行推進;
- 是否支持流程結束后,重新激活;(比如工單發起人對處理結果不滿意,可以申請重新激活)
- 是否支持去重:比如一個人在流程中需要處理多次,是否可以自動跳過;
還有很多其他規則就不一一羅列了,以上規則還有很多細分規則,比如有必須完成的任務時,是否支持推進等等。
規則要結合自身的業務發展,逐步完善,不必刻意追求一步到位。
產品設計時,要把最常用的全部進行默認,也可以根據業務場景搭建常用模板,比如常見的審批流程,就是必須按階段向后逐個推進。
4)流程圖繪制
流程圖繪制,目前市面上較為流行兩種,一種是flowable,一種是像釘釘和飛書那種線性結構;各有優劣吧!總體來講,流程較為復雜的可以采用flowable繪制,流程較為清晰明了且為了降低操作難度角度考慮,可以采用線性結構;流程圖繪制組件主要包括:開始、業務動作、網關、結束。
一個流程中,至少要有一個開始節點和一個結束節點。
開始:只有一個,比較明確;
業務動作:主要配置人、事、節點規則,具體的業務動作可以按照流程應用進行拆分配置;常見的有審批、辦理、分派等;
自動任務:主要用于對數據進行處理和事件發起,如事件、查詢、賦值、抄送等
網關:網關可以理解為分流器(即分支),主要分為條件分支、并行分支;
圖5:網關示意圖
- 條件分支:只能進入其中1個分支,需要添加條件規則,產品設計時條件規則必須配置優先級,不然會出現條件規則交叉情況,導致系統錯誤,條件分支也可以控制分支流向;
- 并行分支:同時進入多個分支,無需添加條件規則,并行分支要特別注意分支合并的問題,尤其是與條件分支同時使用時;
5)節點執行人
節點執行人,表示當前節點的業務動作需要執行的人員范圍;這個范圍主要包括3種類型:用戶、流程相關用戶、數據相關用戶;
- 用戶:支持多態用戶(部門、指定用戶、用戶組、角色、職能、角色組);
- 流程用戶:指定節點的辦理人、辦理的上級、同步指定節點規則;
- 數據用戶:表單內字段對應人/角色/部門、數據相關人(創建人、歸屬人、修改人、提交人)、數據相關規則(創建人/歸屬人/修改人/提交人–連續多級/上級/部門負責人);
在實際業務系統中,權限體系多數采用RBAC,所以執行人在配置時多使用角色,此時就有一個常用的場景:角色中某1個用戶單獨負責某個部門/某個業務線的任務;有兩種設計邏輯,一種是針對單個用戶進行配置,另一種是依托管理規則進行配,置,具體采用哪一種可結合自己公司的業務而定,或者成年人不做選擇,兩種都支持;
6)執行人規則(人工動作節點)
當我們選取了節點執行人后,必然會出現兩種情況:存在多人、壓根沒有人;存在多人時,系統無法判斷如何繼續向下流程;壓根沒有人時,流程會出現中斷,信息會出現丟失;所以,這兩種情況要進行處理,常見的處理方式為:
- 會簽:多人時,所有人都需要進行執行辦理;
- 或簽:多人時,僅需1人進行執行辦理;
- 為空:壓根沒有人時,可以進行指定人、指定管理員、或者支持一些規則,比如連續多級、追蹤角色等;
特別注意:以下情況可在推進控制管理時,需細化配置規則。
- 離職會影響正常審批,也會造成為空;
- 去重會影響會簽/或簽;
- 為空追蹤會持續為空,應設置管理員托底;
7)節點操作配置
在業務動作約束下,配置不同操作名稱及工作內容;
以審批為例:
①設置操作內容
圖6:業務動作(審批)操作設置
②設置工作內容
圖7:業務動作(審批)工作設置
8)節點超時控制
節點超時控制,主要用于對于流程節點有時間控制的需求,比如設備維修;主要包括2個方面:截止時間控制、節點時限規則;
截止時間控制:主要約束節點流程沒有任何處理,出現停滯;但該節點又比較重要時,可以對當前流程進行強制約束;比如自動轉交、自動通過、自動拒絕、自動辦理、事件觸發;也可不進行超時控制,那么待辦任務將自動添加超期標簽;
節點時限規則:對當前節點可添加時限規則,用于控制節點停留時間,加快流程流轉效率;節點時限規則,可以同時配置多個;比如不同時間內,發不同的消息提醒;
時限計時方式一般按照2種方式:固定時間、接收后計時;
滿足時限規則后,可以進行流程約束:自動轉交、自動通過、自動拒絕、自動辦理、事件觸發;
9)節點規則配置
節點規則配置,是因為在實際業務流程中,會出現臨時性情況,執行人拿不定主意或者自己完不成時,需要進行加辦;比如某項工作無法進行評估,可邀請專家一起;
固化的流程也會因實例數據的特殊性,流轉到非工作范圍內時,可進行轉交;比如某項維修單,數據比較特殊,需要指定人進行處理;
一般節點規則配置主要包括:加辦、轉交、抄送;
圖8:節點規則配置
- 加辦:分為前置、后置,也會有單人/多人之分;所以,在執行加辦時,要能夠支持前后的選擇,同時也可配置或簽/會簽;
- 轉交:節點當前執行人,因臨時情況/不在工作范疇內時,可將任務進行轉交,轉交是將執行人進行替換,同時繼承當前節點執行人的所有數據及規則;
- 抄送:主要用于節點特別需要對部分用戶進行數據查閱控制;
10)流程管理
流程管理主要包括:流程版本、實例編號。
- 流程版本:流程在應用過程中,會不斷的調整和優化,每次調整都應創建新版本;以避免在運行的流程數據出現問題,也就是說在運行中的流程仍然用舊版本,新發起的/駁回重新提交的,才會使用新的版本。
- 實例編號:對實例數據要進行編碼管理,根據業務表單情況,進行編碼規則管理;實例數據出現多次觸發單一流程或者觸發不同流程時,可根據實例編號進行流程數據整合。
4. 事件管理:干完活后是發獎金,還是抽鞭子
事件管理,主要用于在進行某種操作/變化時,進行事件觸發;所以事件管理主要包括事件捕獲和事件觸發;
- 事件捕獲:根據流程中配置的事件觸發機制進行定時捕獲、消息捕獲、操作捕獲;為了確保系統的可靠、準確,在產品設計時要有補償機制;
- 事件觸發:當流程執行到事件,會觸發一個事件,在流程中,常見的事件類型有通知消息、短信、郵件、業務流程觸發、新建/更新表單數據;
5. 流程管理:時刻關注工作的進度
作為多業務系統流程管理,需要對流程進行實時監督,以便完成企業特定目標;流程監控可以幫助企業分析流程的性能,找出關鍵問題,改善業務流程的速度、質量及效率。
流程管理主要包括:流程監控、異常流程管理、流程強制介入、流程時效分析;
- 流程監控:對流程數據進行實時監控,可查看數據詳情和流程實時進度,監控流程的持續時間、完成情況等;
- 流程異常:對流程數據中,如果出現異常情況,進行監控,比如節點為空、審批人離職、流程超時等情況,以方便對應管理員對相關流程進行優化調整;
- 流程強制介入:對流程數據進行強制性處理,常見的有:轉交、強行中止;
- 流程時效分析:耗時分析、使用分析、時效分析、超時統計等;
最后:抓不住老鼠的,都不是好貓。
面向實際業務中,只要在整體框架無誤的基礎上,降低一定的靈活性也是可以的,快速實現、快速應用、快速迭代方為上策。
無論多么流暢、多么強大的流程,不能對業務產生增益,都是失敗的!
本文由@張三豐 原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
大佬,已關注,求完整的bpm設計,參考學習,郵箱:holidaylin15@qq.com 謝謝
大佬,已關注,求完備BPM的設計
求個完整的bpm設計,參考學習,郵箱910306191@qq.com,謝謝,
您好,求個完整的bpm原型設計,謝謝大佬,,835736918@qq.com
求個完整的bpm設計,參考學習,謝謝
您好,給您QQ郵箱發郵件了,希望大佬能分享案例學習一下,感謝
求個完整的bpm設計,參考學習,謝謝
您好,問一下是否有成熟的系統?目前項目有相關需求,看是否可以合作
作者是否可以加您微信,詳細聊一下
1426522261@qq.com
非常詳細
你好,有完備BPM的設計嗎?可以聯系嗎?
已關注,求一個完備BPM的設計,感謝
您好可以加您微信,要個完備BPM的設計嗎?私信您了
你好,有完備BPM的設計嗎?可以聯系嗎?
有的
我也想要
關注發私信給我
大佬,已關注,求完備BPM的設計
這個沒辦法私信吧
很詳細
謝謝