在B端系統(tǒng)中,流程并發(fā)駁回具體如何處理?

5 評(píng)論 10824 瀏覽 61 收藏 15 分鐘

本文作者以個(gè)人在工程項(xiàng)目管理系統(tǒng)設(shè)計(jì)過(guò)程中的實(shí)際經(jīng)歷,為大家分享了以下設(shè)計(jì)文檔,幫助大家解決“B段系統(tǒng)設(shè)計(jì)中流程并發(fā)駁回”具體該如何處理的問題。

公司用一款敏捷開發(fā)平臺(tái)做企業(yè)辦公系統(tǒng),近日給客戶做一款工程項(xiàng)目管理系統(tǒng)。因?yàn)榭蛻粜袠I(yè)特殊性,一個(gè)項(xiàng)目的概算在百億以上,所以對(duì)流程審批比較重視,同時(shí)審批效率也有一定要求,部分流程需要幾個(gè)相關(guān)部門并行一起審批;但又因平臺(tái)缺少并行審批功能,在參考了網(wǎng)上不多的文檔后加上客戶實(shí)際需要與自己的思考形成以下設(shè)計(jì)文檔,同時(shí)包括了開發(fā)的疑問與我的回復(fù),供大家學(xué)習(xí)交流。

一、概念定義

1. 概念示例圖

2. 流程模版

指使用流程設(shè)計(jì)器設(shè)計(jì)的,某一應(yīng)用對(duì)應(yīng)的所有高級(jí)表單都應(yīng)執(zhí)行的流程

3. 并行流程分區(qū)

并行流程由兩個(gè)或者多個(gè)分支流程同時(shí)執(zhí)行,分支上可以有多個(gè)節(jié)點(diǎn),所有分支上的所有節(jié)點(diǎn)都執(zhí)行完畢后,整個(gè)并行流程才被認(rèn)為是執(zhí)行完成,流程一旦進(jìn)入并行流程,我們可以把整個(gè)并行流程步驟看做一個(gè)整體,稱之為并行流程分區(qū)。本文只討論并行流程“與”,“或(多條分支但根據(jù)條件實(shí)際只執(zhí)行一個(gè)分支)”不在本文研究范圍內(nèi)

并行分區(qū)應(yīng)被定義為一個(gè)整體,其在整個(gè)流程中可以被看做一個(gè)節(jié)點(diǎn)。

在示例中共有2個(gè)并行流程,分別是4、5、6、7、8與10、11、12 。

出現(xiàn)并行流程的原因有:

  • 為了提高企業(yè)效率。并行審批是多人同時(shí)審批,能夠提高審批的速度;
  • 解決同時(shí)審批,但絕大多數(shù)審批的內(nèi)容不一樣的用戶場(chǎng)景。

4. 并行分支

在并行流程分區(qū)內(nèi)并行執(zhí)行的實(shí)例稱之為并行分支

在示例中共有5個(gè)并行分支,分別是4、7與5、8與6與10、12與11

并行分支審批狀態(tài)

并行分支應(yīng)有同意與不同意兩種審批狀態(tài),分支的狀態(tài)取決于分支上節(jié)點(diǎn)的審批狀態(tài)

  • 當(dāng)分支上所有節(jié)點(diǎn)都為同意時(shí),認(rèn)為分支為同意
  • 當(dāng)分支上一個(gè)節(jié)點(diǎn)為不同意時(shí),認(rèn)為分支為不同意

開發(fā):

節(jié)點(diǎn)同意不同意,是后臺(tái)程序去判斷,不是頁(yè)面操作?

產(chǎn)品:

節(jié)點(diǎn)不同意是指:節(jié)點(diǎn)的審核人員點(diǎn)擊系統(tǒng)“駁回”按鈕填寫駁回表單并點(diǎn)擊提交按鈕的一系列操作。

5. 節(jié)點(diǎn)

可以簡(jiǎn)單的理解為:在現(xiàn)有流程中,一個(gè)“方塊”等于一個(gè)“節(jié)點(diǎn)”。

并行開始節(jié)點(diǎn)

分支開始的作用是實(shí)現(xiàn)流程的并行流轉(zhuǎn),并行開始節(jié)點(diǎn)需要將表單同時(shí)轉(zhuǎn)交給一個(gè)或多個(gè)節(jié)點(diǎn)。

在示例中,共有2個(gè)并行開始節(jié)點(diǎn),分別是3與9。

聚合節(jié)點(diǎn)

聚合節(jié)點(diǎn)用于將分支或動(dòng)態(tài)分支節(jié)點(diǎn)上產(chǎn)生的若干條并行流程實(shí)例聚合起來(lái)。

在示例中共有2個(gè)聚合節(jié)點(diǎn),分別是9與13。

6. 提交

直接提交給我

流程哪里在來(lái)的就回哪里去。

重走流程

即按流程圖定義,返回指定節(jié)點(diǎn)重新執(zhí)行。

二、流程執(zhí)行原則

非并行流程執(zhí)行區(qū)外,在任意時(shí)間點(diǎn)只允許一個(gè)節(jié)點(diǎn)處于辦理中。

兩種狀態(tài):

1.并行流程分支可選

2.分支可不選:并行分支可以根某次實(shí)際業(yè)務(wù)中的需求,跳過(guò)某一分支,如下圖:

在特定業(yè)務(wù)所需流程步驟中,不需要包含5、6節(jié)點(diǎn)的這一分支。那么在3選擇轉(zhuǎn)交下一步時(shí),不對(duì)5進(jìn)行勾選,則在本次流程業(yè)務(wù)中將不執(zhí)行節(jié)點(diǎn)5、8 ;本次并行流程分區(qū)只需4、7、6同意后流程即可轉(zhuǎn)交至9。

例:并行流程分區(qū)內(nèi)的三個(gè)分支分別為財(cái)務(wù)、監(jiān)察審計(jì)、工程管理,在某次合同審核中不需要“監(jiān)察審計(jì)”分支進(jìn)行審核,那么項(xiàng)目主管部門經(jīng)辦人可以只對(duì)財(cái)務(wù)與工程管理部分支進(jìn)行勾選,跳過(guò)檢查審計(jì)部。

未被選定的分支不被記錄

如本次流程業(yè)務(wù)執(zhí)行程中,4、7、6有人選擇退回(重走流程),流程被駁回至3,3再次提交時(shí)可以再次選擇分支。

1. 并行流程分區(qū)內(nèi)流程等待

重申分支狀態(tài)概念:

并行分支應(yīng)有同意與不同意兩種審批狀態(tài),分支的狀態(tài)取決于分支上節(jié)點(diǎn)的審批狀態(tài)

  • 當(dāng)分支上所有節(jié)點(diǎn)都為同意時(shí),認(rèn)為分支為同意
  • 當(dāng)分支上一個(gè)節(jié)點(diǎn)為不同意時(shí),認(rèn)為分支為不同意

2. 同意等待狀態(tài)

聚合節(jié)點(diǎn)9應(yīng)等待所有分支狀態(tài)都為同意時(shí)再對(duì)聚合節(jié)點(diǎn)9發(fā)送一條待辦信息。(不包括3在“本次”提交流程時(shí)未勾選的分支)

開發(fā):

添加同意與不同意的節(jié)點(diǎn)信息,分支所有的節(jié)點(diǎn)都完成,有不同意的,就駁回?當(dāng)人員不同意,是操作駁回,還是直接填寫不同意?流程判斷所有節(jié)點(diǎn),有不同意的就駁回?每一個(gè)節(jié)點(diǎn)去判斷不同意,只要分支上有一個(gè)不同意,就駁回?也就是說(shuō)出發(fā)駁回的操作是什么?

產(chǎn)品:

此處有兩個(gè)概念:節(jié)點(diǎn)不同意、分支不同意。

節(jié)點(diǎn)不同意是指:節(jié)點(diǎn)的審核人員點(diǎn)擊系統(tǒng)“駁回”按鈕填寫駁回表單并點(diǎn)擊提交按鈕的一系列操作。

分支不同意參見文檔上提及的概念:

分支狀態(tài)概念

并行分支應(yīng)有同意與不同意兩種審批狀態(tài),分支的狀態(tài)取決于分支上節(jié)點(diǎn)的審批狀態(tài)

  • 當(dāng)分支上所有節(jié)點(diǎn)都為同意時(shí),認(rèn)為分支為同意
  • 當(dāng)分支上一個(gè)節(jié)點(diǎn)為不同意時(shí),認(rèn)為分支為不同意

根據(jù)概念,有多個(gè)節(jié)點(diǎn)的分支按照流程圖順序執(zhí)行,如分支上先執(zhí)行的節(jié)點(diǎn)獲得了同意那么就按照流程圖依次轉(zhuǎn)交給分支上其他節(jié)點(diǎn);如果先執(zhí)行的節(jié)點(diǎn)就獲得了不同意的節(jié)點(diǎn)狀態(tài),那么此時(shí)分支狀態(tài)就獲得“不同意”狀態(tài),分支上后執(zhí)行的節(jié)點(diǎn)不在進(jìn)行,此時(shí)等待其他分支獲得分支狀態(tài)后再按照其他規(guī)則進(jìn)行駁回操作。

圖例2個(gè):

例1駁回:

分支1有多個(gè)節(jié)點(diǎn)(4、7、9)當(dāng)4節(jié)點(diǎn)不同意,進(jìn)行了節(jié)點(diǎn)的駁回操作(直接提交給我或重走流程都可),基于分支狀態(tài)第二條,分支1無(wú)需再獲得節(jié)點(diǎn)7與9的節(jié)點(diǎn)狀態(tài),此時(shí)獲得分支1獲得分支狀態(tài)為:不同意。在獲得2,3分支的分支狀態(tài)獲取后,綜合并行流程分區(qū)的意見,按照其他規(guī)則執(zhí)行駁回操作。

例2同意:

節(jié)點(diǎn)同意概念:點(diǎn)擊轉(zhuǎn)交下一步,填寫轉(zhuǎn)交下一步表單,點(diǎn)擊提交按鈕等一系列操作。

根據(jù)分支狀態(tài)概念,

分支1:4、7、9三個(gè)節(jié)點(diǎn)都為同意后分支1才獲得分支狀態(tài):同意

分支2:5、8兩個(gè)節(jié)點(diǎn)都為同意分支2才獲得分支狀態(tài):同意

分支3:6節(jié)點(diǎn)為同意后分支3獲得分支狀態(tài):同意

此時(shí)整個(gè)并行流程分區(qū)上所有分支都同意則按照流程圖轉(zhuǎn)交至節(jié)點(diǎn)10,對(duì)節(jié)點(diǎn)10發(fā)送一條待辦消息。

3. 駁回等待

與同意等待相似,并行流程分區(qū)內(nèi)所有分支狀態(tài)都獲得之后才執(zhí)行駁回操作,在此之前被駁回人不會(huì)收到駁回通知,以免出現(xiàn)各分支意見不一重復(fù)修改,一個(gè)業(yè)務(wù)辦理多次等問題。

開發(fā):

現(xiàn)在是有駁回就插入記錄,記錄每個(gè)人的駁回信息,當(dāng)?shù)却瓿蓵r(shí),推送那一條代辦?其他的代辦如何處理?當(dāng)有代辦消息時(shí),會(huì)如何提示?

產(chǎn)品:

“現(xiàn)在是有駁回就插入記錄,記錄每個(gè)人的駁回信息”不是記錄每個(gè)人的,如果先執(zhí)行的節(jié)點(diǎn)就獲得了不同意的節(jié)點(diǎn)狀態(tài),那么此時(shí)分支狀態(tài)就獲得“不同意”狀態(tài),無(wú)需再獲得分支上后執(zhí)行的節(jié)點(diǎn)記錄。當(dāng)所有分支都獲得分支狀態(tài)后再按照其他規(guī)則對(duì)相應(yīng)的節(jié)點(diǎn)推送一條待辦。

三、駁回策略

1. “有人有異議就會(huì)被駁回”

如果一個(gè)并行流程分區(qū)內(nèi)有100個(gè)分支,有99條分支狀態(tài)都是同意,有1條分支狀態(tài)是不同意,也將執(zhí)行駁回操作。

開發(fā):

這里的駁回是頁(yè)面操作,還是程序操作?頁(yè)面操作,這一條不同意,是直接提交給我,還是重走流程?

產(chǎn)品:

程序操作

2. 重走流程大于直接提交給我。

在并行流程分區(qū)內(nèi),如有退回類型選擇不一致的情況,則執(zhí)行重走流程。

3. 大于一個(gè)直接提交給我則執(zhí)行重走流程。

在并行流程分區(qū)內(nèi),如有兩個(gè)及兩個(gè)以上節(jié)點(diǎn)選擇直接提交給我,則執(zhí)行重走流程

4. 退回節(jié)點(diǎn)不一致。

在并行流程分區(qū)內(nèi),如兩個(gè)分支選擇的退回節(jié)點(diǎn)不一致,則按照流程模板的節(jié)點(diǎn)序號(hào)(也可以說(shuō)是順序執(zhí)行中相對(duì)先執(zhí)行的節(jié)點(diǎn))對(duì)應(yīng)的節(jié)點(diǎn)處執(zhí)行重走流程(基于以上兩條)

5. “直接提交給我”有且只能傳遞一次。

“直接提交給我”模式有且只能轉(zhuǎn)遞一次,比如節(jié)點(diǎn)9“直接提交給我”模式駁回到節(jié)點(diǎn)4,這時(shí)候節(jié)點(diǎn)4不允許再有“直接提交給我”駁回到節(jié)點(diǎn)2。因?yàn)槿绻性俅巍爸苯犹峤唤o我”駁回到節(jié)點(diǎn)2會(huì)造成混亂,因?yàn)楣?jié)點(diǎn)2處理完后直接返回節(jié)點(diǎn)4,當(dāng)節(jié)點(diǎn)4再次處理時(shí)是按正常提交給節(jié)點(diǎn)7,并不會(huì)直接返回節(jié)點(diǎn)9,那么此時(shí)流程實(shí)例將無(wú)法正常流轉(zhuǎn)到結(jié)束,因?yàn)楣?jié)點(diǎn)9是一個(gè)聚合節(jié)點(diǎn)。

節(jié)點(diǎn)4此時(shí)也不支持再次使用按流程圖執(zhí)行的駁回,因?yàn)槭菚?huì)破壞節(jié)點(diǎn)9的設(shè)置期望,節(jié)點(diǎn)9是期望駁回后直接處理返回回來(lái),所以“直接提交給我”駁回后,統(tǒng)一規(guī)則為不允許再次駁回。只能是按節(jié)點(diǎn)9的期望處理完后再次返回給節(jié)點(diǎn)9.

6. 有駁回權(quán)限的節(jié)點(diǎn)

流程中所有節(jié)點(diǎn)都應(yīng)有駁回權(quán)限

7. 可被駁回節(jié)點(diǎn)

本節(jié)圖示:

并行流程分區(qū)內(nèi)部可被駁回

并行流程分區(qū)內(nèi)可駁回,兩種駁回模式都應(yīng)支持,但不可夸分支選擇

  • 例1:8駁回至5,可行
  • 例2:9駁回至4,選擇重走流程,可行
  • 例3:9駁回至4,選擇直接提交給我,可行
  • 例4:9駁回至6,不可行

主線流程駁回至并行流程分區(qū)內(nèi)

當(dāng)審批人在駁回窗口選擇駁回節(jié)點(diǎn)時(shí),主線節(jié)點(diǎn)不可駁回至并行流程分區(qū)內(nèi)任意節(jié)點(diǎn),執(zhí)行重走流程,只支持直接提交給我

例:10駁回到任務(wù)7的情況,由于節(jié)點(diǎn)7處于并行分支上,我們約定這種情況的駁回模式只支持“直接提交給我”模式,若不是這樣那么節(jié)點(diǎn)7可能永遠(yuǎn)不法繼續(xù)流轉(zhuǎn),因?yàn)楣?jié)點(diǎn)10是一個(gè)聚合節(jié)點(diǎn),需要等候節(jié)點(diǎn)9、8、6三個(gè)節(jié)點(diǎn)同時(shí)到達(dá)。

并行流程分區(qū) 駁回至主線節(jié)點(diǎn)

并行流程分區(qū)可駁回至主線節(jié)點(diǎn),兩種駁回模式都支持

  • 例1:4駁回至2,選擇重走流程
  • 例2:8駁回至3,選擇直接提交給我

 

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

題圖來(lái)自Unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 能給我一個(gè)聯(lián)系方式嗎?我有比較復(fù)雜的項(xiàng)目需求,聯(lián)系方式18911392572

    來(lái)自湖北 回復(fù)
  2. 關(guān)于駁回,你給他太多限制了。
    1、關(guān)于第5點(diǎn)可以這樣改動(dòng):
    9→4→2,都可以“直接提交給我”?!爸苯犹峤弧钡氖仟?dú)立的優(yōu)先服務(wù),可以記錄多條,即記錄 “當(dāng)2提交時(shí)直接給4”、“當(dāng)4提交時(shí)直接給9”

    2、如果與前面“整個(gè)分支區(qū)域作為一個(gè)意見”一致,那么分支內(nèi)駁回到分支前是可行的,重新流入分支即可。個(gè)支路駁回人可選擇是否直接提交給我,若不是,則廢棄其他支路的決策。

    來(lái)自廣東 回復(fù)
  3. 最近在考慮企業(yè)系統(tǒng)方向PM轉(zhuǎn)型,想和作者交流下,可否聯(lián)系下呀~~

    回復(fù)
  4. 邏輯牛皮~~贊

    來(lái)自河南 回復(fù)
  5. 硬核干貨

    來(lái)自廣東 回復(fù)