在(zài)産品設計中,狀态管理是(shì)産品經理不(bù)可或缺的(de)技能之(zhī)一(yī / yì /yí),尤其是(shì)在(zài)處理複雜業務流程時(shí)。本文作爲(wéi / wèi)産品實操系列的(de)一(yī / yì /yí)部分,聚焦于(yú)如何通過狀态機的(de)概念來(lái)優化産品設計。

今天,針對産品經理的(de)後端設計,我們繼續講講實操内容。
如同我上(shàng)次說(shuō)過的(de),流程、信息結構、狀态、策略,算是(shì)産品經理進行後端設計的(de)四個(gè)組成部分。
今天我們進展到(dào)了(le/liǎo)第三個(gè)。
希望這(zhè)個(gè)系列講完了(le/liǎo),能夠給創業團隊的(de)産品經理們,帶來(lái)一(yī / yì /yí)些幫助。
0 産品or技術:狀态設計的(de)區别
在(zài)技術的(de)日常開發中,有一(yī / yì /yí)個(gè)常用的(de)名詞叫狀态機。
這(zhè)和(hé / huò)軟件工程相關,也(yě)是(shì)非常基礎的(de)技術設計。
這(zhè)方面的(de)内容很專業,而(ér)且從技術角度出(chū)發,經常可以(yǐ)做出(chū)很複雜的(de)模型,産品經理們簡單了(le/liǎo)解一(yī / yì /yí)下就(jiù)可以(yǐ)。
而(ér)産品經理在(zài)進行産品設計中,其實是(shì)有所不(bù)同的(de)。
那麽,産品經理把狀态引入到(dào)産品設計中的(de)目的(de)是(shì)什麽呢?
當然還是(shì)爲(wéi / wèi)了(le/liǎo)服務于(yú)業務。
就(jiù)是(shì)爲(wéi / wèi)了(le/liǎo)處理一(yī / yì /yí)個(gè)業務在(zài)流程中分階段的(de)情況,而(ér)且可以(yǐ)在(zài)信息結構中來(lái)體現。
也(yě)就(jiù)是(shì)因爲(wéi / wèi)此,我們先講了(le/liǎo)流程和(hé / huò)信息結構,再講狀态。
講到(dào)這(zhè)裏,太過于(yú)枯燥了(le/liǎo),所以(yǐ)我們直接上(shàng)案例吧。
1 後端的(de)狀态:是(shì)和(hé / huò)業務相關的(de)
根據流程來(lái)梳理,體現到(dào)信息結構中
直接舉個(gè)例子(zǐ)來(lái)說(shuō)吧。
當時(shí)我們做民宿的(de)時(shí)候,針對訂單這(zhè)個(gè)基礎産品,從業務上(shàng)可能會有如下幾個(gè)流程:
用戶在(zài)民宿平台上(shàng)篩選到(dào)了(le/liǎo)心儀的(de)房源,并進行了(le/liǎo)下單,完成了(le/liǎo)支付;到(dào)了(le/liǎo)入住日期,用戶進行入住;到(dào)了(le/liǎo)退房日期,用戶離開;用戶退房離開後,民宿平台或房東,會通知保潔進行房間清潔,等待迎接下一(yī / yì /yí)批用戶。就(jiù)這(zhè)樣的(de)一(yī / yì /yí)個(gè)過程中,從業務角度出(chū)發,訂單出(chū)現了(le/liǎo)哪些的(de)可标記的(de)狀态變化呢?
我們可以(yǐ)梳理一(yī / yì /yí)下:
1. 用戶已預訂
用戶在(zài)民宿平台上(shàng)下單,并且完成了(le/liǎo)入住時(shí)間、入住人(rén)信息等内容填寫,生成了(le/liǎo)新的(de)訂單。
2. 用戶已支付
訂單生成後,會等待用戶進行支付,這(zhè)個(gè)時(shí)間根據不(bù)同平台,一(yī / yì /yí)般是(shì)在(zài)半小時(shí)或兩個(gè)小時(shí)之(zhī)内(時(shí)間不(bù)能太長,否則會惡意占用時(shí)段不(bù)支付,造成房東的(de)損失)。
3. 用戶未支付
因爲(wéi / wèi)某些原因,用戶沒有支付,訂單被取消。
4. 用戶已取消
在(zài)入住完成之(zhī)前,用戶沒有來(lái)入住,用戶就(jiù)自行取消了(le/liǎo)。
5. 房東已取消
因爲(wéi / wèi)房東的(de)原因取消了(le/liǎo)訂單,此時(shí)一(yī / yì /yí)般就(jiù)進入到(dào)了(le/liǎo)賠付流程。
6. 用戶已退房
用戶一(yī / yì /yí)直住宿到(dào)了(le/liǎo)退房時(shí)間,然後離開。
7. 保潔已清潔
保潔阿姨在(zài)用戶離開了(le/liǎo)之(zhī)後,進入民宿客房來(lái)完成打掃。
以(yǐ)上(shàng)狀态是(shì)不(bù)是(shì)也(yě)還是(shì)挺暈乎?
沒關系,待我們慢慢講~
至少上(shàng)面的(de)工作,達成了(le/liǎo)這(zhè)樣一(yī / yì /yí)點:
我們根據業務情況,梳理出(chū)來(lái)一(yī / yì /yí)個(gè)民宿訂單的(de)所有可能的(de)狀态。
這(zhè)些狀态會整理成枚舉值,作爲(wéi / wèi)訂單的(de)信息結構的(de)一(yī / yì /yí)部分。
注意,以(yǐ)上(shàng)僅做舉例,和(hé / huò)我真正了(le/liǎo)解到(dào)的(de)民宿平台的(de)訂單狀态是(shì)不(bù)一(yī / yì /yí)緻的(de),我也(yě)是(shì)有意爲(wéi / wèi)之(zhī),請不(bù)要(yào / yāo)借鑒到(dào)商業中。
用狀态遷移圖連接起狀态
就(jiù)拿這(zhè)個(gè)例子(zǐ)來(lái)說(shuō),如果隻是(shì)一(yī / yì /yí)串零散的(de)訂單狀态,可能還不(bù)具備有足夠強的(de)工具性。
那麽此時(shí)就(jiù)需要(yào / yāo)通過狀态遷移圖,來(lái)把這(zhè)些零散的(de)狀态進行連接。
這(zhè)裏就(jiù)有點像技術所使用的(de)狀态機遷移圖了(le/liǎo),但還是(shì)通過業務角度來(lái)進行組織的(de),所以(yǐ)一(yī / yì /yí)般也(yě)會較簡單。
如上(shàng)所示。
注意,以(yǐ)上(shàng)我僅做舉例,和(hé / huò)我真正了(le/liǎo)解到(dào)的(de)民宿平台的(de)訂單狀态是(shì)不(bù)一(yī / yì /yí)緻的(de),我也(yě)是(shì)有意爲(wéi / wèi)之(zhī),請不(bù)要(yào / yāo)借鑒到(dào)商業中。
關于(yú)狀态遷徙圖,有如下幾個(gè)要(yào / yāo)點:
1. 主狀态的(de)流程
最好從上(shàng)到(dào)下貫穿,作爲(wéi / wèi)主幹。
2. 特殊的(de)狀态、中斷的(de)狀态
作爲(wéi / wèi)枝幹在(zài)兩側,這(zhè)裏我把和(hé / huò)用戶相關的(de)放在(zài)了(le/liǎo)左邊,和(hé / huò)房東相關的(de)放到(dào)了(le/liǎo)右邊;
3. 連接條件
狀态和(hé / huò)狀态之(zhī)間,通過是(shì)某種條件來(lái)進行連接,要(yào / yāo)注意使用單箭頭,即便兩個(gè)狀态可以(yǐ)互相轉換,那條件也(yě)是(shì)不(bù)一(yī / yì /yí)緻的(de)。
4. 到(dào)達最終狀态
從業務角度出(chū)發,如果一(yī / yì /yí)個(gè)狀态不(bù)是(shì)最終狀态,那麽一(yī / yì /yí)定要(yào / yāo)達到(dào)最終狀态。
這(zhè)句廢話可以(yǐ)舉個(gè)例子(zǐ),就(jiù)是(shì)如果用戶已預訂但沒有支付,那從業務角度出(chū)發就(jiù)一(yī / yì /yí)定不(bù)是(shì)最終狀态,必須要(yào / yāo)達到(dào)支付時(shí)間超時(shí),到(dào)達支付未完成才算結束。
5. 前後端不(bù)必統一(yī / yì /yí)
後端設計中所展現出(chū)來(lái)的(de)狀态,無論是(shì)名稱還是(shì)更多内容,在(zài)前端給用戶展示時(shí)不(bù)必是(shì)統一(yī / yì /yí)的(de)。
舉例而(ér)言,上(shàng)圖中的(de)狀态:支付未完成、用戶已取消、房東已取消,前端都可以(yǐ)展示成訂單已失效;用戶已退房,前端就(jiù)可以(yǐ)直接展示爲(wéi / wèi)訂單已完成,因爲(wéi / wèi)保潔的(de)後續工作已屬于(yú)内部流程。
和(hé / huò)技術如何對齊
還是(shì)老生常談,跟技術如何對齊呢?
雖然在(zài)技術的(de)實際開發中,并不(bù)一(yī / yì /yí)定會需要(yào / yāo)和(hé / huò)業務關聯比較緊密的(de)狀态設計,但是(shì)産品跟技術對齊之(zhī)後,可以(yǐ)有如下幾個(gè)好處:
無論是(shì)産品還是(shì)技術,都不(bù)會完全脫離業務,知曉業務流程每一(yī / yì /yí)個(gè)環節應該是(shì)什麽樣的(de)狀态,便于(yú)開展對應的(de)設計;技術開發中就(jiù)可以(yǐ)避免不(bù)必要(yào / yāo)的(de)分支,比如用戶已取消,就(jiù)不(bù)會再到(dào)用戶已支付狀态,對測試形成用例也(yě)會有一(yī / yì /yí)定幫助。2 前端的(de)狀态:是(shì)和(hé / huò)交互相關的(de)
有時(shí)候除了(le/liǎo)後端的(de)狀态設計,還有前端的(de)狀态設計。
但從概念上(shàng)來(lái)說(shuō),兩者其實并不(bù)太一(yī / yì /yí)緻。
如果後端的(de)狀态設計是(shì)和(hé / huò)技術開發相關。
那麽前端的(de)狀态設計是(shì)和(hé / huò)交互設計相關。
舉個(gè)簡單的(de)例子(zǐ)。
如果前端設計一(yī / yì /yí)個(gè)音樂播放器,但隻有一(yī / yì /yí)個(gè)主按鈕,根據交互,需要(yào / yāo)展示四個(gè)狀态:
前端可能是(shì)需要(yào / yāo)這(zhè)4個(gè)樣式:
一(yī / yì /yí)般來(lái)說(shuō)沒有什麽太複雜的(de)狀态遷移,所以(yǐ)也(yě)不(bù)需要(yào / yāo)畫狀态遷移圖。
主要(yào / yāo)是(shì)便于(yú)和(hé / huò)交互設計師來(lái)進行溝通,最終達成成熟的(de)方案。
本文由 @覓雲人(rén) 原創發布于(yú)人(rén)人(rén)都是(shì)産品經理。未經作者許可,禁止轉載。
題圖來(lái)自 Unsplash,基于(yú)CC0協議。
該文觀點僅代表作者本人(rén),人(rén)人(rén)都是(shì)産品經理平台僅提供信息存儲空間服務。