關(guān)于B端狀態(tài)流轉(zhuǎn)的思考
編輯導(dǎo)讀:本文作者從狀態(tài)的定義出發(fā),結(jié)合案例對狀態(tài)的作用進(jìn)行了解讀,并詳細(xì)梳理了狀態(tài)流轉(zhuǎn)設(shè)計的方法和設(shè)計過程中需要注意的問題,與大家分享,希望通過此文能夠加深你對狀態(tài)流轉(zhuǎn)這一步驟的認(rèn)識。
最近接到了這樣的需求:我們的業(yè)務(wù)后臺是供業(yè)務(wù)方創(chuàng)建和維護(hù)業(yè)務(wù)內(nèi)容的。業(yè)務(wù)方在創(chuàng)建、變更、完成和中止業(yè)務(wù)時,需要對不同的業(yè)務(wù)進(jìn)展進(jìn)行變更,由部門主管和其他部門人員協(xié)同進(jìn)行審批。業(yè)務(wù)方希望在業(yè)務(wù)后臺可以直接看到這項業(yè)務(wù)發(fā)起審批動作后的審批結(jié)果是否通過,并在業(yè)務(wù)后臺顯示這項業(yè)務(wù)當(dāng)前進(jìn)行到了哪個階段。
比如張三創(chuàng)建了一個業(yè)務(wù),點擊了發(fā)起了審批的按鈕后,這項業(yè)務(wù)會進(jìn)入到審批系統(tǒng),等待審批人員對這項業(yè)務(wù)的查看和審批。
當(dāng)在審批人還沒有進(jìn)行審批時,他希望在業(yè)務(wù)后臺中可以感知到這項業(yè)務(wù)當(dāng)前處于“審批中”;當(dāng)張審批人員點擊了“審批通過”后,張三再進(jìn)入到業(yè)務(wù)后臺中,可以感知到這項業(yè)務(wù)“審批通過”了。
由于我們的業(yè)務(wù)規(guī)則是,只有審批通過后的業(yè)務(wù)才是正式的業(yè)務(wù),才會開展這項業(yè)務(wù)的后續(xù)進(jìn)度。所以張三還希望知道這項業(yè)務(wù)是否開始了。
從上面的需求中我們可以發(fā)現(xiàn),無論是審批結(jié)果還是業(yè)務(wù)進(jìn)展,用戶想感知到的是一個環(huán)節(jié)當(dāng)前所處的“結(jié)果”,感知到了結(jié)果才能有下一步的動作。就像我們在淘寶上購買了商品一樣,我們希望感知到的是商家是否發(fā)貨,商品是否在運輸中,商品是否已經(jīng)送到站點;商家希望感知到的是買家是否付款,商品是否簽收。
向用戶傳達(dá)某種流程環(huán)節(jié)的“結(jié)果”,在產(chǎn)品設(shè)計中通常使用“狀態(tài)”字段來提供“向用戶反饋結(jié)果”的能力。
01 狀態(tài)的定義
“狀態(tài)”傳達(dá)的是一種信息,這種信息反饋的是用戶可以感知到的某種結(jié)果。狀態(tài)是由于滿足了某種條件而觸發(fā)產(chǎn)生的,被觸發(fā)的條件可能是由于用戶操作了某種動作或是滿足了某種規(guī)則。
打顆栗子:
我們都在淘寶上面買過東西,買完東西后最常進(jìn)入的就是我的訂單,查看我們購買的東西當(dāng)前所處的狀態(tài)。
在訂單頁我們可以看到不同的狀態(tài),我們的訂單會置于這些狀態(tài)下,對應(yīng)不同狀態(tài)的訂單向用戶傳遞著不同的信息,如下圖所示,我將訂單狀態(tài)用紅框框了出來:
“待付款”狀態(tài)下的訂單向用戶傳遞的信息是:我提交了訂單,但是我還沒有付款;“待發(fā)貨”是我付款后的訂單;“待收貨”是我的貨物,快遞公司已經(jīng)攬收。
在訂單頁同一筆訂單會伴隨著不同條件的觸發(fā)而流轉(zhuǎn)到不同的狀態(tài)下。其中訂單從“待收貨”流轉(zhuǎn)到“待評價”狀態(tài)下的觸發(fā)條件有2種方式:一種是用戶通過操作觸發(fā)狀態(tài)切換:用戶主動點擊了“確認(rèn)收貨”的按鈕后狀態(tài)會發(fā)生變更。另一種是通過滿足了淘寶的規(guī)則觸發(fā)狀態(tài)切換:淘寶規(guī)則為自狀態(tài)變更為“商家已發(fā)貨”狀態(tài)起,10天后,系統(tǒng)會自動確認(rèn)收貨。當(dāng)滿足該規(guī)則時,自動觸發(fā)切換狀態(tài)。
狀態(tài)作為給用戶反饋結(jié)果的字段,設(shè)計“狀態(tài)”部分時,產(chǎn)品經(jīng)理要對狀態(tài)所對應(yīng)的業(yè)務(wù)流程進(jìn)行充分的調(diào)研,對“狀態(tài)”的劃分內(nèi)容和不同狀態(tài)的產(chǎn)生條件規(guī)則,做到準(zhǔn)確的界定。因為狀態(tài)對于用戶來說是非常重要的感知字段,設(shè)計的狀態(tài)與需求方達(dá)成共識,顯示的狀態(tài)才能便于用戶理解和感知,不會造成理解上的歧義和偏差,用戶理解起來不會感到困難。
02 狀態(tài)的作用
1. 狀態(tài)在產(chǎn)品中的主要作用是為了提升用戶體驗
產(chǎn)品中的進(jìn)度狀態(tài),本質(zhì)是體現(xiàn)業(yè)務(wù)中不同的進(jìn)度情況,狀態(tài)變更是按照業(yè)務(wù)進(jìn)度變化的順序分別進(jìn)行切換的。用戶通過狀態(tài)的變更感知到進(jìn)度的進(jìn)展情況,對完成目標(biāo)之間的距離有一個心理預(yù)期,能夠及時掌握進(jìn)度動態(tài)變化的信息,降低了用戶因等待和無法及時把控進(jìn)度而產(chǎn)生的焦慮,進(jìn)而提升了用戶體驗。
產(chǎn)品的結(jié)果狀態(tài),本質(zhì)是反饋一項業(yè)務(wù)流程最后的成功結(jié)果或失敗結(jié)果。成功結(jié)果代表著一件事已經(jīng)做完了,反饋結(jié)果目的是讓用戶感知到,事情已經(jīng)完成可以做下一件事了。失敗結(jié)果代表這件事情沒有做完,做的不對,需要繼續(xù)處理,目的是讓用戶解決問題。用戶根據(jù)狀態(tài)及時知曉結(jié)果反饋,幫助用戶做出有效決策,提升用戶體驗。
2. 狀態(tài)在產(chǎn)品中也有觸發(fā)用戶產(chǎn)生行為的作用
狀態(tài)的本質(zhì)是傳遞信息,在某些場景下也是觸發(fā)用戶產(chǎn)生行為的條件。
拼多多助力免費送商品的活動、12306助力搶票的場景中,我們能看到,免費送的商品和未到手的火車票,狀態(tài)都是還差多少值(百分比、多少人)助力,就可以到手了。通過狀態(tài)信息,引導(dǎo)用戶產(chǎn)生在朋友圈分享的行為,以及讓用戶的朋友們產(chǎn)生助力的點擊行為。
用戶能夠通過狀態(tài)反饋出來的信息產(chǎn)生感受,觸發(fā)用戶產(chǎn)生行為。在設(shè)計狀態(tài)的過程中我們需要推演設(shè)計的狀態(tài)是否真正達(dá)到預(yù)期希望用戶產(chǎn)生的感受和行為。
03 狀態(tài)流轉(zhuǎn)設(shè)計方法
關(guān)于狀態(tài)的流轉(zhuǎn)部分的設(shè)計,可以按照下圖表格形式的方法進(jìn)行3個方面的思考,將表格補充填寫完畢后,狀態(tài)流轉(zhuǎn)也就基本搞定了。這張表一共有四個字段,分別是“任務(wù)狀態(tài)”、“可用操作”、“遷移條件”和“狀態(tài)說明”。
我們將狀態(tài)名稱按照流轉(zhuǎn)的邏輯順序?qū)懙健叭蝿?wù)狀態(tài)”里,狀態(tài)下可以使用的用戶操作寫到“可用操作”中,狀態(tài)流轉(zhuǎn)的觸發(fā)條件規(guī)則寫到“遷移條件”里,狀態(tài)的定義寫到“狀態(tài)說明”中。
1. 定義狀態(tài)和不同狀態(tài)下的可用操作枚舉
上圖任務(wù)狀態(tài)部分是我們通過調(diào)研一項業(yè)務(wù)流程后,梳理出來的狀態(tài)內(nèi)容。
第一步:我們對一個業(yè)務(wù)的某個環(huán)節(jié)不同狀態(tài)進(jìn)行一個界定,列出互斥的狀態(tài)有哪些。我們要列舉的狀態(tài)是根據(jù)不同的觸發(fā)進(jìn)行流轉(zhuǎn)的、且互斥的,在列舉中我們會去判斷這些狀態(tài)之間是否有上下游關(guān)聯(lián),是否互斥。
第二步:我們對不同狀態(tài)的狀態(tài)結(jié)合我們的義務(wù)進(jìn)行定義,對這些狀態(tài)進(jìn)行定義的原因是它可以幫助我們二次校驗這些狀態(tài)的關(guān)聯(lián)關(guān)系,也可以讓我們與開發(fā)同學(xué)之間對狀態(tài)的定義達(dá)成共識。
第三步:將所有底層的用戶動作進(jìn)行梳理,比如點擊XXX按鈕,先將全部的按鈕都梳理出來,然后將不同狀態(tài)可以做哪些動作,用藍(lán)色展示,因為藍(lán)色與B端后臺的按鈕更像,符合用戶習(xí)慣,將無法操作的動作,用灰色展示,因為無法操作按鈕顯示出來一般置灰。都梳理出來是為了避免遺漏。
第四步:將這些動作梳理出來后,我們就可以去做遷移條件的界定了。遷移條件可能是觸發(fā)了某個按鈕,可能是根據(jù)某種狀態(tài)觸發(fā)的,也可能會更復(fù)雜一些,更具某個按鈕,且某種狀態(tài)發(fā)生了變化后才會觸發(fā)遷移。但是當(dāng)我們將動作和狀態(tài)都梳理好后,再界定遷移條件,就不會有遺漏條件。
當(dāng)遇到復(fù)雜邏輯的狀態(tài)遷移時,比如狀態(tài)1是初始狀態(tài),當(dāng)在狀態(tài)1時,這條數(shù)據(jù)被點擊按鈕1后, 狀態(tài)1發(fā)生變化,同時觸發(fā)了狀態(tài)2的變化,但是狀態(tài)1是根據(jù)按鈕和狀態(tài)2的變化來影響狀態(tài)1的變化的。
2. 定義狀態(tài)流轉(zhuǎn)的順序
一般我們會將狀態(tài)的流轉(zhuǎn)以狀態(tài)轉(zhuǎn)移圖表形式進(jìn)行繪制,避免邏輯缺失。狀態(tài)機就是狀態(tài)轉(zhuǎn)移圖。
狀態(tài)機四要素
狀態(tài)機可歸納為4個要素,即現(xiàn)態(tài)、條件、動作、次態(tài)。這樣的歸納,主要是出于對狀態(tài)機 的內(nèi)在因果關(guān)系的考慮?!艾F(xiàn)態(tài)”和“條件”是因,“動作”和“次態(tài)”是果。
- 現(xiàn)態(tài):是指當(dāng)前所處的狀態(tài)。
- 條件:又稱為“事件”,當(dāng)一個條件被滿足,將會觸發(fā)一個動作,或者執(zhí)行一次狀態(tài)的遷移。
- 動作:條件滿足后執(zhí)行的動作。動作執(zhí)行完畢后,可以遷移到新的狀態(tài),也可以仍舊保持原狀態(tài)。動作不是必需的,當(dāng)條件滿足后,也可以不執(zhí)行任何動作,直接遷移到新狀態(tài)。
- 次態(tài):條件滿足后要遷往的新狀態(tài)?!按螒B(tài)”是相對于“現(xiàn)態(tài)”而言的,“次態(tài)”一旦被激活, 就轉(zhuǎn)變成新的“現(xiàn)態(tài)”了。
狀態(tài)機分為有限狀態(tài)機和無限狀態(tài)機。
- 有限狀態(tài)機是指輸出取決于過去輸入部分和當(dāng)前輸入部分的時序邏輯電路,有限狀態(tài)機可以確定狀態(tài)的個數(shù),比如人的某種狀態(tài)。
- 無限狀態(tài)機不知道是否正規(guī)的說法,從狀態(tài)機上理解就是輸出取決于輸入與當(dāng)前狀態(tài),但是當(dāng)前狀態(tài)是無限的,不能確定其個數(shù),比如人所在的位置。一般不使用。
一般狀態(tài)的始態(tài)是“待開始”,遷移狀態(tài)變更為“進(jìn)行中”,最終的狀態(tài)為“完成/中止”。
當(dāng)業(yè)務(wù)中有狀態(tài)存在時,我們可以優(yōu)先將業(yè)務(wù)狀態(tài)做成有限狀態(tài)機來描述,邏輯會很順暢完整,避免因為狀態(tài)復(fù)雜而丟失邏輯的情況,也會方便研發(fā)同學(xué)理解。
打顆栗子:
假如張大胖去飯店吃飯,進(jìn)飯店“待用餐”是狀態(tài)1,點餐是動作1,點餐動作觸發(fā)后,觸發(fā)了狀態(tài)2:待烹飪-烹飪中-烹飪完成,當(dāng)烹飪完成之后,狀態(tài)1才會發(fā)生變化,“待用餐”變成“用餐中”,最后變?yōu)椤坝貌屯瓿伞?。為了避免遺漏邏輯,可以再做一個多狀態(tài)變化的遷移表。如下圖:
總結(jié)
狀態(tài)流轉(zhuǎn)是一項業(yè)務(wù)某一個環(huán)節(jié)/任務(wù)的生命周期,狀態(tài)流轉(zhuǎn)邏輯是這個業(yè)務(wù)環(huán)節(jié)的底層邏輯,我們在輸出原型前,將狀態(tài)遷移表搭建好會避免狀態(tài)和條件的遺漏。
狀態(tài)遷移表建立后可以與業(yè)務(wù)方多去探討和改善,在生命周期中達(dá)成更深的理解和共識。
當(dāng)根據(jù)狀態(tài)遷移表做完原型和交互后,自己需要進(jìn)行校驗,看看是否有遺漏的邏輯。
校驗的標(biāo)準(zhǔn)就是將自己當(dāng)成小白,使用實際的資料在自己的原型上跑一遍,自己過的沒有問題后, 如果有條件,讓業(yè)務(wù)方根據(jù)實際業(yè)務(wù)也幫助跑一遍看看是否有問題。
參考鏈接:
《深入淺出理解有限狀態(tài)機》鏈接為https://zhuanlan.zhihu.com/p/46347732
#專欄作家#
暮暮,公眾號:財務(wù)產(chǎn)品人,人人都是產(chǎn)品經(jīng)理專欄作家。擁有好奇心且極度認(rèn)真的產(chǎn)品同學(xué)。擁有財務(wù)理論知識和財務(wù)產(chǎn)品經(jīng)驗,目前在醫(yī)療健康領(lǐng)域,擅長中臺產(chǎn)品設(shè)計。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議。
很受用,感謝!
狀態(tài)和標(biāo)簽,有什么區(qū)別嗎?
如果有統(tǒng)一流程中不同角色對應(yīng)同一狀態(tài)的不同顯示的梳理方式就更完美了
好東西,說的最清楚的方法。
公眾號改名啦:禾暮暮
之前叫什么?
這個比較實用
謝謝熊熊