制作人人喜歡的流程圖,三步教會(huì)你繪制大廠流程圖(第二篇)
編輯導(dǎo)語:在產(chǎn)品設(shè)計(jì)流程中,流程圖的繪制有利于展示產(chǎn)品邏輯,而清晰的流程圖繪制更是有利于團(tuán)隊(duì)與合作伙伴理解運(yùn)行流程。在上篇文章里,作者闡述了繪制流程圖的要點(diǎn)、意義與常見問題,本文作者則繼續(xù)介紹如何繪制一份合理有效的流程圖,讓我們一起來看一下。
繼幫大家解決了如何繪制流程圖的難題后,本篇作者將幫助大家學(xué)習(xí):如何繪制出研發(fā)喜歡看、運(yùn)營看得懂的流程圖。
學(xué)習(xí)了上一篇“流程圖的大廠畫法”后,雖然能畫出來了。但經(jīng)常發(fā)現(xiàn)畫的沒問題,研發(fā)部卻不看我們的流程圖,運(yùn)營看不懂我們的流程圖。這是什么原因呢?
其次,就是總是丟三落四,想不全面被研發(fā)懟來懟去,如何做到思考全面呢?本篇解決這個(gè)問題。
這一篇是介紹“如何制作人人喜歡的流程圖”。
具體內(nèi)容如下:
- 為什么你的流程圖別人不滿意?以一些例子來看研發(fā)和業(yè)務(wù)人員流程圖要看什么。
- 流程圖的尺度如何把握?能夠根據(jù)給研發(fā)還是給業(yè)務(wù)人員,來畫出尺度得當(dāng)?shù)牧鞒虉D。
- 如何一步步畫出不丟三落四的流程圖?理順你的思路,做事不再丟三落四,表達(dá)清晰順暢。
下面我們就進(jìn)入正題。但如果看了下文,對流程圖的UML表達(dá)方法還不了解,則請移步第一篇《如何制作正確的流程圖?》
一、為什么你的流程圖別人不滿意?
首先看下面的兩張流程圖,以下流程圖如果給研發(fā)或業(yè)務(wù)人員看都是有問題的。
給業(yè)務(wù)人員的流程圖
給研發(fā)人員的流程圖
那為什么有問題,這里就要明白對方看流程圖的目的是什么?
- 業(yè)務(wù)人員:看了流程圖,好明確自己在其中做什么,或者對工作流程提出不同意見。
- 研發(fā)人員:看了流程圖,好進(jìn)行相關(guān)的研發(fā)設(shè)計(jì)。
- 給自己:看了流程圖便于自己梳理邏輯,不需要給任何人看。
那么我們就以例子來看問題,相關(guān)人等對流程圖都有什么疑問呢?
1.? 業(yè)務(wù)人員對流程圖的不滿意
給業(yè)務(wù)人員看的流程圖
先回到我們上面兩個(gè)案例的第一個(gè)圖,如果這是一個(gè)給業(yè)務(wù)人員看的,對于業(yè)務(wù)人員只關(guān)心自己需要做什么。此時(shí)把“生成送貨單” 加入就極為不合適。
此時(shí)業(yè)務(wù)人員會(huì)一臉疑惑的說:“系統(tǒng)生成訂單?這個(gè)和我有什么關(guān)系嗎?我去送貨當(dāng)然要送貨單了?”。這里發(fā)現(xiàn)畫了一些多余的內(nèi)容。
另外補(bǔ)充一下,給業(yè)務(wù)人員的流程圖,研發(fā)也需要看,目的是為了理解整體業(yè)務(wù),便于設(shè)計(jì)業(yè)務(wù)。
另外上面的流程圖邏輯上也出現(xiàn)了錯(cuò)誤,具體請移步系列文章《第一篇:如何制作正確流程圖》的錯(cuò)誤案例三。
2. 研發(fā)對流程圖的不滿意
再來看第二個(gè)圖,如果作為初學(xué)人員,畫一下給自己梳理邏輯顯然是合理的,這也就是我們說的第三類作用“流程圖畫給自己看”。但此時(shí)研發(fā)會(huì)一臉不耐煩的說:“來點(diǎn)干貨,不就是兩個(gè)頁面嗎?給個(gè)原型看看?我不關(guān)心你思考的過程”。
這時(shí)倒不如直接給出1-2張頁面流程圖更直接。在簡化的頁面流程圖里,體現(xiàn)主要功能和下一步的按鈕等內(nèi)容。
上面兩個(gè)流程圖,一個(gè)就體現(xiàn)了給業(yè)務(wù)人員用的,一個(gè)就體現(xiàn)了給研發(fā)人員用的。那么流程圖應(yīng)該怎么把握尺度呢?
二、流程圖的尺度該如何把握?
可以按照兩個(gè)尺度來畫流程圖,稱其為:給業(yè)務(wù)人員看的“人人交互模式” 和 給研發(fā)看的用“人機(jī)交互模式”。
下面我們分別表述。
1. 給業(yè)務(wù)人員看的“人人交互模式”
對應(yīng)去掉系統(tǒng)后,人和人之間的交互,此時(shí)忽略系統(tǒng)在其中做了什么。以下面的流程圖為例:
你發(fā)現(xiàn)我們的表述的意思是“用戶支付訂單→只有用戶支付完訂單后,客服才能確認(rèn)訂單→客服確認(rèn)訂單后物流才能來收貨”。
這里體現(xiàn)了人每做一步后,另外一個(gè)人才能做另一件事情,沒有體現(xiàn)系統(tǒng)在這其中專遞信息做了什么,如“系統(tǒng)創(chuàng)建訂單→系統(tǒng)顯示訂單給客服” 等中轉(zhuǎn)過程。因此我們稱其為人人交互模式的表達(dá)。
這個(gè)維度上,可以讓業(yè)務(wù)人員聚焦于自己需要做什么事情上。
從遞送發(fā)票這個(gè)環(huán)節(jié)看,我們也是這樣的邏輯“財(cái)務(wù)打印發(fā)票→打印完畢后物流才能寄送發(fā)票”,也體現(xiàn)了一個(gè)人人交互模式。
而這里特殊的地方是:
- “用戶支付完訂單”,雖然是對系統(tǒng)的操作是人機(jī)交互了,但沒有這一步就不會(huì)進(jìn)行發(fā)貨;
- “用戶點(diǎn)擊確認(rèn)收貨”,沒有這一步,訂單就不算完成。因此也要在流程圖里面體現(xiàn)。
2. 給研發(fā)看的用“人機(jī)交互模式”
注意人機(jī)交互級(jí)別的流程圖,主要涉及到人輸入什么,系統(tǒng)會(huì)反饋什么,但是有兩個(gè)原則需要注意。
1)原則一:一個(gè)頁面定義成一個(gè)操作
看下面的例子:
假設(shè)在商品詳情頁此時(shí)展示的是一件衣服,則可以選擇衣服數(shù)量,選擇衣服顏色和大小等操作,但流程圖的作用不是表達(dá)具體功能的,所以忽略這些操作。
一個(gè)頁面只表達(dá)一個(gè)操作,下面的頁面的第一個(gè)操作就是“用戶點(diǎn)擊確定”,概括為“用戶選擇商品”。而后面的兩個(gè)頁面也可以概括成“用戶提交訂單”和“用戶支付訂單”。
另外不要寫畫成“用戶選擇商品→系統(tǒng)顯示訂單→用戶確認(rèn)訂單→系統(tǒng)顯示支付界面→用戶支付訂單”,沒有錯(cuò)但略顯啰嗦。
流程圖重點(diǎn)表達(dá)做了什么事情,是不關(guān)心所有的功能。用流程圖表達(dá)功能也不是最佳方案。
如果這個(gè)例子想表達(dá)的是頁面的功能,建議直接畫頁面流程圖即可,這個(gè)表達(dá)對研發(fā)更容易閱讀?;蛘哂糜美龍D來表達(dá)功能合集表示功能之間的包含關(guān)系等,都是比這個(gè)更恰當(dāng)?shù)谋磉_(dá)方式。
再如下圖,有的人說是否應(yīng)該將其中的細(xì)節(jié)畫出來?如:判斷是否已經(jīng)上架,判斷是否有庫存等。
結(jié)論是不應(yīng)該畫。
流程圖如何表達(dá)細(xì)節(jié)?
這里也不符合一個(gè)頁面一個(gè)動(dòng)作。這里的判斷是簡單的,還是建議直接在原型邊上寫邏輯即可這個(gè)流程圖研發(fā)是不太看的。但再次強(qiáng)調(diào)作為自己梳理邏輯可以做。
2)原則二:和后端服務(wù)器交互的定義成一個(gè)操作
具體看下面的流程圖:
和后端服務(wù)器交互的流程圖
此時(shí)當(dāng)用戶進(jìn)行登錄操作的時(shí)候,輸入完用戶名和密碼并點(diǎn)擊確定,此時(shí)APP需要詢問一下服務(wù)器:服務(wù)器大哥,請告訴我密碼是否正確?
系統(tǒng)會(huì)回答:密碼是正確的,或者密碼是錯(cuò)誤的,或者這是一個(gè)用戶名沒有注冊過。
這些涉及到和服務(wù)器的交互,顯然不問服務(wù)器就不知道,則可以在流程圖里體現(xiàn)出來。
注意此時(shí)忽略人和APP在一個(gè)頁面內(nèi)的交互。如:如輸入手機(jī)號(hào)后提示手機(jī)號(hào)格式錯(cuò)誤,你會(huì)發(fā)現(xiàn)就是一些簡單的前端邏輯判斷,還不如在原型頁面寫備注來的簡潔和高效。
下面這兩個(gè)流程圖都屬于過度表達(dá)了。
過度表達(dá)的流程圖
過度表達(dá)的流程圖
3.? 尺度的總結(jié)
給業(yè)務(wù)和研發(fā)部門呈現(xiàn)時(shí):用人人交互模式,忽略系統(tǒng)所做的工作。給研發(fā)部門呈現(xiàn)時(shí):一個(gè)頁面一個(gè)動(dòng)作,可體現(xiàn)和后端服務(wù)器交互的動(dòng)作,而忽略掉簡單的前端交互。
了解了流程圖的尺度后,我們還要思考如何一步步畫出流程圖。其中給業(yè)務(wù)部門的流程圖是最常用的。我們下面就以給業(yè)務(wù)部門的流程圖為例進(jìn)行講解。
三、如何一步步思考畫出流程圖?
這里有兩個(gè)基本原則:
- 打通主流程:先粗后細(xì),再加泳道;
- 完善細(xì)節(jié):先加異常,再拆流程,再合并流程。
我們分別表述。
1. 打通主流程:先粗后細(xì),再加泳道
1)第一步:先粗后細(xì)的思路
打通主流程意思是不考慮任何異常情況,就考慮正常完成訂單的流程。在上篇文章中就是按照這個(gè)方式完善了主流程。
我們當(dāng)時(shí)分了三步,分別是:
- 完成很粗的主流程;
- 完善送貨流程細(xì)節(jié);
- 完成寄送發(fā)票等細(xì)節(jié)。
這里就體現(xiàn)了先粗后細(xì)的原則。
完成粗的主流程:
完善送貨流程:
完善寄送發(fā)票等流程:
2)第二步:加泳道的方法
線粗后細(xì)完成后,這個(gè)過程中出現(xiàn)一個(gè)問題,即當(dāng)有財(cái)務(wù)、物流和運(yùn)營等多個(gè)角色來處理,每個(gè)角色不能很清晰地看到自己的業(yè)務(wù)怎么辦?此時(shí)可以用泳道來解決。
具體見下圖:
加入泳道后的流程圖
此時(shí)每個(gè)角色下面所對應(yīng)的就是該角色所進(jìn)行的動(dòng)作,非常像游泳時(shí)的“泳道”。每個(gè)泳道對應(yīng)的可以是:客服、物流、財(cái)務(wù)等角色。系統(tǒng)也可以算作一個(gè)角色,但應(yīng)盡可能將其看做一個(gè)人,而不要拆分成前端和后端。
2. 完善細(xì)節(jié):先加異常,再拆流程,再合并流程
這樣算會(huì)否就算完成流程圖呢?還沒有,需要進(jìn)一步完善。概括一下就是: 先加異常,再拆流程,再合并流程。我們一個(gè)一個(gè)來看。
1)第一步:加異常
上面的流程圖我們始終沒有考慮異常情況。此時(shí)可以從第一個(gè)動(dòng)作一直到最后一個(gè)動(dòng)作逐一梳理是否會(huì)有異常的加入。
如本例中,從前往后梳理依次是:用戶付款后要求退款怎么辦?客服時(shí)候可以不發(fā)貨?用戶如果拒收貨物怎么辦?用戶如果一直不點(diǎn)擊收貨按鈕怎么辦?用戶如果買了以后要退貨怎么辦?如果用戶輸錯(cuò)了密碼怎么辦?如果用戶不要發(fā)票怎么辦?
這里包括三類異常:不操作如何處理、反悔如何處理、錯(cuò)誤操作怎么處理?
此時(shí)對于用戶不要發(fā)票,我們?nèi)绾翁幚恚?/p>
此時(shí)對于“用戶如果一直不點(diǎn)擊收貨按鈕”這個(gè)做法,我們就考慮加入“系統(tǒng)自動(dòng)確認(rèn)收貨”這個(gè)流程了。
加入自動(dòng)確認(rèn)收貨
2)第二步:拆流程
列出逆流程后,通常就涉及到每個(gè)逆流程的完善。但是我們發(fā)現(xiàn)“用戶收貨后退貨”這個(gè)逆向流程比較復(fù)雜,包括:用戶提出退貨需求、商家同意、用戶寄送和商家退款等環(huán)節(jié)。則退貨流程就可以在其他流程圖里面再畫,這就體現(xiàn)了拆流程的特點(diǎn)。
再如“用戶支付訂單”會(huì)存在支付成功、支付失敗、待支付等等流程也可以在其他流程圖里面處理。
3)第三步:合并流程
我們看訂單寄送發(fā)票的流程包括 “財(cái)務(wù)打印發(fā)票,物流寄送發(fā)票”兩個(gè)步驟,可以抽象成寄送發(fā)票。
對于財(cái)務(wù)人員當(dāng)然要開發(fā)票,寫不寫不影響問題的理解。在這一步重點(diǎn)在于,去掉本次流程圖不關(guān)心的內(nèi)容。如果系統(tǒng)自動(dòng)收貨不是你本次重點(diǎn)表達(dá)的內(nèi)容,也可以去掉。
通常小白還會(huì)在流程圖加入如果用戶沒有登錄去引導(dǎo)登錄等判斷。在開始做練習(xí)的時(shí)候做都可以,但提交給研發(fā)則是沒有必要加入。
四、總結(jié)
本次介紹了三部分內(nèi)容,分別是:
- 流程圖給誰看:重點(diǎn)闡述了給業(yè)務(wù)人員,研發(fā)人員和自己看三者的差異。
- 流程圖的尺度如何把握:重點(diǎn)強(qiáng)調(diào)了人人交互模型和人機(jī)交互模型,其中人機(jī)交互分為前端頁面交互和后端服務(wù)器端交互。
- 如何一步步畫出流程圖:介紹了首先打通主流程:先粗后細(xì),再加泳道;再次完善細(xì)節(jié):先加異常,再拆流程,再合并流程。
最后做一下說明,實(shí)際上流程圖沒有絕對正確的,核心在于給誰看,大家能夠看明白主要內(nèi)容即可。所以需根據(jù)每次要重點(diǎn)闡述的內(nèi)容來畫流程圖,并最終產(chǎn)出一個(gè)完備的原型圖才是最終目標(biāo)。
作者:擎蒼,《“圖解”產(chǎn)品:產(chǎn)品經(jīng)理業(yè)務(wù)設(shè)計(jì)與UML建?!纷髡?,公眾號(hào):圖解產(chǎn)品設(shè)計(jì)
本文由 @擎蒼 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
您好,最后一步步畫流程圖那部分,可否添加上給研發(fā)看的流程圖呢?貌似講的只是業(yè)務(wù)流程?
產(chǎn)品經(jīng)理用的流程圖是借鑒研發(fā)的UML來的,其實(shí)目前也沒有一個(gè)特別嚴(yán)格的標(biāo)準(zhǔn)。
流程圖主要關(guān)注你的對象和目的
掌握基本符號(hào)和原理靈活運(yùn)用。
能不能把你認(rèn)為正確的也給歸納一下,你就說錯(cuò)的
代理解綁
總結(jié)一下:
用UML-活動(dòng)圖來表達(dá)面向?qū)ο?活動(dòng)圖)、面向過程(原傳統(tǒng)流程圖)的思維。
針對業(yè)務(wù)層面,即面向過程,重點(diǎn)描述人與人之間的交互,事情與事情的、過程與過程之間的流轉(zhuǎn),而忽略系統(tǒng)的行為,但對于必要的系統(tǒng)行為,是允許存在的;
針對系統(tǒng)層面,即面向?qū)ο螅攸c(diǎn)關(guān)注人與系統(tǒng)之間的操作,當(dāng)以面向?qū)ο蟮乃季S去畫圖時(shí),顆粒度盡量抽象到頁面層級(jí),即一個(gè)頁面表示一個(gè)操作,如果涉及到多角色,則應(yīng)用泳道圖闡述,但系統(tǒng)層面的前、后端應(yīng)盡量看作是一個(gè)角色;
不管是泳道圖(多角色),還是單角色,在這個(gè)過程中如果涉及到前后端交互&基本邏輯判斷,應(yīng)直接在交互說明上表達(dá),這樣能避免“過度表達(dá)”的情況(好處是圖簡潔,缺點(diǎn)顯而易見,這里視“看圖人”的要求)。
流程圖和活動(dòng)圖目的完全相同,和網(wǎng)上主流的流程圖比起來,活動(dòng)圖主要是多了并行等表達(dá)。這一點(diǎn)UML的創(chuàng)始人也是這么說的,簡單地說兩者就是一回事。
大家可關(guān)注微號(hào):[匠心做好產(chǎn)品經(jīng)理],有更多干貨,如狀態(tài)圖等,還有簡歷模板可領(lǐng)取。
另外:1)活動(dòng)圖和對象關(guān)系不大。2)流程圖中不要管系統(tǒng)內(nèi)的流程,原因是產(chǎn)品經(jīng)理是梳理業(yè)務(wù),而不是梳理系統(tǒng)的實(shí)現(xiàn),這是研發(fā)做的。常見的問題是把系統(tǒng)分成前后端,這就沒有必要。在一些情況下如果需要,可以加。但應(yīng)在第一個(gè)流程圖做完的基礎(chǔ)上加,從外到內(nèi)畫流程圖是個(gè)好習(xí)慣,這恰恰是用例圖的思想,也可以用在流程圖中。
哈哈,補(bǔ)充一下,作者說的沒錯(cuò)。
我是研發(fā)出身,補(bǔ)充下我的見解,對應(yīng)文章的內(nèi)容:
1. 針對業(yè)務(wù)層面,即面向過程(人人交互),對應(yīng)網(wǎng)上講的業(yè)務(wù)流程圖;
2. 針對系統(tǒng)層面,即面向?qū)ο螅ㄈ藱C(jī)交互),對應(yīng)的是網(wǎng)上講的功能流程圖/任務(wù)流程圖;
就如作者所言,名字怎么叫不重要,但重要的是思維能一致,大家懂這個(gè)講的是啥。
微信公主號(hào)咋個(gè)沒找到列~
工號(hào)修改,全網(wǎng)改為【圖解產(chǎn)品設(shè)計(jì)】
工號(hào)已改為【圖解產(chǎn)品設(shè)計(jì)】
現(xiàn)在正在寫更為全面的:流程圖、狀態(tài)圖、類圖和E-R圖,也包括功能和非功能的拆解等。有這方面內(nèi)容需求和建議的,可向我咨詢。
催更催更~
看書“圖解產(chǎn)品”,已全網(wǎng)發(fā)售
人機(jī)交互的話,一些異常場景需要表現(xiàn)嗎,比如用戶拒絕收貨,不支付
要,畫流程圖非常有利于梳理異常情況
非常棒??
你好!請問加異常中加入自動(dòng)確認(rèn)收貨部分,系統(tǒng)確認(rèn)收貨、用戶確認(rèn)收貨為并行,但結(jié)束應(yīng)該是只要其一做了確認(rèn)收貨,就算結(jié)束。圖中的是并行開始合并結(jié)束,這樣并行和匯合沒有成對出現(xiàn),有什么問題沒?
沒問題,并行匯合成對出現(xiàn)的情況就是點(diǎn)餐,菜同時(shí)做,但必須菜都上來了,你才結(jié)賬。 并行匯合不成對出現(xiàn)的情況就是打仗,幾路同時(shí)打,誰先打下來就算游戲結(jié)束。
請問原則二的第一步加異常中,用戶選擇不要發(fā)票,流程圖這樣畫最后用到匯合也就是說就算用戶不要發(fā)票還是得收到發(fā)票才能確認(rèn)收貨嗎?
同樣的疑問,希望大佬看到后能解惑。
也能畫,就是麻煩。此時(shí),不要發(fā)票則直接畫根線跳到送貨,避開并行(橫線),但這樣做就很麻煩,可文字說明。書“圖解產(chǎn)品”已經(jīng)改寫三篇文章。
針對每個(gè)項(xiàng)目都要畫三份流程圖么?我都是畫一份給自己整理思路,然后把原型做好點(diǎn)用文字說明比較方便。
簡單流程不需要畫,復(fù)雜流程需要畫并提供給對方,便于對方理解其工作
太棒了
各抒己見。
怎么講?
右擎蒼 你翻譯右手牽著大黃狗,可見你給自己的定位
已改,弄錯(cuò)了
好文
接地氣,學(xué)到東西
剛學(xué)交互,看了您的流程圖和其他文章的流程圖有點(diǎn)不同,希望幫忙解答一下:
1.其他文章中的流程圖橢圓表示的是起點(diǎn)和終點(diǎn),您的文章中起點(diǎn)為實(shí)心圓,終點(diǎn)可以多個(gè)或一個(gè);
2.活動(dòng)的畫法是圓角矩形,看您的例子基本都是活動(dòng)+判斷就完成了整個(gè)流程,沒有涉及到輸入輸出、過程等元素。而在維基百科定義的流程圖基本構(gòu)成元素里沒找到這個(gè)“活動(dòng)”;
請問他們不是一個(gè)東西嗎? ? 希望大佬能快點(diǎn)產(chǎn)出第三篇
簡單地說就如語言不同一樣。表達(dá)同樣內(nèi)容(流程圖)但語言不同。
同時(shí)網(wǎng)上的流程圖你找不到權(quán)威標(biāo)準(zhǔn),即事實(shí)上怎么說都可以,也就談不到對錯(cuò)。而活動(dòng)圖有標(biāo)準(zhǔn),并且有一系列書籍講。
請問有推薦的書籍嗎 ??
沒有,書和培訓(xùn)都不講這些。
如果要看,有大象UML,但是比較難懂,因?yàn)槭敲嫦蜓邪l(fā)講的
正在弄一本,可以關(guān)注我,獲得內(nèi)容
清晰、易懂、受益匪淺