posts - 193,  comments - 520,  trackbacks - 0

          五、折回模式

          實(shí)際工作中,工作的執(zhí)行狀態(tài)不可能總是與預(yù)想相符的,總會(huì)出現(xiàn)各種各樣的情況,例如原本分配給員工甲的任務(wù)由于甲要請(qǐng)假不得不重新分配,由于新的緊急任務(wù)員工乙當(dāng)前的工作需要掛起一段時(shí)間等等。折回模式則剛好對(duì)應(yīng)著這些情況,折回代表著工作項(xiàng)狀態(tài)的反復(fù)、回退。


          5-33

          如圖5-33所示,折回模式對(duì)應(yīng)著紅線標(biāo)識(shí)著的工作項(xiàng)的狀態(tài)變遷。這些狀態(tài)變遷對(duì)應(yīng)著以下情況:

          委派:資源將先前指派給他的工作項(xiàng)委派給他人執(zhí)行。

          系統(tǒng)重新分配:系統(tǒng)將沒有完成的工作項(xiàng)重新提供或指派給其他資源執(zhí)行。

          退回指派:資源撤銷指派給他的工作項(xiàng),工作項(xiàng)可以重新指派給其他資源。

          工作移交:資源將其已經(jīng)開始執(zhí)行的工作項(xiàng)移交給他人執(zhí)行。

          掛起/恢復(fù)執(zhí)行:資源臨時(shí)掛起當(dāng)前執(zhí)行的工作項(xiàng),并在某一個(gè)時(shí)候重新恢復(fù)執(zhí)行該工作項(xiàng)。

          跳過:資源選擇跳過指派給他的工作項(xiàng)的執(zhí)行,不執(zhí)行該工作項(xiàng)。

          重做:資源重新執(zhí)行先前已經(jīng)完成的工作項(xiàng)。

          提前執(zhí)行:資源在流程實(shí)際觸發(fā)該工作前已經(jīng)開始執(zhí)行該工作。

          折回模式共有9種。

           

          1、委派(WRP_27: Delegation

          描述

          資源能夠?qū)⑾惹爸概山o他的工作項(xiàng)指派給另外的資源執(zhí)行。


          5-34

          如圖5-34所示,委派對(duì)應(yīng)于紅線標(biāo)識(shí)著的工作項(xiàng)狀態(tài)變遷。

           

          應(yīng)用

          委派在平常工作中非常常見,例如員工甲將要請(qǐng)假,他將他要完成的工作委派給同事乙執(zhí)行;在協(xié)同辦公里,領(lǐng)導(dǎo)將相關(guān)工作委派給下屬執(zhí)行等等。

           

          實(shí)現(xiàn)

          實(shí)際應(yīng)用中,委派按照粒度分為了兩種:一種 是工作項(xiàng)的委派,這是一種細(xì)粒度的委派,指單一任務(wù)實(shí)例的委派,與某一特定的任務(wù)實(shí)例關(guān)聯(lián);另一種是業(yè)務(wù)的委派,這是一種粗粒度的委派,例如,員工甲將其 負(fù)責(zé)的某類業(yè)務(wù)的工作全部委派給員工乙,這意味著屬于這類業(yè)務(wù)的所有工作都將由員工乙執(zhí)行。業(yè)務(wù)的委派通常與權(quán)限緊密關(guān)聯(lián),實(shí)際實(shí)現(xiàn)時(shí)為避免用戶權(quán)限的混 淆,一般采取分開登錄系統(tǒng)的方式進(jìn)行實(shí)現(xiàn),即員工乙如果想處理員工甲委派給其的工作,則需要用員工甲的賬號(hào)和其給定的密碼重新登錄系統(tǒng),并注銷掉自己賬號(hào) 的使用。

          需要注意的一點(diǎn)是:委派意味著原先指派的資源還必須對(duì)該工作負(fù)責(zé),例如員工甲將某項(xiàng)工作委派給員工乙執(zhí)行,盡管員工乙實(shí)際執(zhí)行了該工作,但該工作仍然必須由員工甲負(fù)責(zé)。所以在實(shí)現(xiàn)中,員工甲必須能夠保持對(duì)委派工作項(xiàng)的追蹤和控制。

           

          2、系統(tǒng)重新分配(WRP_28: Escalation

          描述

          系統(tǒng)能夠重新分配已經(jīng)分配的工作項(xiàng),以加快工作項(xiàng)的執(zhí)行。


          5-35

          如圖5-35所示,工作項(xiàng)原先提供或指派給了一個(gè)或多個(gè)資源執(zhí)行,現(xiàn)在由于各種原因,需要優(yōu)化該工作項(xiàng)的執(zhí)行,所以將該工作項(xiàng)收回重新分配,提供或指派給其他的資源。

           

          應(yīng)用

          工作分配的優(yōu)化。很多時(shí)候,計(jì)劃跟不上變 化,工作也是這樣,分配工作前有許多的考慮因素,例如個(gè)人能力、工作經(jīng)驗(yàn)、技能要求等等,但在實(shí)際工作中往往會(huì)發(fā)現(xiàn)原先的人力分配并不合理,或者有些人承 擔(dān)了太多的職責(zé),或者有人能力超出其目前擔(dān)承的職責(zé)等等(在敏捷軟件開發(fā)里,我們通過頻繁的交換結(jié)對(duì)編程以達(dá)到部分的平衡),在這種時(shí)候就需要對(duì)工作進(jìn)行 靈活的重新分配以到達(dá)最高的執(zhí)行效率。

           

          實(shí)現(xiàn)

          實(shí)際實(shí)現(xiàn)中非常受限,對(duì)流程的優(yōu)化始終是一 個(gè)對(duì)人的命題,而不是對(duì)機(jī)器對(duì)工具的命題,工具所能做到的只是盡可能多的提供可供參考的數(shù)據(jù)模型,例如各種報(bào)表、數(shù)據(jù)分析等等,最后做出決策的還是人。所 以該模式的實(shí)現(xiàn)也以提供給流程管理員重新分配工作項(xiàng)的能力為主,同時(shí)提供工作項(xiàng)超時(shí)的提示為輔。

           

          3、退回指派(WRP_29: Deallocation

          描述

          資源撤銷指派給他的工作項(xiàng),工作項(xiàng)可以重新分配給其他資源。


          5-36

          如圖5-36所示,資源能夠退回原先指派給他的工作項(xiàng),該工作項(xiàng)可以交由系統(tǒng)重新分配給其他資源。

           

          應(yīng)用

          同樣是工作分配的優(yōu)化,只不過該模式由資源驅(qū)動(dòng)。

          實(shí)際工作中,由于各種原因,例如經(jīng)驗(yàn)不足、當(dāng)前承擔(dān)職責(zé)過多等等,發(fā)現(xiàn)自己并不能很好完成當(dāng)前的任務(wù)時(shí),可以提出不執(zhí)行該任務(wù)。

           

          實(shí)現(xiàn)

          實(shí)現(xiàn)的難點(diǎn)在于資源退回工作項(xiàng)后的重新分配,即如何重新分配該工作項(xiàng)。

          與提供給多個(gè)資源模式對(duì)應(yīng),該模式的最簡(jiǎn)單支持是退回重新提供給多個(gè)資源。例如工作項(xiàng)分配給開發(fā)人員這一角色執(zhí)行,開發(fā)人員甲拾取了該工作項(xiàng)(故事卡),經(jīng)過一番痛苦和彷徨,最終將該工作項(xiàng)退回,這樣所有開發(fā)人員又都能拾取該工作項(xiàng)。

           

          4、有狀態(tài)工作移交(WRP_30: Stateful Reallocation

          描述

          資源將正在執(zhí)行的工作項(xiàng)移交給其他資源執(zhí)行,該工作的狀態(tài)將得到保存。


          5-37

          如圖5-37所示,資源將已開始執(zhí)行的工作移交給其他資源執(zhí)行。該模式與委派模式很相似,差別就在于委派模式是將未開始執(zhí)行的工作進(jìn)行重新指派執(zhí)行,而該模式則是將已開始執(zhí)行的工作進(jìn)行重新指派執(zhí)行。委派模式中的委派者仍需要為委派出去的工作負(fù)責(zé),而移交則同時(shí)意味著責(zé)任的移交。

           

          應(yīng)用

          工作移交非常常見,最常見的原因包括位置調(diào)動(dòng)、離職、休假等等。

           

          實(shí)現(xiàn)

          在大多數(shù)的工作流系統(tǒng)實(shí)現(xiàn)里,業(yè)務(wù)數(shù)據(jù)與流程數(shù)據(jù)是相互隔離的,僅僅通過某一字段進(jìn)行關(guān)聯(lián)(例如業(yè)務(wù)主鍵),流程的目標(biāo)是攜帶業(yè)務(wù)數(shù)據(jù)進(jìn)行流轉(zhuǎn)。在這種情況下,該模式的實(shí)現(xiàn)變成了默認(rèn)實(shí)現(xiàn),系統(tǒng)不需要做任何回退或清理操作,直接做工作項(xiàng)的轉(zhuǎn)發(fā)即可。

           

          5、無狀態(tài)工作移交(WRP_31: Stateless Reallocation

          描述

          資源將正在執(zhí)行的工作項(xiàng)移交給其他資源執(zhí)行,該工作的狀態(tài)不會(huì)得到保存。

          與有狀態(tài)工作移交對(duì)應(yīng)。

           

          應(yīng)用

          工作的無狀態(tài)移交通常意味著工作的重新執(zhí)行,并且原有的工作對(duì)重啟的工作而言沒有太大的價(jià)值。

           

          實(shí)現(xiàn)

          與有狀態(tài)工作移交相比,該模式需要處理相應(yīng)業(yè)務(wù)數(shù)據(jù)的回退或清理。直接支持該模式比較困難,需要在實(shí)施時(shí)根據(jù)情況對(duì)該任務(wù)節(jié)點(diǎn)操作業(yè)務(wù)數(shù)據(jù)的權(quán)限進(jìn)行限定,并在限定的基礎(chǔ)上進(jìn)行記錄和回退。

           

          6、掛起/恢復(fù)執(zhí)行(WRP_32: Suspension/Resumption

          描述

          資源能夠掛起當(dāng)前執(zhí)行的工作項(xiàng),并在某一個(gè)時(shí)候重新恢復(fù)執(zhí)行該工作項(xiàng)。


          5-38

          應(yīng)用

          資源對(duì)分配給其的工作進(jìn)行優(yōu)化執(zhí)行,能夠根據(jù)自己和當(dāng)前的實(shí)際情況合理的安排工作執(zhí)行,掛起正在執(zhí)行的工作,執(zhí)行當(dāng)前最重要或效率最高的工作,然后再返回執(zhí)行該工作。

           

          實(shí)現(xiàn)

          基本的狀態(tài)變遷。

           

          7、跳過(WRP_33: Skip

          描述

          資源能夠選擇跳過指派給他的工作項(xiàng)的執(zhí)行,不執(zhí)行該工作項(xiàng),并將該工作項(xiàng)標(biāo)識(shí)為完成。


          5-39

           

          應(yīng)用

          實(shí)際工作中,對(duì)于非關(guān)鍵工作,可以選擇跳過,以便進(jìn)行后續(xù)更為緊急或重要的工作。

           

          實(shí)現(xiàn)

          對(duì)于實(shí)現(xiàn)工作項(xiàng)本身的狀態(tài)變遷來說,支持該模式非常簡(jiǎn)單,問題在于業(yè)務(wù)數(shù)據(jù)的依賴關(guān)系,如果后續(xù)工作的處理依賴于該節(jié)點(diǎn)處理后的業(yè)務(wù)數(shù)據(jù),那么簡(jiǎn)單的選擇跳過該工作項(xiàng)的執(zhí)行就會(huì)產(chǎn)生問題。所以一個(gè)好的做法是給一些關(guān)鍵任務(wù)節(jié)點(diǎn)加上約束,不允許執(zhí)行跳過操作。

           

          8、重做(WRP_34: Redo

          描述

          資源能夠?qū)ο惹巴瓿傻墓ぷ黜?xiàng)重新處理,同時(shí),該工作的后續(xù)工作項(xiàng)(后續(xù)任務(wù)所對(duì)應(yīng)的工作項(xiàng))也將被重新處理。


          5-40

           

          應(yīng)用

          對(duì)已完成的工作進(jìn)行重新處理并不少見,但該 模式最為重要的部分還是在于要求所有后續(xù)工作的重新處理。所以該模式一般應(yīng)用在極其重要的關(guān)鍵任務(wù)節(jié)點(diǎn),例如非常重要的決策節(jié)點(diǎn),因?yàn)楹罄m(xù)的任務(wù)嚴(yán)重依賴 于該節(jié)點(diǎn)所作出的決策(所產(chǎn)生的數(shù)據(jù)),一旦決策發(fā)生變化,那么相應(yīng)的后續(xù)工作必須都要做出變化。這也是業(yè)務(wù)敏捷性的一種反映。同時(shí)需要注意,該模式也是 一種代價(jià)高昂的應(yīng)用,因?yàn)檫@往往意味著該業(yè)務(wù)流程實(shí)例中的很多工作都需要重新處理,所以如何在業(yè)務(wù)處理中盡早發(fā)現(xiàn)可能的環(huán)境變化并及時(shí)作出決策的調(diào)整并避 免成本高昂的返工才是最為重要的一點(diǎn)。

          現(xiàn)在的軟件開發(fā)越來越強(qiáng)調(diào)于擁抱變化,強(qiáng)調(diào) 代碼的重構(gòu)和演進(jìn),盡管如此,如果軟件的基礎(chǔ)架構(gòu)需要根據(jù)當(dāng)前業(yè)務(wù)變化發(fā)生重大變更,那么這依舊是一件成本高昂的事情,因?yàn)橐坏┗A(chǔ)架構(gòu)發(fā)生變化,那么很 多模塊實(shí)現(xiàn)將不得不重新編寫代碼。所以盡管越來越多的開發(fā)團(tuán)隊(duì)開始引入敏捷的開發(fā)方法,但是經(jīng)驗(yàn)豐富的開發(fā)人員才是整個(gè)敏捷團(tuán)隊(duì)的基石(敏捷開發(fā)非常重視 人)。

           

          實(shí)現(xiàn)

          從該模式里能夠看到資源模式與控制模式的結(jié)合,工作項(xiàng)的重做需要后續(xù)任務(wù)的重新執(zhí)行,這需要取消當(dāng)前的執(zhí)行任務(wù),并將流程實(shí)例的控制點(diǎn)重新返回至該工作項(xiàng)所對(duì)應(yīng)的任務(wù)。這涉及到兩種控制模式,分別是:取消任務(wù)模式和任意循環(huán)模式(具體可以參考第四章的說明)。

           

          9、提前執(zhí)行(WRP_35: Pre-Do

          描述

          在工作項(xiàng)實(shí)際提供或指派給資源執(zhí)行之前,資源已經(jīng)可以執(zhí)行該工作項(xiàng)。


          5-41

          如圖5-41所示,任務(wù)A還在執(zhí)行,任務(wù)B還未激活,但此時(shí)員工甲已經(jīng)可以開始執(zhí)行任務(wù)B的工作項(xiàng)。該模式的實(shí)現(xiàn)需要一個(gè)前提條件:任務(wù)B不能依賴于任務(wù)A的執(zhí)行結(jié)果,即不能依賴于前續(xù)任務(wù)的處理輸出。

          可以看出,該模式與前面推模式里的提前分配模式非常相似,所不同的是:提前分配強(qiáng)調(diào)一種通知機(jī)制,強(qiáng)調(diào)預(yù)先準(zhǔn)備;而提前執(zhí)行則已經(jīng)可以開始實(shí)際的執(zhí)行工作。

           

          應(yīng)用

          和提前分配模式不同,該模式實(shí)際提供了一種 流程任務(wù)執(zhí)行的靈活機(jī)制,在預(yù)先定義的業(yè)務(wù)流程里,任務(wù)的執(zhí)行是具有一定順序的,可能在大多數(shù)情況下,這種順序是合理的,但是在某些具體的流程實(shí)例里,某 些串行執(zhí)行的任務(wù)節(jié)點(diǎn)可以并行的執(zhí)行以達(dá)到最好的執(zhí)行效率和負(fù)載均衡,在這種情況下,就可以應(yīng)用該模式并行執(zhí)行部分任務(wù)。

          需要注意的是,該模式僅僅引入了一種實(shí)際執(zhí)行任務(wù)的靈活性,是對(duì)業(yè)務(wù)流程定義固化的補(bǔ)償,如果在一個(gè)業(yè)務(wù)流程中頻繁應(yīng)用到該模式,則往往意味著流程定義本身需要作出調(diào)整。



          http://www.aygfsteel.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處:)
          posted on 2009-11-08 21:08 ronghao 閱讀(1687) 評(píng)論(1)  編輯  收藏 所屬分類: Head First Process-深入淺出流程

          FeedBack:
          # re: 第五章-工作流之資源模式(折回模式)
          2009-11-10 14:24 | bsli123@hotmail.com
          哥們好像研究過普元的工作流,呵呵! 說的怎么那么熟悉  回復(fù)  更多評(píng)論
            
          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          關(guān)注工作流和企業(yè)業(yè)務(wù)流程改進(jìn)。現(xiàn)就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

          常用鏈接

          留言簿(38)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          常去的網(wǎng)站

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 扎囊县| 赤城县| 焉耆| 青龙| 于田县| 礼泉县| 资兴市| 吐鲁番市| 张掖市| 余江县| 自贡市| 灵山县| 静海县| 昌平区| 高淳县| 新民市| 福安市| 射阳县| 宝清县| 和政县| 渭源县| 墨竹工卡县| 顺昌县| 湖南省| 涡阳县| 和政县| 长泰县| 铜梁县| 门头沟区| 封丘县| 灵寿县| 太仓市| 噶尔县| 英超| 洛宁县| 甘泉县| 新郑市| 老河口市| 定日县| 宁南县| 米易县|