產(chǎn)品經(jīng)理初識流程引擎

0 評論 3685 瀏覽 33 收藏 9 分鐘

有些人可能會不太理解“流程引擎”這一概念,簡單來看,“流程引擎”可以看作一種為解決復(fù)雜業(yè)務(wù)流程而被設(shè)計出來的一種流程管理手段。這篇文章里,作者就總結(jié)了流程引擎的概念、價值和對象,一起來看看吧。

一、什么是流程引擎

如果你去網(wǎng)上搜索,可能會被各種專業(yè)的解釋搞得有點(diǎn)摸不著頭腦,從產(chǎn)品經(jīng)理的角度看這個問題,可以簡單地理解為:在產(chǎn)品中,擁有通過可視化圖形界面靈活配置多套業(yè)務(wù)流程的能力,這種“能力”,就是流程引擎。

流程引擎的核心是可在一個產(chǎn)品中配置多套業(yè)務(wù)流程;可視化配置并非流程引擎的標(biāo)配,但可視化配置可以檢驗(yàn)一個流程引擎的靈活程度,如果一個流程引擎無法脫離代碼層面進(jìn)行配置,而是每次配置時都需要開發(fā)人員寫一些補(bǔ)充代碼,這樣的流程引擎是不合格的。

二、為什么需要流程引擎

這個問題很簡單,因?yàn)闃I(yè)務(wù)場景需要。

在實(shí)際業(yè)務(wù)中,有一些場景,流程不單一,或流程經(jīng)常發(fā)生變化,每次都通過代碼去調(diào)整流程是不現(xiàn)實(shí)的,這個時候就需要流程引擎。

流程引擎和傳統(tǒng)流程的區(qū)別,在于傳統(tǒng)流程是將業(yè)務(wù)抽象成流程,一旦業(yè)務(wù)發(fā)生變化,或產(chǎn)生新的業(yè)務(wù),都需要調(diào)整流程的代碼邏輯或重新編寫一套流程代碼;而流程引擎則是將業(yè)務(wù)抽象為流程節(jié)點(diǎn),根據(jù)業(yè)務(wù)的不同,可將流程節(jié)點(diǎn)組合成多個不同的流程。

舉個簡單的例子,以下是常規(guī)的電商交易流程:

但對于貨到付款的訂單,流程則變成了這樣:

在傳統(tǒng)流程中,上圖是兩個獨(dú)立的流程;而在流程引擎中,會將每個流程節(jié)點(diǎn)打散,并根據(jù)業(yè)務(wù)進(jìn)行流程的重新組合:

這樣有幾個好處:

  1. 適應(yīng)復(fù)雜多變的業(yè)務(wù)流程,當(dāng)流程節(jié)點(diǎn)足夠多時,理論上可以組合出無限多種流程搭配;
  2. 流程配置和調(diào)整更加靈活,如增加、刪減或調(diào)整流程順序等;
  3. 提高業(yè)務(wù)模塊的復(fù)用能力,相同流程節(jié)點(diǎn)在不同流程中可以有不同的處理邏輯。

通過流程引擎還可以輕松實(shí)現(xiàn)“流程穿梭”的效果,比如有些企業(yè)的訂單是采用月付的形式,在實(shí)際業(yè)務(wù)中,會形成訂單和結(jié)算兩個業(yè)務(wù)流程,訂單的完成依賴于結(jié)算單的完成,因此就會出現(xiàn)兩條業(yè)務(wù)線相互交叉的情況。

而通過流程引擎,就可以很輕松實(shí)現(xiàn)兩個業(yè)務(wù)流程的交互:

三、流程引擎的對象

流程引擎常規(guī)的對象有3個:人、事、物。

1)人,審批人。常見于 OA 系統(tǒng)的審批流程,比如請假流程,由發(fā)起人發(fā)起請假審批,經(jīng)一人或多人審批完成后,結(jié)束審批流程。

流程變化一般都會與狀態(tài)機(jī)掛鉤,面向人的流程一般只在起點(diǎn)和終點(diǎn)聯(lián)動狀態(tài)機(jī)更新狀態(tài),比如發(fā)起人發(fā)起審批后,到最后一個審批人完成審批前,無論經(jīng)過多少人審批,狀態(tài)始終都是“審批中”,直到最后一個審批人完成審批后,狀態(tài)才更新為“審批通過”。

當(dāng)然,如果中間有任何一名審批人不同意,則會提前結(jié)束流程,并更新狀態(tài)為“審批不通過”。

2)事,事務(wù)。這種流程主要用于呈現(xiàn)業(yè)務(wù)的順序,并且為了明確業(yè)務(wù)的最新動態(tài),一般在流程的每一個節(jié)點(diǎn)都需要聯(lián)動狀態(tài)機(jī)修改狀態(tài),比如上文提到的電商交易流程,就是一種事務(wù)型的流程。

3)物,物件或物流??梢苑从骋粋€物品的去向或動向,比如物流網(wǎng)點(diǎn)運(yùn)輸設(shè)計,可以設(shè)計每個網(wǎng)點(diǎn)之間的運(yùn)輸順序,這樣當(dāng)快件到達(dá)某一網(wǎng)點(diǎn)時,就可以同時明確下一站應(yīng)該發(fā)往哪一個網(wǎng)點(diǎn)。與事務(wù)流程一樣,一般只在起點(diǎn)和終點(diǎn)聯(lián)動狀態(tài)機(jī)更新狀態(tài)。

從以上的幾個流程你應(yīng)該可以看得出,并非每個流程都是獨(dú)立的,在真實(shí)的業(yè)務(wù)場景下,有時候一個流程中會牽涉多個對象,或不同對象之間的流程會有交叉,這種,就是“對象交叉”的現(xiàn)象,下面舉幾個例子,相信你會更好理解。

  1. “人”、“事”交叉:公司的合同用印審批流程(人)和合同歸檔流程(事)是兩個流程,當(dāng)員工發(fā)起合同用印審批流程通過后,系統(tǒng)需進(jìn)入合同歸檔流程,對完成用印的合同進(jìn)行歸檔。
  2. “人”、“物”交叉:公司的用車審批流程(人)和派車流程(物)是兩個流程,當(dāng)員工發(fā)起用車審批流程通過后,系統(tǒng)需進(jìn)入派車流程。
  3. “事”、“物”交叉:比如電商交易中,賣家發(fā)貨(事)后,商品交付給物流,進(jìn)入物流運(yùn)輸流程(物)。

對象交叉的流程有時候是獨(dú)立的,比如派車流程開始時,用車審批流程已經(jīng)結(jié)束,而派車流程要在還車后才結(jié)束;有時候是強(qiáng)關(guān)聯(lián)的,比如上文提到的,月付訂單需要在結(jié)算單結(jié)算完成之后才能結(jié)束。

看到這里,你可能會覺得流程引擎非常復(fù)雜,其實(shí)不然,流程引擎之所以看起來復(fù)雜,是由實(shí)際業(yè)務(wù)的復(fù)雜性決定的,流程引擎恰恰是為了能夠更好、更靈活地解決復(fù)雜業(yè)務(wù)流程而被設(shè)計出來的一種更加簡單的流程管理手段。

本篇文章只是很淺地探討了一下流程引擎,后續(xù)如果有機(jī)會,可以再深入探討一下,如果各位對此有興趣,也可以去搜索相關(guān)資料詳細(xì)了解。

以上便是本文的全部內(nèi)容,感謝閱讀!

專欄作家

產(chǎn)品錦李,公眾號:產(chǎn)品錦李(ID:IMPM996),人人都是產(chǎn)品經(jīng)理專欄作家。不務(wù)正業(yè)的產(chǎn)品經(jīng)理和他的產(chǎn)品設(shè)計。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!