后臺案例實操:如何通過狀態(tài)機(jī)圖梳理業(yè)務(wù)流程
編輯導(dǎo)語:狀態(tài)機(jī)圖對后臺產(chǎn)品經(jīng)理來說,應(yīng)該并不陌生。在項目進(jìn)行過程中,如果能運(yùn)用狀態(tài)機(jī)圖,會大大提高工作效率,同時也有利于產(chǎn)品經(jīng)理去綜合的考慮是否有業(yè)務(wù)環(huán)節(jié)的遺漏,并且梳理業(yè)務(wù)流程是否合理。那么應(yīng)該如何運(yùn)用狀態(tài)機(jī)圖去梳理業(yè)務(wù)流程呢?本文作者結(jié)合案例為我們做出了解答。
一、UML之狀態(tài)機(jī)圖
后臺產(chǎn)品經(jīng)理在梳理業(yè)務(wù)過程中,比較常用的方式之一為UML(統(tǒng)一建模語言,以圖片的形式展示),其中以行為型的圖——活動圖、狀態(tài)機(jī)圖、順序圖用的比較多。
活動圖是對時間的活動過程、作業(yè)順序的一種表達(dá)方式,也比較符合我們對于事情按照時間或者流程順序思考的思維模式,活動圖中經(jīng)常也會摻雜一些分支機(jī)構(gòu)。
而本文要講解的狀態(tài)機(jī)圖與活動圖最大的區(qū)別在于,狀態(tài)機(jī)圖通常是一某一事物為主線,描述狀態(tài)的變化發(fā)展,無需通過泳道圖劃分角色的。
二、狀態(tài)機(jī)圖在項目中的運(yùn)用
后臺產(chǎn)品經(jīng)理可以回憶一下,在產(chǎn)品設(shè)計和文檔編寫的過程中,是否經(jīng)常需要定義業(yè)務(wù)變化的關(guān)鍵節(jié)點以及狀態(tài)值,我們稱之為枚舉值或者數(shù)據(jù)字典的設(shè)定。
簡單一些的業(yè)務(wù),數(shù)據(jù)字典值可能也就2-3個,而復(fù)雜一些的數(shù)據(jù)字典值,可能多達(dá)10個,甚至更多。
數(shù)據(jù)字典的設(shè)定,需要覆蓋全業(yè)務(wù)流程、業(yè)務(wù)狀態(tài)無重疊、有明確起止節(jié)點。
想象一下,一個事件,有10來個關(guān)鍵節(jié)點,每個節(jié)點的切換都有前置和后置條件的說明。如果僅靠文字描述,研發(fā)小哥哥小姐姐多半會看的一個頭兩個大,還會不停的跑來問產(chǎn)品經(jīng)理,要求講解業(yè)務(wù)狀態(tài)變化的過程。
如果我們通過狀態(tài)機(jī)圖表示,則會一目了然,畢竟大腦對圖片的處理效率要遠(yuǎn)高于文字。狀態(tài)機(jī)圖的制作過程,也有利于產(chǎn)品經(jīng)理全盤考慮是否有業(yè)務(wù)環(huán)節(jié)的遺漏、梳理業(yè)務(wù)流程是否合理。
接下來我們用實例來說明,狀態(tài)機(jī)圖是如何協(xié)助我們梳理業(yè)務(wù)以及簡化PRD文檔的。
三、案例實操之項目背景介紹
某車輛管理系統(tǒng)訂單的作業(yè)流程為:司機(jī)靠臺裝貨 → 出發(fā)運(yùn)輸 →按時到站 → 上傳回單憑證 → 回單審核通過 → 訂單完結(jié)。
為了提高月臺裝卸貨的效率,系統(tǒng)需要對司機(jī)的靠臺時間進(jìn)行調(diào)控;為了對司機(jī)的運(yùn)輸時效進(jìn)行監(jiān)控,需要獲取司機(jī)的出發(fā)時間和到站時間;為了核對貨物是否安全達(dá)到,需要獲取收貨方的回單憑證。
以上節(jié)點均完成之后,訂單算是順利完結(jié),接下來進(jìn)入到財務(wù)報銷的流程。
四、狀態(tài)機(jī)圖制作
按照上述的流程描述,我們得知關(guān)鍵節(jié)點在于:
- 獲取訂單信息;
- 靠臺;
- 出發(fā);
- 到站;
- 上傳回單;
- 審核回單。
而結(jié)合業(yè)務(wù)流程和關(guān)鍵節(jié)點,我們可以定義數(shù)據(jù)字典為:
- 待裝貨:司機(jī)獲取到訂單信息后,系統(tǒng)識別到司機(jī)已經(jīng)按時靠臺;
- 裝貨中:司機(jī)在等待裝貨;
- 訂單在途:裝貨已經(jīng)完成,司機(jī)出發(fā)開始運(yùn)輸;
- 已到站:司機(jī)已經(jīng)到達(dá)目的地;
- 回單已上傳:貨物核驗通過,上傳回單到系統(tǒng)供財務(wù)審核;
- 回單審核通過:回單通過審核,訂單完結(jié),財務(wù)給司機(jī)打款報銷。
以上,正向業(yè)務(wù)流程的訂單運(yùn)輸過程,狀態(tài)已經(jīng)定義好了。
接下來需要分析,每個節(jié)點之前的操作是怎么樣的,這些是我們需要在狀態(tài)機(jī)圖中標(biāo)注出來的內(nèi)容,便于研發(fā)人員的理解。
- 待裝貨:線路基本是固定的,可以通過后臺系統(tǒng)按照一定的規(guī)則,自動派發(fā)訂單給司機(jī),并告知時間靠臺的時間點和地址。所以系統(tǒng)給司機(jī)派送訂單的時候,默認(rèn)就是待裝貨的初始狀態(tài);
- 裝貨中:司機(jī)靠臺裝貨的時候,在移動端操作靠臺打卡;或者通過GPS電子圍欄識別司機(jī)的靠臺地點,從【待裝貨】狀態(tài)切換到【裝貨中】的狀態(tài);
- 訂單在途:同樣通過電子圍欄或者司機(jī)移動端的發(fā)車打卡,訂單從【裝貨中】切換到【訂單在途】狀態(tài),此時對于訂單的時效監(jiān)控開始計時;
- 已到站:通過電子圍欄或者司機(jī)移動端到站打卡,訂單狀態(tài)從【訂單在途】切換到【已到站】狀態(tài),訂單時效監(jiān)控結(jié)束;
- 回單已上傳:司機(jī)到站之后,默認(rèn)已到站狀態(tài)下是【已到站未上傳回單】,司機(jī)上傳回單之后,【已到站】狀態(tài)切換為【回單已上傳】。此時回單信息會回傳到系統(tǒng),供財務(wù)審核打款;
- 回單審核通過:財務(wù)審核回單,確認(rèn)通過后,訂單狀態(tài)切換為【回單審核通過】,訂單正式完結(jié),只有此狀態(tài)下才允許財務(wù)對司機(jī)的報銷項目打款。因為訂單完結(jié)狀態(tài)和回單審核通過狀態(tài)是重疊的,所以無需加入訂單已完結(jié)的狀態(tài)。
上文的文字描述就看起來很多,而我們用一張狀態(tài)機(jī)圖表達(dá)即可,如下圖:
(正向業(yè)務(wù)流程,狀態(tài)機(jī)圖)
當(dāng)然我們還需要考慮一些其他的意外情況,如:
1. 回單沒有通過審核
如圖,司機(jī)重新上傳回單,再次進(jìn)入審核,需要加入數(shù)據(jù)字典值:回單審核不通過。
2. 意外情況
可能是車壞了或者司機(jī)無法正常出車或者中途需要切換訂單,財務(wù)結(jié)算模式會發(fā)生變化,需要加入狀態(tài)值:異常訂單。異常結(jié)束的訂單會在數(shù)據(jù)中被單獨標(biāo)記出來,訂單會根據(jù)換車、司機(jī)的前后里程,拆單進(jìn)行結(jié)算。
3. 可能會有臨時訂單產(chǎn)生
例如司機(jī)已經(jīng)靠臺裝貨,訂單調(diào)度中心才知道有這樣的訂單產(chǎn)生,畢竟有很多物流訂單都是在半夜裝貨,清晨出發(fā)的。
此時調(diào)度中心再去創(chuàng)建訂單,很多數(shù)據(jù)就會缺失,不利于財務(wù)對賬。所以需要靠司機(jī)自己創(chuàng)建訂單的模式來解決問題,那么此類訂單的初始狀態(tài)就不是待裝貨,而是【裝貨中】。
4. 更復(fù)雜一點的情況
會在司機(jī)出發(fā)后,訂單調(diào)度中心上班后,對訂單進(jìn)行審核,補(bǔ)充司機(jī)自己創(chuàng)建訂單的部分?jǐn)?shù)據(jù)。
5. 還可能會有其他的逆向業(yè)務(wù)流程
比如司機(jī)忘記了靠臺、發(fā)車、到站打卡;司機(jī)自己創(chuàng)建訂單的時候選錯了線路;比如GPS電子圍欄失效導(dǎo)致打卡范圍測算不準(zhǔn);比如司機(jī)還未出發(fā)就需要更換運(yùn)輸車輛或者切換訂單給其他司機(jī)替跑等等。
以上案例只是對主線業(yè)務(wù)的梳理,對應(yīng)的還有其他逆向的狀態(tài)就不一一說明了,聰明的你應(yīng)該知道這部分的PRD文檔要怎么簡化了吧~
本文由 @RaRa 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 unsplash,基于 CC0 協(xié)議
我覺得你寫的好好
良心文章,逐層深入、就像剝洋蔥一樣,讀者很容易聽懂。作者可以當(dāng)專家了,關(guān)注你,向你學(xué)習(xí)
謝謝關(guān)注
這個有原型參考嗎