殊途同歸,各有千秋:兩種審批流解決方案
編輯導(dǎo)語:實(shí)現(xiàn)審批流最常見的兩種方法是“BPM方法”和“層級(jí)審批方法”,后者更加貼近本土用戶使用習(xí)慣。本文作者以訂單審批為例,剖析層級(jí)審批的設(shè)計(jì)邏輯,一起來看一下吧。
審批流是企業(yè)中高頻業(yè)務(wù)場景。實(shí)現(xiàn)審批流的方法很多,最常見的有兩種抽象:
1)BPM方法
工作流引擎。雖然BPM的完整概念是商業(yè)業(yè)務(wù)流程,但是多數(shù)開發(fā)者把BPM結(jié)合國內(nèi)情況,收斂了BPM的范圍,核心約束在:表單+流程的范圍,或更縮小到自定義表單+自定義審批流程的范圍。BPM的核心是:基礎(chǔ)表單,步驟執(zhí)行人,去向或者去向邏輯。
2)層級(jí)審批方法
更本土化的抽象邏輯,形象描述為:一層一層逐級(jí)審批。層級(jí)審批的特點(diǎn)是,沒有步驟的去向概念,而是抽象定義為是和否兩個(gè)分支:
- 是:繼續(xù)下一級(jí)別審批
- 否:直接結(jié)束審批
BPM方法的資料很多,開源資源也非常豐富,這里不再贅述。我們來談?wù)劯淤N近本土用戶使用習(xí)慣的——層級(jí)審批實(shí)現(xiàn)方案。
首先,我們回歸到基礎(chǔ)場景,以非常典型的單據(jù)——訂單審批為例,剖析層級(jí)審批的設(shè)計(jì)邏輯。
審批的基礎(chǔ)業(yè)務(wù)數(shù)據(jù):訂單+訂單明細(xì)+(應(yīng)收計(jì)劃)。這里的應(yīng)收計(jì)劃很容易在業(yè)務(wù)角度忽略,實(shí)際上,審批訂單的核心指標(biāo)是三個(gè):
- 價(jià)格
- 交期
- 應(yīng)收(計(jì)劃回款)
如忽略應(yīng)收數(shù)據(jù),則可能會(huì)造成大量賬期拖延的應(yīng)收,甚至于帶來壞賬風(fēng)險(xiǎn)。在我們開發(fā)人員看來,應(yīng)收數(shù)據(jù)只不過是基礎(chǔ)審批中多了一部分?jǐn)?shù)據(jù)而已,關(guān)系也不復(fù)雜,并不需要花這么多篇幅來闡述。
實(shí)際不然,多數(shù)業(yè)務(wù)管理系統(tǒng)的技術(shù)后臺(tái)并不弱,UI也很現(xiàn)代,但是一旦融入業(yè)務(wù)運(yùn)行,就會(huì)發(fā)現(xiàn)缺胳膊少腿,業(yè)務(wù)邏輯支離破碎。我們?cè)谟脩暨@里學(xué)到這樣一句話:UI漂亮有什么用?我要跑通業(yè)務(wù)!當(dāng)業(yè)務(wù)管理系統(tǒng)融入了企業(yè)的生產(chǎn)運(yùn)營環(huán)境,就會(huì)發(fā)現(xiàn):業(yè)務(wù)順暢高于一切!
說了半天,回歸業(yè)務(wù)。用戶希望是一組以訂單為中心的業(yè)務(wù)數(shù)據(jù)參與審批,并在審批過程中不要被步驟審批人修改原始數(shù)據(jù),且沒有經(jīng)過審批的訂單,不允許被執(zhí)行,不應(yīng)該納入銷售類統(tǒng)計(jì)。
那么我們總結(jié)為:
- 一組數(shù)據(jù)參與審批
- 鎖定參與審批的數(shù)據(jù)不允許在過程中隨意修改
- 沒有經(jīng)過審批的數(shù)據(jù)不得繼續(xù)執(zhí)行,且不得納入統(tǒng)計(jì)(這是很多用戶在用了BPM審批流之后,再用超兔的審批流,忽然發(fā)現(xiàn)輕松很多的原因之一。在數(shù)據(jù)層,直接用業(yè)務(wù)表本表發(fā)起審批,并通過審批狀態(tài)實(shí)現(xiàn)業(yè)務(wù)執(zhí)行約束和統(tǒng)計(jì)約束)
審批的層級(jí):層級(jí),審批人。和BMP相比,這里抽象簡化了很多內(nèi)容,因?yàn)楹喕栽谂渲脤徟鲿r(shí)非常簡單,只需要兩個(gè)參數(shù)——層級(jí)和審批人。
因?yàn)槠淙趸瞬襟E去向的概念,用審批的要義:否決即中止,避免了設(shè)置步驟去向(并不是說步驟去向沒有價(jià)值,而是由步驟組成流程時(shí),步驟去向必須是完整的閉環(huán),雖然有校驗(yàn)邏輯,但是步驟去向仍然是一個(gè)看似簡單,實(shí)際容易出錯(cuò)的參數(shù))。
否決后怎么辦?既然層級(jí)審批是否決自動(dòng)中止,申請(qǐng)人希望根據(jù)否決意見修改原始數(shù)據(jù)后繼續(xù)審批可以嗎?可以,被抽象為重新發(fā)起審批。
在這個(gè)過程中,原始業(yè)務(wù)數(shù)據(jù)被允許修改的同時(shí),會(huì)保留上次參與審批的數(shù)據(jù)快照,比對(duì)是否意見做了合理修改。這里有幾個(gè)要點(diǎn):
- 步驟只有層級(jí)和審批人
- 任何一步否決即中止,不再繼續(xù)
- 允許申請(qǐng)人在否決后修改業(yè)務(wù)數(shù)據(jù)重審,并自動(dòng)做好數(shù)據(jù)快照比對(duì)
擴(kuò)展:
- 審批人角色擴(kuò)展,支持上下級(jí)關(guān)系類的動(dòng)態(tài)角色
- 金額分支的擴(kuò)展(最高頻分支,覆蓋中小企業(yè)審批流分支95%的場景)
- 自定義動(dòng)作(在審批步驟中,可以通過代碼插件實(shí)現(xiàn)特殊的業(yè)務(wù)動(dòng)作)
綜上,我們完整分析了層級(jí)審批流的解決方案。從第一視覺上,它沒有BPM看起來更花俏,但是在業(yè)務(wù)層卻遠(yuǎn)比BPM更實(shí)用,更便捷。
本文由 @糨醬紫 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!