———— / BEGIN / ————
流程——顧名思義:水流的路程;事物進(jìn)行中的次序或順序的布置和安排。
流程是自然而然就存在的,它可以不規(guī)范,可以不固定,可以充滿問(wèn)題。
由兩個(gè)及以上的步驟,完成一個(gè)完整的行為的過(guò)程,可稱之為流程;注意是兩個(gè)及以上的步驟。
流程圖的核心就在于如何排布事物進(jìn)行的次序,不同的順序可能造成截然不同的結(jié)果。
產(chǎn)品經(jīng)理畫(huà)流程圖的目的不外乎幾點(diǎn):
流程圖為產(chǎn)品設(shè)計(jì)基石,可以保證產(chǎn)品的使用邏輯合理順暢
傳達(dá)需求,用流程圖來(lái)更好地表達(dá)產(chǎn)品邏輯
查漏補(bǔ)缺,檢驗(yàn)是否有遺漏的分支流程
流程圖以描述對(duì)象分類,包括:業(yè)務(wù)流程圖、頁(yè)面流程圖、功能流程圖、數(shù)據(jù)流程圖等。
先以宋丹丹小品中的一個(gè)腦筋急轉(zhuǎn)彎為例:把大象裝冰箱,總共分幾步?
三步:
第一步,把冰箱門(mén)打開(kāi);
第二步,把大象裝進(jìn)去;
第三步,把冰箱門(mén)關(guān)上。
這看似是一個(gè)笑話,但其實(shí)蘊(yùn)含著很強(qiáng)的邏輯思維。
首先這里忽略了很多現(xiàn)實(shí)中的限制條件。比如,以大多數(shù)冰箱的容積都不可能將大象塞進(jìn)去;比如是否能把大象切成塊放進(jìn)去?如果把大象塞進(jìn)去,它會(huì)不會(huì)又跑出來(lái)?
但拋開(kāi)這些限制條件,那把大象塞冰箱的極簡(jiǎn)流程就是三步:打開(kāi)冰箱門(mén),把大象裝進(jìn)去,最后把門(mén)關(guān)上。
我們做業(yè)務(wù)流程圖,其實(shí)很多時(shí)候都需要具有把“大象塞進(jìn)冰箱”的思維方式,拋開(kāi)很多現(xiàn)有的認(rèn)知局限,將具象的行為一個(gè)個(gè)抽象出來(lái)。
結(jié)合上面的例子,再來(lái)細(xì)細(xì)品味“業(yè)務(wù)流程圖”的定義:
業(yè)務(wù)流程圖是一種系統(tǒng)分析人員都懂的共同語(yǔ)言, 用來(lái)描述系統(tǒng)組織結(jié)構(gòu)、業(yè)務(wù)流程。
不管是否理解上述定義,下面帶著抽象思維去思考購(gòu)物行為的業(yè)務(wù)流程圖應(yīng)該是什么樣的?
以上的三步組成了一個(gè)最簡(jiǎn)的一個(gè)流程,其完全涵蓋了任何購(gòu)物行為的核心。
無(wú)論是網(wǎng)購(gòu)還是在實(shí)體超市,都是以這三個(gè)行為為主體,然后進(jìn)行擴(kuò)展的。
相對(duì)于大家平時(shí)看到的復(fù)雜的網(wǎng)購(gòu)流程圖,以上的三步流程簡(jiǎn)直簡(jiǎn)單的令人發(fā)指,而這恰恰是印證了大道至簡(jiǎn)的原理。
我始終堅(jiān)信:無(wú)論再?gòu)?fù)雜的事情都能簡(jiǎn)化為極其簡(jiǎn)單的事情,如果你無(wú)法將其簡(jiǎn)化,說(shuō)明只是你沒(méi)有理解其核心。
依據(jù)上面的最小流程單元,我們下面嘗試能不能將其擴(kuò)展,嘗試套用在更細(xì)節(jié)的流程圖上面。
定義:指電子產(chǎn)品具體所呈現(xiàn)的頁(yè)面跳轉(zhuǎn)流程圖。其承載了業(yè)務(wù)流程圖所包含的業(yè)務(wù)流轉(zhuǎn)信息。
下圖以淘寶為例,展示出了網(wǎng)購(gòu)的頁(yè)面流程。
由上圖紅框中的三個(gè)節(jié)點(diǎn)我們可以看出,頁(yè)面流程圖依然是包含在業(yè)務(wù)流程圖的。
這恰恰符合定義中的要求,同時(shí)也印證了頁(yè)面流程圖的正確性。
相較于一開(kāi)始的極簡(jiǎn)流程圖,現(xiàn)在的流程圖已經(jīng)漸漸變得復(fù)雜了一些。
我們將抽象的業(yè)務(wù),映射在了具象的頁(yè)面上,用軟件的頁(yè)面承載起了業(yè)務(wù)需求。而以上就是由業(yè)務(wù)流程圖到頁(yè)面流程圖的轉(zhuǎn)化過(guò)程。
定義:指單頁(yè)面內(nèi)或多頁(yè)面之間的功能操作流程,其包含在頁(yè)面流程中。
任何功能都是被包含在頁(yè)面內(nèi)的,但一個(gè)頁(yè)面內(nèi)往往不止一個(gè)功能,所以單單頁(yè)面流程圖可能無(wú)法完整表達(dá)所有流程,而這時(shí)就需要用功能流程圖來(lái)更加具體表達(dá)每個(gè)頁(yè)面內(nèi)所包含的功能。
由上圖紅框中的四個(gè)節(jié)點(diǎn)我們可以看出,功能流程圖同樣也是由頁(yè)面流程圖拓展而來(lái)的。
功能流程圖是在頁(yè)面流程圖的基礎(chǔ)上繼續(xù)深化,變得更加復(fù)雜;同時(shí)也漸漸變得像大家日常看到的流程圖一樣。
定義:特指軟件產(chǎn)品中,描述數(shù)據(jù)在不同節(jié)點(diǎn)被處理的過(guò)程所畫(huà)的圖表,主要表達(dá)計(jì)算機(jī)程序?qū)τ跇I(yè)務(wù)的實(shí)現(xiàn)原理;用戶在功能流程圖中的每一個(gè)操作,對(duì)應(yīng)都會(huì)反映在數(shù)據(jù)流程圖中。同時(shí),數(shù)據(jù)流程圖也可以叫程序流程圖(Program Flow Diagram)。
它是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具。它可以利用少數(shù)幾種符號(hào)綜合的反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)的情況。數(shù)據(jù)流程圖具有抽象性和概括性。
可能業(yè)務(wù)流程圖、頁(yè)面流程圖和功能流程圖大家都耳熟能詳,但數(shù)據(jù)流程圖恐怕了解的就比較少了。
其實(shí),每個(gè)流程圖中都有一個(gè)核心伴隨著不同操作在整個(gè)系統(tǒng)中不斷流轉(zhuǎn)。比如業(yè)務(wù)流程圖大多以人為核心,每個(gè)節(jié)點(diǎn)都是在傳遞人的不同行為。
而頁(yè)面流程圖和功能流程圖也類似,都是以人的操作行為為核心,在不同頁(yè)面和功能間進(jìn)行流轉(zhuǎn)。但數(shù)據(jù)流程圖不同,它是以數(shù)據(jù)為核心,展示整個(gè)系統(tǒng)中,數(shù)據(jù)是如何被處理的。
其更偏技術(shù)思維,更多的是展現(xiàn)后臺(tái)程序的實(shí)現(xiàn)原理。所以,常常是開(kāi)發(fā)人員繪制此圖,而產(chǎn)品經(jīng)理涉及較少。但隨著產(chǎn)品經(jīng)理地不斷成長(zhǎng),向上提高到戰(zhàn)略層,而向下則會(huì)深入到實(shí)現(xiàn)層。理解程序的開(kāi)發(fā)原理和背后的數(shù)據(jù)流轉(zhuǎn),無(wú)疑會(huì)讓產(chǎn)品經(jīng)理對(duì)產(chǎn)品設(shè)計(jì)有更加深刻的理解。
下面仍以購(gòu)物流程為主題來(lái)展示數(shù)據(jù)流程圖。
相較于之前的圖表,數(shù)據(jù)流程圖增加了新的維度——程序??蛻舳嗽谡宫F(xiàn)用戶操作行為的同時(shí),也表達(dá)了程序在用戶行為背后的動(dòng)作。
而往往大家說(shuō)一個(gè)產(chǎn)品復(fù)雜的時(shí)候,可能只注意到了它的前端交互復(fù)雜,而忽視了后端邏輯的復(fù)雜。
對(duì)于一個(gè)優(yōu)秀的產(chǎn)品經(jīng)理來(lái)說(shuō),不止要關(guān)注前端的用戶體驗(yàn),更要能看清事物背后的邏輯。
畢竟人人都可以對(duì)用戶體驗(yàn)指手畫(huà)腳,而說(shuō)到程序?qū)崿F(xiàn),那可就體現(xiàn)出產(chǎn)品經(jīng)理的專業(yè)性來(lái)了。
以上幾幅圖片分別展示了一個(gè)產(chǎn)品的業(yè)務(wù)流程、頁(yè)面流程、功能流程和數(shù)據(jù)流程。
從中可以發(fā)現(xiàn):由業(yè)務(wù)到頁(yè)面,再到功能,再到數(shù)據(jù)處理,是順序拓展的。
一個(gè)產(chǎn)品的頁(yè)面或功能,不是憑空出現(xiàn)的,而是依據(jù)業(yè)務(wù)層的各個(gè)節(jié)點(diǎn)和流程進(jìn)行設(shè)計(jì)的——這就是為什么在做產(chǎn)品設(shè)計(jì)時(shí)一定要先理解業(yè)務(wù)的原因。
在初步學(xué)習(xí)畫(huà)流程圖時(shí),盡量將業(yè)務(wù)、頁(yè)面、功能和數(shù)據(jù)區(qū)分清楚,并且逐層遞進(jìn),不要把多種類型的流程圖混雜一起——這樣反而會(huì)將思想搞得混亂。
所謂流程圖的顆粒度,其實(shí)就是指流程圖的細(xì)致程度。
我在畫(huà)流程圖時(shí)也常常會(huì)猶豫糾結(jié):
這個(gè)功能點(diǎn)用不用描寫(xiě)得更詳細(xì)?
這條分支用不用標(biāo)出來(lái)?
這個(gè)和服務(wù)器的交互事件用不用在流程圖體現(xiàn)?
……
等等這些問(wèn)題,也都是產(chǎn)品經(jīng)理在日常畫(huà)圖時(shí)會(huì)遇到的。
依然拿購(gòu)物流程為例,最簡(jiǎn)的業(yè)務(wù)流程分為三個(gè)步驟,那如果細(xì)化一些,是否可以畫(huà)出不同的流程圖呢?
顯而易見(jiàn),即便針對(duì)同一個(gè)流程,也能畫(huà)出不同的流程圖。
如上圖,將挑選商品拆分為三個(gè)步驟,將結(jié)賬拆分為兩個(gè)步驟。
但兩個(gè)流程圖依然表達(dá)的是一套流程,而這就是每個(gè)人對(duì)于顆粒度的把握有所不同。
有很多新人總想一步到位,一次畫(huà)出完美的流程圖,但這其實(shí)是一種非常不可取的思維。
任何完善的流程圖,都需要經(jīng)過(guò)由簡(jiǎn)單到復(fù)雜的過(guò)程,而不是一蹴而就。
理論上來(lái)說(shuō),流程圖的細(xì)致程度越高,產(chǎn)品設(shè)計(jì)就越準(zhǔn)確順暢。但實(shí)際情況中,過(guò)度的詳細(xì)反而是浪費(fèi)時(shí)間。
而對(duì)于度的把握能力,則需要經(jīng)驗(yàn)積累以及團(tuán)隊(duì)磨合,這里也是體現(xiàn)產(chǎn)品經(jīng)理對(duì)顆粒度把握能力的地方。
我們畫(huà)流程圖的最終目的是讓團(tuán)隊(duì)成員理解我們的產(chǎn)品設(shè)計(jì),而不是需要畫(huà)一幅非常詳細(xì)的流程圖。理想的情況應(yīng)該是以最簡(jiǎn)的形式,畫(huà)出團(tuán)隊(duì)都能理解的圖表。
上面講解了流程圖的定義和分類,下面就進(jìn)入具體的流程畫(huà)法講解:
以上為流程圖中最常用的幾種元素。不常用的元素就不在此展示了,大家可以在Microsoft Visio中查看。
泳道圖是流程圖中的一種畫(huà)法,是將流程圖中的一些流程節(jié)點(diǎn)按操作角色的不同而劃分。
比如剛才的數(shù)據(jù)流程圖其實(shí)就采用泳道圖的畫(huà)法展示,其中頂部為兩個(gè)不同角色——用戶和服務(wù)器。
同時(shí)在豎向的基礎(chǔ)上也可以添加橫向泳道,以不同頁(yè)面來(lái)給操作分類。
對(duì)于涉及到多角色比較復(fù)雜的流程圖來(lái)說(shuō),畫(huà)泳道流程圖會(huì)看起來(lái)更加清晰明了。
流程圖主要由三部分組成:
主干流程
分支流程(異常流程屬于分支流程)
子流程
下圖是將之前功能流程圖的例子作為主干流程,然后添加了分支流程。我們?cè)诋?huà)流程圖時(shí)應(yīng)該遵循先主干后分支的順序來(lái)描繪流程圖——因?yàn)閷?duì)于大多數(shù)用戶來(lái)說(shuō),主干流程是最常用的路徑。
主干流程和分支流程大家都好理解,那到底什么是子流程呢?
在畫(huà)流程圖的過(guò)程中,有一些流程是會(huì)經(jīng)常遇到的,比如登錄流程、注冊(cè)流程、修改密碼流程。
對(duì)于電商來(lái)說(shuō),可能有退貨流程、購(gòu)物券使用流程等等。如果每次畫(huà)與之有關(guān)的流程圖的時(shí)候,都將其再畫(huà)一遍,那實(shí)在繁瑣。
所以,子流程就是將某幾個(gè)具有邏輯關(guān)系的節(jié)點(diǎn)集合而成的,可以復(fù)用在各個(gè)地方。
下圖就是將登錄流程變成子流程后的流程圖:
流程圖中大致包含四種結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)(又稱選擇結(jié)構(gòu))、循環(huán)結(jié)構(gòu)。基本上大多數(shù)流程圖都是由這三種結(jié)構(gòu)組成的。
上面說(shuō)了那么多理論知識(shí)和概念,那下面就開(kāi)始真刀實(shí)槍地展示一個(gè)案例。本來(lái)一開(kāi)始我想以電商產(chǎn)品作為例子,因?yàn)殡娚坍a(chǎn)品是需要極強(qiáng)邏輯思維的產(chǎn)品,并且比較常見(jiàn)。
但后來(lái)發(fā)現(xiàn)淘寶、京東等都極為龐大和復(fù)雜,分析起來(lái)過(guò)于笨重。轉(zhuǎn)而想起共享單車(chē)是個(gè)非常不錯(cuò)的教材案例。
其產(chǎn)品極簡(jiǎn),但背后卻暗藏有趣的邏輯架構(gòu)。尤其是市面上摩拜與ofo不同的產(chǎn)品解決方案,分析起來(lái)更加有對(duì)比性。
如果要追溯最早的共享單車(chē),恐怕就是政府推出的有樁自行車(chē)。其推出目的無(wú)非就是緩解交通壓力,以及減少環(huán)境污染。而當(dāng)時(shí)受限于成本、技術(shù)以及大眾人群的普遍素質(zhì),有樁自行車(chē)的解決方案是極其不方便的。
想要租一輛有樁自行車(chē),首先要憑身份證在相關(guān)單位辦理IC卡,并繳納押金和預(yù)存費(fèi)用,然后租車(chē)和還車(chē)只能在定點(diǎn)位置進(jìn)行。
先不談辦理卡片有多麻煩,租車(chē)還車(chē)有多不方便,超時(shí)扣費(fèi)有多驚人,如果只單純將其用業(yè)務(wù)流程圖展示出來(lái),應(yīng)該是什么樣的呢?
下面依然以最簡(jiǎn)單的業(yè)務(wù)形態(tài)來(lái)展示使用有樁單車(chē)業(yè)務(wù)流程圖:
單看有樁單車(chē)的流程圖其實(shí)沒(méi)有任何意義,真正的意義在于有樁單車(chē)和目前摩拜與ofo的橫向?qū)Ρ龋旅婵匆幌聝杉夜蚕韱诬?chē)的業(yè)務(wù)流程圖:
很明顯可以看出,無(wú)論是有樁單車(chē)、摩拜單車(chē)還是ofo單車(chē),在業(yè)務(wù)流程圖上竟然沒(méi)有太大區(qū)別。那為什么多年之前政府主導(dǎo)的有樁單車(chē)平平無(wú)奇,而2016年末出現(xiàn)的共享單車(chē)紅極一時(shí)?那摩拜和ofo兩款截然不同的單車(chē),區(qū)別點(diǎn)到底在哪里呢?我們需要更加深入地分析每個(gè)業(yè)務(wù)節(jié)點(diǎn),剖析其功能。
因?yàn)閱诬?chē)的使用流程不僅是在APP上,還有一部分操作在實(shí)體自行車(chē)上,這時(shí)就不能單使用頁(yè)面流程圖,而是要直接使用功能流程圖。并且這里的功能流程圖不局限于頁(yè)面內(nèi)的功能,而是要表達(dá)用戶對(duì)單車(chē)和APP的每一步操作。
首先看ofo單車(chē),在APP中支付押金后,接著便需要尋找自行車(chē)。而這時(shí)我們發(fā)現(xiàn),雖然ofo有多種單車(chē)樣式,多種車(chē)鎖機(jī)制。但本案例著重講ofo第一代機(jī)械鎖,與第二代偽智能鎖。
這兩種鎖其實(shí)代表了兩種不同的產(chǎn)品解決方案,我們先討論第一種機(jī)械鎖。(所謂機(jī)械鎖,其實(shí)類似于生活中經(jīng)常見(jiàn)到的密碼箱。每個(gè)密碼箱有預(yù)設(shè)的固定密碼,通過(guò)撥弄表盤(pán)輸入正確密碼,即可開(kāi)鎖。并且機(jī)械鎖的密碼是固定的,不會(huì)改變)。
我們從路邊找到機(jī)械鎖單車(chē),然后打開(kāi)APP,輸入車(chē)牌號(hào)或掃描二維碼,從APP中得到本車(chē)的機(jī)械鎖密碼,然后輸入密碼,打開(kāi)單車(chē)車(chē)鎖。此時(shí)APP中會(huì)進(jìn)行倒計(jì)時(shí),倒計(jì)時(shí)結(jié)束則開(kāi)始正式計(jì)費(fèi)。最后,騎行到目的地后,需要將車(chē)鎖關(guān)閉,并且必須在APP中點(diǎn)擊結(jié)束騎行的按鈕,才能結(jié)算此次行程的訂單。
看完了ofo的流程,下面來(lái)對(duì)比看一下摩拜的流程。
摩拜的產(chǎn)品解決方案為,掃描單車(chē)的二維碼以后,摩拜單車(chē)的車(chē)鎖會(huì)自動(dòng)打開(kāi),不需要像機(jī)械鎖一樣手動(dòng)操作。并且在鎖車(chē)后,摩拜單車(chē)自動(dòng)會(huì)結(jié)束行程,無(wú)須在APP中點(diǎn)擊結(jié)束。在下一次APP打開(kāi)時(shí),才會(huì)進(jìn)行賬單結(jié)算。
我們可以清楚地看到:摩拜的流程比ofo的少了兩個(gè)節(jié)點(diǎn),而這就是摩拜對(duì)比ofo第一代機(jī)械鎖的優(yōu)勢(shì)。
當(dāng)然,ofo第一代也有其他方面是優(yōu)于摩拜的,比如騎車(chē)的舒適程度。但本文主要聚焦于產(chǎn)品流程,所以并不在單車(chē)體驗(yàn)上花費(fèi)太多筆墨。
縱觀ofo機(jī)械鎖和摩拜智能鎖的解決方案來(lái)看,ofo明顯是遜色很多的。機(jī)械鎖帶來(lái)的問(wèn)題,不止是使用流程的復(fù)雜,還有很多是產(chǎn)品使用上的漏洞。
比如,用戶鎖車(chē)后,必須手動(dòng)將密碼撥亂,不然下個(gè)人將可以免費(fèi)騎行。比如,用戶在騎行結(jié)束后,忘記在APP點(diǎn)擊結(jié)束,會(huì)造成更額外扣費(fèi)。等等還有很多問(wèn)題,就不一一列舉了。
說(shuō)句題外話,這些問(wèn)題ofo也都明白。機(jī)械鎖的解決方案倘若只在封閉的校園內(nèi)運(yùn)行,那還差強(qiáng)人意。但一經(jīng)投放到校外市場(chǎng),那么這種解決方案無(wú)疑會(huì)給公司帶來(lái)巨大的損失。
那為什么ofo明知問(wèn)題,還要大量投放呢?原因很簡(jiǎn)單:以摩拜拓展的速度,如果他不在當(dāng)時(shí)迅速走出校園,那么也許永遠(yuǎn)也沒(méi)機(jī)會(huì)走出校園了。
言歸正傳。
之前的討論,一直避開(kāi)了一個(gè)非常重要的節(jié)點(diǎn)——“找車(chē)”
拋開(kāi)路邊隨機(jī)看到單車(chē)不談,就拿地圖找車(chē)來(lái)說(shuō),ofo第一代機(jī)械鎖肯定是沒(méi)有GPS定位的,為什么也能在地圖上顯示呢?
下面我們嘗試畫(huà)一下ofo對(duì)于解鎖的程序流程圖是什么樣的。
我們從“APP掃描二維碼/輸入單車(chē)編號(hào)”此節(jié)點(diǎn)開(kāi)始推導(dǎo)。我要開(kāi)車(chē)牌號(hào)為XXX的單車(chē),那么就需要得到密碼,而所有車(chē)的密碼,都應(yīng)該放在ofo的單車(chē)數(shù)據(jù)庫(kù)中。
我們不論是掃描二維碼,還是輸入單車(chē)號(hào),本質(zhì)都應(yīng)該是將單車(chē)編號(hào)傳輸給服務(wù)器,告訴它我要哪輛車(chē)的密碼。服務(wù)器查詢到此單車(chē)的密碼以后,就傳輸回APP,我們就看到了此單車(chē)的密碼。
因?yàn)楣?jié)省車(chē)鎖電源的原因,服務(wù)器此時(shí)并沒(méi)有和單車(chē)聯(lián)系,而是靠人工輸入密碼打開(kāi)車(chē)鎖。所以ofo在用戶得到密碼后,就會(huì)開(kāi)始倒計(jì)時(shí)。
倒計(jì)時(shí)內(nèi)可以取消開(kāi)鎖狀態(tài);倒計(jì)時(shí)結(jié)束,則代表用戶默認(rèn)開(kāi)始騎行,計(jì)費(fèi)也從此時(shí)開(kāi)始。
此時(shí)如果是iPhone用戶的話,將ofoAPP最小化時(shí),就會(huì)發(fā)現(xiàn)手機(jī)頂部電池電量條變成了藍(lán)色。
其實(shí),這就是ofo獲取單車(chē)行程的要點(diǎn)所在。既然機(jī)械鎖無(wú)法向服務(wù)器傳輸數(shù)據(jù)的話,那不如讓用戶手機(jī)代替——以獲取手機(jī)的定位來(lái)獲取單車(chē)的騎行路線。
并且在停車(chē)后,點(diǎn)擊結(jié)束騎行時(shí),上報(bào)位置,由此服務(wù)器來(lái)標(biāo)記此單車(chē)停放的位置。而此時(shí)上報(bào)的位置其實(shí)并沒(méi)有單車(chē)。這就是ofo地圖上有很多假標(biāo)記產(chǎn)生的原因。
ofo采用的這種標(biāo)記方法其實(shí)非常的粗糙,畢竟如果用戶強(qiáng)制結(jié)束應(yīng)用,也就獲取不到騎行路線了。
而ofo針對(duì)獲取不到騎行路線的情況,也做了處理,那就是用標(biāo)記起點(diǎn)到終點(diǎn),然后根據(jù)地圖提供的路線來(lái)顯示路程。
上圖我親測(cè)的案例。紅色箭頭是我的實(shí)際騎行的路線,綠色線是ofo自帶地圖上通過(guò)起點(diǎn)和終點(diǎn)計(jì)算的路線。
注意上圖服務(wù)內(nèi)的部分,看起來(lái)步驟非常少,也非常簡(jiǎn)單,而真實(shí)的服務(wù)器肯定有更多復(fù)雜的邏輯判斷。
但對(duì)于產(chǎn)品經(jīng)理畫(huà)的流程圖來(lái)說(shuō),不可能完完全全描繪編程中的技術(shù)細(xì)節(jié),而且也不需要產(chǎn)品經(jīng)理去幫技術(shù)想代碼的實(shí)現(xiàn)邏輯。我們要做得是,理解程序宏觀的實(shí)現(xiàn)邏輯。
比如,在掃描二維碼后,為什么APP會(huì)顯示這輛車(chē)的密碼,而不是其他車(chē)輛的密碼呢?
很簡(jiǎn)單,服務(wù)器內(nèi)肯定儲(chǔ)存了所有單車(chē)的密碼,而掃描二維碼的過(guò)程就是將此單車(chē)的ID傳送給服務(wù)器,服務(wù)器在數(shù)據(jù)庫(kù)中找到密碼后,返回給用戶手中。
服務(wù)器在此處理過(guò)程中,肯定還會(huì)有其他的判斷,比如此用戶賬號(hào)是否正常,有沒(méi)有被封號(hào)?此單車(chē)是否已被標(biāo)記為故障車(chē)?等等。
但大家發(fā)現(xiàn),上面的流程圖內(nèi)并沒(méi)有畫(huà)出這些邏輯判斷,是我忘記了嗎?其實(shí)并不是。
這里又不得不提到本文的核心概念——顆粒度。
此圖想表達(dá)的是宏觀的程序?qū)崿F(xiàn)邏輯,是為了讓讀者更聚焦于問(wèn)題核心,我們只需要著重表達(dá)主干流程就好。如果添加更多的分支流程、異常流程,那反而會(huì)影響讀者的注意力。
所以,還是老生常談的那句話:畫(huà)流程圖一定要先主干,后分支,千萬(wàn)別在一開(kāi)始就盲目追求細(xì)節(jié)。
言歸正傳,ofo的第一代鎖的解決方案雖然漏洞百出,但依然用其巧妙的方式,實(shí)現(xiàn)了地圖上單車(chē)位置的顯示。
ofo推出的第二代鎖,改進(jìn)了以往機(jī)械鎖的很多問(wèn)題。其中最大的效果就是車(chē)鎖的密碼不再是固定的,并且鎖車(chē)之后,不需要再點(diǎn)結(jié)束行程。
那既然ofo的鎖已經(jīng)優(yōu)化了,那為什么前文還稱他為偽智能鎖,他和真正的智能鎖差在哪里呢?為什么ofo的車(chē)鎖依然需要手動(dòng)輸入密碼,而不是像摩拜一樣,車(chē)鎖直接彈開(kāi)?為什么常常在地圖上看到有車(chē),而實(shí)際地點(diǎn)沒(méi)有車(chē)呢?
下面引入一個(gè)80、90后童年的回憶:將軍令。
“將軍令”(又名網(wǎng)易賬號(hào)保護(hù)器) 是廣州網(wǎng)易互動(dòng)娛樂(lè)有限公司自主研發(fā)的、具有完全知識(shí)產(chǎn)權(quán)的高科技身份認(rèn)證產(chǎn)品。它是專為保護(hù)網(wǎng)易通行證賬號(hào)(游戲賬號(hào))、直銷商賬號(hào)的密碼而出的產(chǎn)品,其特有的60秒密碼動(dòng)態(tài)自動(dòng)更新技術(shù)將盜號(hào)風(fēng)險(xiǎn)降到最低。
“將軍令”的產(chǎn)生伴隨著當(dāng)年夢(mèng)幻西游的風(fēng)靡,其創(chuàng)新技術(shù)確實(shí)解決了大多數(shù)盜號(hào)問(wèn)題。那將軍令的實(shí)現(xiàn)機(jī)制到底是如何呢?簡(jiǎn)單地說(shuō)明一下:首先,打開(kāi)“將軍令”,它會(huì)生成一串?dāng)?shù)字,你在登陸游戲時(shí),輸入這些數(shù)字,系統(tǒng)就會(huì)允許賬號(hào)登陸。
同時(shí),“將軍令”的數(shù)字是每隔60秒動(dòng)態(tài)變化的,每次登陸時(shí),“將軍令”的驗(yàn)證碼都會(huì)不一樣。其實(shí)現(xiàn)原理,無(wú)非是“將軍令”和服務(wù)器保持同一種算法,在同一時(shí)間,他們的計(jì)算結(jié)果是一致的。
回來(lái) 看ofo的偽智能鎖,其實(shí)也是一樣的實(shí)現(xiàn)原理。每輛車(chē)鎖都有一個(gè)單獨(dú)的算法保存在服務(wù)器,車(chē)鎖每隔一段時(shí)間就會(huì)根據(jù)算法,變換一個(gè)密碼。
而當(dāng)你打開(kāi)APP,查看此單車(chē)密碼時(shí),服務(wù)器使用和車(chē)鎖相同的算法算一遍當(dāng)前時(shí)間下的密碼,那此密碼一定是和車(chē)鎖當(dāng)前算的是一致的。
由上面的分析可知,即便是ofo第二代鎖,也并沒(méi)有和服務(wù)器通信,其單車(chē)依然沒(méi)有GPS,依然是靠用戶手機(jī)定位。
上面分析了ofo的機(jī)械鎖和偽智能鎖以后,我們?cè)賮?lái)看看摩拜單車(chē)的智能鎖,到底智能在哪里?
首先通過(guò)實(shí)際體驗(yàn)我們知道,摩拜單車(chē)是不需要輸入密碼的。拋開(kāi)藍(lán)牙本地驗(yàn)證密碼的方式,那摩拜車(chē)鎖需要和服務(wù)器通信,才能實(shí)現(xiàn)APP掃描之后自動(dòng)打開(kāi)。
下面依據(jù)此原理,畫(huà)出摩拜單車(chē)的程序流程圖:
由上圖對(duì)比ofo的流程,可以看出摩拜采用的解決方案是將自行車(chē)與服務(wù)器連接。讓每一個(gè)自行車(chē)都成為一個(gè)終端,實(shí)時(shí)同步在整個(gè)地圖上面。這樣既獲得了良好的用車(chē)體驗(yàn),也收集到了用戶數(shù)據(jù)。就解決方案來(lái)看摩拜是比ofo完善很多的。
以上就是整個(gè)ofo與摩拜解決方案的對(duì)比,其中我也畫(huà)出了不同階段的流程圖。基本可以代表我分析案例的一些思路。最主要的還是讓大家能夠理解并應(yīng)用流程圖到日常產(chǎn)品設(shè)計(jì)與分析中。我們?cè)跇?gòu)建流程圖時(shí),如果能按照本文的方法,由業(yè)務(wù)到程序,由簡(jiǎn)單到復(fù)雜,那相信一定會(huì)讓你的思路更加清晰順暢。
本文從定義、分類以及畫(huà)法,分層講解了各種流程圖的特點(diǎn)。嘗試以教科書(shū)的方式來(lái)闡述其原理和機(jī)制。
因?yàn)槟壳安](méi)有統(tǒng)一的流程圖規(guī)范,所以文中難免有錯(cuò)誤和理解偏差,也希望大家能指證與交流。
雖然本文的目的是介紹流程圖,但其整個(gè)思維過(guò)程才是真正我想表達(dá)的核心:
引申下去,這種思維方式其實(shí)是一種剖析事物的思維模型,熟練掌握以后可以套用于多種分析場(chǎng)景。
流程_百度百科
產(chǎn)品經(jīng)理業(yè)務(wù)流程圖的繪制流程分享
如何繪制業(yè)務(wù)流程圖
談?wù)勴?yè)面流程圖(附案例)
產(chǎn)品設(shè)計(jì)流程系列:業(yè)務(wù)流程和流程圖介紹
眾云行第二彈:從BRD到頁(yè)面流程圖
數(shù)據(jù)流程圖_百度百科
解讀NB-Iot智能鎖:為何ofo和摩拜都要做NB-Iot智能鎖?
———— / END / ————
聯(lián)系客服