關于“流程引擎”的學習、思考與實踐

1 評論 10018 瀏覽 64 收藏 27 分鐘

一般在低代碼平臺、或者OA、CRM產品中,我們常??梢姟傲鞒桃妗边@一模塊的存在。那么,流程引擎究竟是什么?它又可以解決哪些業務上的問題?本篇文章里,作者結合具體產品,從定位、作用、實踐等維度對流程引擎做了一定思考,一起來看一下。

一、寫在前面

最近心血來潮,一直想總結復盤一下自己此前做的“平臺化”項目,形成文章后分享輸出。但類似項目又實在是過少,且本人也欠缺很多知識,所以直接復盤我的項目,意義和收獲將不是很大,我也怕寫出來誤人子弟,遂就有了本篇內容。

我通過親自上手學習體驗市面上的一些平臺類產品(輕流低代碼平臺、飛書審批流程),試圖理解其設計理念后,再與自己過往的經驗做對比、剖析,以期獲得更多收獲和成長,同時將我關于“流程引擎”的一些學習內容和思考整理出來,供大家一同學習和參考~

二、學習目標

  1. 了解流程引擎是什么;
  2. 思考流程引擎為何會出現?流程引擎能用來做什么?
  3. 了解流程引擎的產品設計方法和設計思路,從而為個人在后續產品工作中接到類似任務/找工作跳槽時,提供相關經驗參考。

三、流程引擎多用于應用在哪?什么樣的產品會需要流程引擎?

如若平時有多看、多了解的話,就會發現:流程引擎、表單引擎、報表引擎、門戶引擎…這些所謂的引擎,就是通過各種配置化減少編碼量或無需編碼的方式快速幫助用戶搭建一個流程/報表/應用,多常見于各類【低代碼平臺】產品中,如低代碼平臺“輕流”、“宜搭”。且這些流程引擎、表單引擎、報表引擎、門戶引擎,都處在產品架構的PaaS那一層。

此外,流程引擎、表單引擎…這些引擎也常見于OA、CRM這些超級應用的產品架構中。

輕流CRM應用產品架構

圖1 輕流 CRM應用產品架構(圖來自輕流截圖)

圖2 宜搭產品功能介紹(圖來自阿里云官網)

圖3 飛書產品功能介紹

圖4 紛享銷客PaaS產品架構

為什么流程引擎、表單引擎…這些引擎也常見于OA、CRM這些超級應用的產品架構中?

這也不難理解,OA系統、CRM系統,屬于通用垂直型SaaS產品(多為SaaS形態),服務于各行各業的各類組織和企業,每個企業均會涉及各種各樣的業務流程和業務表單,有些流程是所有企業基本相通的,如報銷流程、請假流程。

但企業與企業之間的流程,總歸有些是不同的,是需要定制化的,一旦OA系統、CRM系統面對的客戶量多起來后,為每個企業或組織單獨定制化開發一套流程或一套表單,是不可能的,根本無法規?;?。

所以,做OA/CRM等這些超級應用的廠商,為了節省定制開發成本,在戰略上/產品架構上會去選擇開發“可配置”的流程、“可配置”的表單、“可配置”的報表、“可配置”的應用,以適配于各行各業的業務應用場景,比如可用于來創建一個報銷審批流程、一個營銷活動審批流程、一個進銷存管理流程等等…。

注:這些做CRM/OA系統和平臺的廠商,會在產品的成長期或成熟期去做這樣的流程引擎。而在產品引入或探索期,是不做的。為什么?

因為,客戶量較少的情況下,開發這樣一套流程引擎、表單引擎的成本可能還要大于直接定制表單、定制流程的成本。

個人認為,低代碼平臺/無代碼平臺,像輕流、宜搭,是CRM、OA、ERP這些業務系統的抽象,是抽象基礎上的再抽象?!绻fCRM系統(如紛享銷客CRM、銷售易Neocrm)可以用來解決各類企業關于“客戶全生命周期管理”的難題;那么低代碼平臺/無代碼平臺,不僅可以解決CRM能解決的問題,還能通過快速搭建自定義應用來解決OA、ERP、任何一個業務系統可以解決的業務難題。

四、輕流“流程引擎”、飛書“流程引擎”上手學習體驗與思考

在了解了流程引擎/表單引擎為何會出現,以及常出現于何種應用場景、何種產品中后,就可以深入去體驗一波現在市面上的一些低代碼/無代碼產品了,通過親自上手體驗學習了解后,作為對這塊完全沒經驗的產品經理,才能自己設計。下面以【自定義報銷審批流程】為例,進行體驗和講解。

圖5、圖6、圖7分別給出了輕流和飛書創建【自定義審批流程】的界面截圖:

圖5 輕流-自定義報銷審批流程-報銷表單填寫示例

圖6 飛書-自定義審批流程-表單設計

圖7 飛書-自定義審批流程-報銷表單示例

通過對比我們發現:不論是輕流的自定義流程搭建、還是飛書的自定義流程搭建、還是圖2宜搭的產品對外功能介紹截圖,建立【流程引擎】都需要這樣幾個必備步驟:

  1. 流程基本信息填寫(包括流程名稱、流程描述等);
  2. 表單設計;
  3. 流程設計;
  4. 發布流程;

思考一下,為什么流程設計里需要表單設計?

這不是廢話一樣么?想一想,是不是我們參與過的任何一個流程,都有表單/訂單/工單?這些表單也好,工單也罷,是用來承載/提交數據的,而流程則是數據流通的管道,所以流程運轉的前提就是要有表單數據,而是否需要表單可配置(表單設計),一般情況下,都會提供現成的模版,但開發商不可能窮舉所有模版,所以就需要表單設計啦。

下面我們逐一使用和思考【流程引擎】搭建過程中,每個步驟實現所必需的功能。

1. 關于【流程基本信息填寫】

流程基本信息填寫,通常包括流程名稱、流程描述等內容的填寫。

這個無需過多解釋,我們平時在設計任何一個業務流程/表單/應用時,都會要求先填寫名稱和描述信息,系統根據這個生成一條獨一無二的數據記錄(分配一個ID)。

對于我創建的【報銷審批流程】,我給它命名為“報銷審批流程”,見圖5。同時關于報銷審批單的字段,我設置了有:項目編號(必填)、報銷類型(必填)、所屬公司/部門(必填)、費用金額(必填,人民幣)、報銷事由(必填)、費用類型(必填)、費用說明(選填)。

2. 關于【表單設計】

通過上面圖2、圖5、圖6,我們看到關于【表單設計】功能,平臺需提供常用的表單控件列表,供用戶拖拉拽到畫布中,還需支持用戶編輯每一個控件的名稱、是選填or必填、控件功能說明提示等基礎設置外,還需支持一些常用的控件高級設置。

控件基礎設置:

  • 如下拉選擇控件,需要定義枚舉選項值;
  • 如文本輸入框,可以設置默認顯示的文字、最長字符數限制等;
  • 如數字控件,需支持設置數字是小數/整數,若設置為小數,還需支持設置小數位數最多幾位;
  • 如是附件控件,則需支持設置常見的附件總共文件大小、附件個數、附件文件類型等這些參數;
  • 如是時間控件,則需支持設置日期類型。

控件高級設置:

在一些場景中,一些選項會有依賴關系。比如在報銷審批場景中,對于“報銷事由”這一項,只有當報銷類型為差旅費或交通費時,才需要員工填寫,此時我們可以對該“報銷事由”控件進行高級設置,設置當報銷類型選中差旅費或交通費時,該“報銷事由”控件才會顯示(這一點也特別類似于我們在使用Axure對元件交互設計時,當某個按鈕某種狀態30秒倒計時結束時,按鈕恢復初始態/隱藏)。

圖8 飛書-自定義審批流程-控件高級設置

再比如如下場景中:我需要根據用戶選擇的信源類型,來展示需要填寫的字段內容(如twitter采集必填是賬號名,tg群組采集必填是url),也可通過上述表單配置/高級配置來實現,在飛書中是高級配置;在輕流中,則是對下拉框設置“邏輯表單”。

圖9 控件高級設置-場景舉例(根據控件1選擇的內容,自適應展示其它控件)

圖10 輕流-自定義報銷審批流程-控件高級設置(邏輯表單規則配置)

3. 關于【流程設計】

首先進行【流程設計】功能體驗前,可以回想一下我們平時用的最多的一些場景,比如【報銷】、【請假】,其業務流程都是怎樣的?然后再基于這個先驗知識再去上手使用會來的容易一些。

這是我們【報銷】/【請假】場景的常見流程(是不是很熟悉?):

  1. 員工發起申請;
  2. 老板/上級/(逐級)負責審批,每一級可以審批通過、也可以駁回、也可以不通過;
  3. 有時還會看到:系統自動抄送給xxxx;
  4. 有些流程允許發起人撤回,有些則不允許撤回。

關于這塊,額外補充下自己的看法與讀者探討。我認為,在流程設計時,可以優先保證正向流程走通,然后再保證逆向業務流程的走通。在產品設計時,除了要考慮正向情況,還要考慮邊界情況。

帶著上面關于請假、報銷場景的流程的先驗知識,我們具體來看一下飛書和輕流的【流程引擎-流程設計】都包含了哪些內容:

圖11 飛書-自定義審批流程-流程配置截圖

圖12 飛書幫助中心/審批流程設計使用說明

圖13 飛書幫助中心/審批流程設計使用說明

圖14 輕流-自定義審批流程/流程設置界面截圖

圖15 輕流-流程引擎/節點說明

圖16 輕流-流程引擎/編輯流程節點負責人-界面截圖

圖17 輕流-流程引擎/編輯審批節點-界面截圖1

圖18 輕流-流程引擎/編輯審批節點-界面截圖2

圖19 輕流-流程引擎/審批節點設置-審批超時提醒配置

圖20 輕流-自定義審批流程-流程配置/添加完審批節點、抄送節點

通過上面幾張界面截圖以及輕流&飛書幫助手冊,我們可以大致總結出如下幾點內容:

1)常見的審批流程,通常包括如下幾個環節:

  1. 發起節點(環節)
  2. 審批節點(環節)
  3. 抄送節點(環節)
  4. 結束節點(環節)

2)發起節點、結束節點一般不需要太多配置功能。

3)審批節點最麻煩,要支持的配置項最多。抄送節點,我覺得應該屬于“旁支”,而像輕流把“抄送節點”放在了主流程中的一環,我覺得不妥當。如下是飛書的考勤異常-補卡申請流程,抄送節點并沒有體現在審批流中。

圖21 飛書-考勤異常-補卡申請

關于審批節點的知識:

  1. 審批環節,業務上一般會出現需要單人審批和多人審批的場景。
  2. 審批類型,一般有會簽、或簽、逐級審批(依次審批)。

對于單人審批的場景,會簽=或簽。

對于多人審批場景:會簽,要求節點上的所有人均通過/均拒絕才可而或簽,只要求一名負責人通過/拒絕即可推進流程正向運轉或退回上一節點。

4)要想通過配置方式,實現諸如上述【報銷審批流程】的搭建,則必須進行業務流程抽象。

  • 流程是由各個環節(節點)組成的。
  • 在每個環節中,我們要支持設置節點的責任人(選擇該流程節點的責任人,需支持快捷選擇節點責任人,如按部門、按角色等),可能是具體用戶、可能是機器人。
  • 在每個環節中,除了設置責任人外,還需要支持設置對節點的操作(通過/不通過/駁回:①通過-通過填寫通過意見;②不通過(不通過填寫不通過原因);③駁回(駁回填寫駁回意見))、超時提醒配置、超時預警配置、待辦轉交配置、添加抄送人及抄送方式等等)。

對于我創建的【報銷審批流程】,我給它命名為“報銷審批流程”,見圖5。

關于報銷審批單的字段,我設置了有:項目編號(必填)、報銷類型(必填)、所屬公司/部門(必填)、費用金額(必填,人民幣)、報銷事由(必填)、費用類型(必填)、費用說明(選填)。

關于報銷審批流程-流程節點的設置,主要分為開始節點(發起申請節點)、審批節點、結束節點,以及在審批節點我添加了抄送節點的設置(即刻通知/郵件方式)。每個節點的負責人,我均設置的是我自己(實際情況中,應該按實際的業務流程要求去設置,這里僅是測試體驗)。

4. 流程創建完畢,發布并應用流程

圖22 輕流-應用發布成功截圖

圖23 輕流-應用列表截圖

1)提交報銷申請

點擊圖23的【發起新的】按鈕,彈出如下表單??梢园l現,報銷審批單需要填寫的內容字段要求,和我此前的配置是一模一樣的。且在我提交了報銷申請后,系統會自動發送待辦給審批節點的負責人(下圖,我把我自己設置成了發起人、審批人,所以我會郵件收到待辦通知)。

圖24 輕流-報銷審批流程-填寫表單

圖25 輕流-報銷審批流程-審批人收到郵件代辦通知

2)審批節點負責人,對報銷申請進行審批操作:通過、不通過、駁回

審批節點負責人,在【待辦】欄,可以點擊待辦任務,進入【審批單詳情】進行審批操作,如下所示:

駁回和通過要填寫原因,且駁回時原因必填(也是我在配置審批節點的駁回操作時設置的必填)。

如上,我(審批負責人角色)對該審批申請,進行了“通過”。

3)查看流程狀態及流程處理結果

每個節點的負責人,均可在對應的欄目下,查看報銷審批流程的狀態及流程處理結果。

  • 對于發起人:應當可以查看到,已發起的流程有哪些?已發起的這些流程,哪些已通過,那些已拒絕,哪些待完善?哪些被駁回?
  • 對于審批人:應當可以查看到,待辦有哪些?我已辦的有哪些?其中我已辦的這些中,通過/駁回/待完善/不通過的,分別有哪些?
  • 對于發起人和審批人,均應當可以查看到流程狀態(現在這個流程到哪個節點了?誰在什么節點做了什么操作?正在做什么操作?已經做了什么操作?)

至此,【輕流】的“流程引擎”基本功能基本體驗完了,一些高級配置功能:像高級表單控件的配置、流程的高級配置,都還未涉及到。讀者可以自行體驗。

此外,輕流還能支持配置表單數據的多種展現形式(卡片視圖、表格視圖、看板視圖、甘特視圖),以及列表展示字段及列表功能(如排序/篩選條件等)的按需配置,真的不得不感嘆它的強大。

如下是輕流【輕流CRM應用】(系統自帶)的活動申請模塊下的活動列表截圖,支持設置活動列表的多種視圖形式,下圖是卡片視圖樣式。

卡片視圖配置/數據展示:

卡片視圖配置/數據范圍:

五、全文總結

本文首先介紹了 “流程引擎”是什么,“流程引擎”出現的目的是解決什么業務問題的,“流程引擎”多出現在何種產品中,以及在產品架構中處于什么位置。

接著,介紹了飛書及輕流“流程引擎”的使用實操,以自定義報銷審批流程為例:一步步創建流程應用(基礎信息->表單設計->流程設計->發布流程),到發布和使用應用),以及思考如何設計一個“審批流程”。

最后簡單介紹了,輕流的列表配置功能。

六、寫在最后

抽象化思維能力、動態思維能力,是產品經理非常重要的能力,實現靜態容易,實現動態難。

這種【低代碼平臺】、【平臺類】的產品(機器學習平臺等),對產品經理抽象化能力的要求不用說,肯定是高之又高。

我覺得,要想鍛煉抽象化思維能力,一個是要平時多練習多思考多總結,另一個是若有機會去嘗試做【平臺類】產品,可以去嘗試,收獲絕對異常多。如果沒有機會去做【平臺類】產品,可以思考你當前的業務或產品,未來如果要發展成“平臺型”產品,你該做哪些準備?然后試著實操一下。

許多業務場景,許多對象一開始也都是從“靜”開始的,而后隨著業務的發展壯大,才變成“動”的。飛書一開始,也不是做面向外部企業的OA工具,而是給企業自己內部用的,隨著業務的發展壯大,需要支持各種各樣的業務流程、業務場景,一些配置化功能,甚至是【配置系統】才得以演變出來。

所以,產品經理平時要多鍛煉自己“動”的思維和思考能力,這樣總歸是百利而無一害。

共勉!

本文由 @南方碟道 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 受益匪淺

    來自山東 回復