關(guān)于B端狀態(tài)流轉(zhuǎn)的思考

8 評(píng)論 13808 瀏覽 157 收藏 15 分鐘

編輯導(dǎo)讀:本文作者從狀態(tài)的定義出發(fā),結(jié)合案例對(duì)狀態(tài)的作用進(jìn)行了解讀,并詳細(xì)梳理了狀態(tài)流轉(zhuǎn)設(shè)計(jì)的方法和設(shè)計(jì)過(guò)程中需要注意的問(wèn)題,與大家分享,希望通過(guò)此文能夠加深你對(duì)狀態(tài)流轉(zhuǎn)這一步驟的認(rèn)識(shí)。

最近接到了這樣的需求:我們的業(yè)務(wù)后臺(tái)是供業(yè)務(wù)方創(chuàng)建和維護(hù)業(yè)務(wù)內(nèi)容的。業(yè)務(wù)方在創(chuàng)建、變更、完成和中止業(yè)務(wù)時(shí),需要對(duì)不同的業(yè)務(wù)進(jìn)展進(jìn)行變更,由部門主管和其他部門人員協(xié)同進(jìn)行審批。業(yè)務(wù)方希望在業(yè)務(wù)后臺(tái)可以直接看到這項(xiàng)業(yè)務(wù)發(fā)起審批動(dòng)作后的審批結(jié)果是否通過(guò),并在業(yè)務(wù)后臺(tái)顯示這項(xiàng)業(yè)務(wù)當(dāng)前進(jìn)行到了哪個(gè)階段。

比如張三創(chuàng)建了一個(gè)業(yè)務(wù),點(diǎn)擊了發(fā)起了審批的按鈕后,這項(xiàng)業(yè)務(wù)會(huì)進(jìn)入到審批系統(tǒng),等待審批人員對(duì)這項(xiàng)業(yè)務(wù)的查看和審批。

當(dāng)在審批人還沒(méi)有進(jìn)行審批時(shí),他希望在業(yè)務(wù)后臺(tái)中可以感知到這項(xiàng)業(yè)務(wù)當(dāng)前處于“審批中”;當(dāng)張審批人員點(diǎn)擊了“審批通過(guò)”后,張三再進(jìn)入到業(yè)務(wù)后臺(tái)中,可以感知到這項(xiàng)業(yè)務(wù)“審批通過(guò)”了。

由于我們的業(yè)務(wù)規(guī)則是,只有審批通過(guò)后的業(yè)務(wù)才是正式的業(yè)務(wù),才會(huì)開(kāi)展這項(xiàng)業(yè)務(wù)的后續(xù)進(jìn)度。所以張三還希望知道這項(xiàng)業(yè)務(wù)是否開(kāi)始了。

從上面的需求中我們可以發(fā)現(xiàn),無(wú)論是審批結(jié)果還是業(yè)務(wù)進(jìn)展,用戶想感知到的是一個(gè)環(huán)節(jié)當(dāng)前所處的“結(jié)果”,感知到了結(jié)果才能有下一步的動(dòng)作。就像我們?cè)谔詫毶腺?gòu)買了商品一樣,我們希望感知到的是商家是否發(fā)貨,商品是否在運(yùn)輸中,商品是否已經(jīng)送到站點(diǎn);商家希望感知到的是買家是否付款,商品是否簽收。

向用戶傳達(dá)某種流程環(huán)節(jié)的“結(jié)果”,在產(chǎn)品設(shè)計(jì)中通常使用“狀態(tài)”字段來(lái)提供“向用戶反饋結(jié)果”的能力。

01 狀態(tài)的定義

“狀態(tài)”傳達(dá)的是一種信息,這種信息反饋的是用戶可以感知到的某種結(jié)果。狀態(tài)是由于滿足了某種條件而觸發(fā)產(chǎn)生的,被觸發(fā)的條件可能是由于用戶操作了某種動(dòng)作或是滿足了某種規(guī)則。

打顆栗子:

我們都在淘寶上面買過(guò)東西,買完?yáng)|西后最常進(jìn)入的就是我的訂單,查看我們購(gòu)買的東西當(dāng)前所處的狀態(tài)。

在訂單頁(yè)我們可以看到不同的狀態(tài),我們的訂單會(huì)置于這些狀態(tài)下,對(duì)應(yīng)不同狀態(tài)的訂單向用戶傳遞著不同的信息,如下圖所示,我將訂單狀態(tài)用紅框框了出來(lái):

“待付款”狀態(tài)下的訂單向用戶傳遞的信息是:我提交了訂單,但是我還沒(méi)有付款;“待發(fā)貨”是我付款后的訂單;“待收貨”是我的貨物,快遞公司已經(jīng)攬收。

在訂單頁(yè)同一筆訂單會(huì)伴隨著不同條件的觸發(fā)而流轉(zhuǎn)到不同的狀態(tài)下。其中訂單從“待收貨”流轉(zhuǎn)到“待評(píng)價(jià)”狀態(tài)下的觸發(fā)條件有2種方式:一種是用戶通過(guò)操作觸發(fā)狀態(tài)切換:用戶主動(dòng)點(diǎn)擊了“確認(rèn)收貨”的按鈕后狀態(tài)會(huì)發(fā)生變更。另一種是通過(guò)滿足了淘寶的規(guī)則觸發(fā)狀態(tài)切換:淘寶規(guī)則為自狀態(tài)變更為“商家已發(fā)貨”狀態(tài)起,10天后,系統(tǒng)會(huì)自動(dòng)確認(rèn)收貨。當(dāng)滿足該規(guī)則時(shí),自動(dòng)觸發(fā)切換狀態(tài)。

狀態(tài)作為給用戶反饋結(jié)果的字段,設(shè)計(jì)“狀態(tài)”部分時(shí),產(chǎn)品經(jīng)理要對(duì)狀態(tài)所對(duì)應(yīng)的業(yè)務(wù)流程進(jìn)行充分的調(diào)研,對(duì)“狀態(tài)”的劃分內(nèi)容和不同狀態(tài)的產(chǎn)生條件規(guī)則,做到準(zhǔn)確的界定。因?yàn)闋顟B(tài)對(duì)于用戶來(lái)說(shuō)是非常重要的感知字段,設(shè)計(jì)的狀態(tài)與需求方達(dá)成共識(shí),顯示的狀態(tài)才能便于用戶理解和感知,不會(huì)造成理解上的歧義和偏差,用戶理解起來(lái)不會(huì)感到困難。

02 狀態(tài)的作用

1. 狀態(tài)在產(chǎn)品中的主要作用是為了提升用戶體驗(yàn)

產(chǎn)品中的進(jìn)度狀態(tài),本質(zhì)是體現(xiàn)業(yè)務(wù)中不同的進(jìn)度情況,狀態(tài)變更是按照業(yè)務(wù)進(jìn)度變化的順序分別進(jìn)行切換的。用戶通過(guò)狀態(tài)的變更感知到進(jìn)度的進(jìn)展情況,對(duì)完成目標(biāo)之間的距離有一個(gè)心理預(yù)期,能夠及時(shí)掌握進(jìn)度動(dòng)態(tài)變化的信息,降低了用戶因等待和無(wú)法及時(shí)把控進(jìn)度而產(chǎn)生的焦慮,進(jìn)而提升了用戶體驗(yàn)。

產(chǎn)品的結(jié)果狀態(tài),本質(zhì)是反饋一項(xiàng)業(yè)務(wù)流程最后的成功結(jié)果或失敗結(jié)果。成功結(jié)果代表著一件事已經(jīng)做完了,反饋結(jié)果目的是讓用戶感知到,事情已經(jīng)完成可以做下一件事了。失敗結(jié)果代表這件事情沒(méi)有做完,做的不對(duì),需要繼續(xù)處理,目的是讓用戶解決問(wèn)題。用戶根據(jù)狀態(tài)及時(shí)知曉結(jié)果反饋,幫助用戶做出有效決策,提升用戶體驗(yàn)。

2. 狀態(tài)在產(chǎn)品中也有觸發(fā)用戶產(chǎn)生行為的作用

狀態(tài)的本質(zhì)是傳遞信息,在某些場(chǎng)景下也是觸發(fā)用戶產(chǎn)生行為的條件。

拼多多助力免費(fèi)送商品的活動(dòng)、12306助力搶票的場(chǎng)景中,我們能看到,免費(fèi)送的商品和未到手的火車票,狀態(tài)都是還差多少值(百分比、多少人)助力,就可以到手了。通過(guò)狀態(tài)信息,引導(dǎo)用戶產(chǎn)生在朋友圈分享的行為,以及讓用戶的朋友們產(chǎn)生助力的點(diǎn)擊行為。

用戶能夠通過(guò)狀態(tài)反饋出來(lái)的信息產(chǎn)生感受,觸發(fā)用戶產(chǎn)生行為。在設(shè)計(jì)狀態(tài)的過(guò)程中我們需要推演設(shè)計(jì)的狀態(tài)是否真正達(dá)到預(yù)期希望用戶產(chǎn)生的感受和行為。

03 狀態(tài)流轉(zhuǎn)設(shè)計(jì)方法

關(guān)于狀態(tài)的流轉(zhuǎn)部分的設(shè)計(jì),可以按照下圖表格形式的方法進(jìn)行3個(gè)方面的思考,將表格補(bǔ)充填寫(xiě)完畢后,狀態(tài)流轉(zhuǎn)也就基本搞定了。這張表一共有四個(gè)字段,分別是“任務(wù)狀態(tài)”、“可用操作”、“遷移條件”和“狀態(tài)說(shuō)明”。

我們將狀態(tài)名稱按照流轉(zhuǎn)的邏輯順序?qū)懙健叭蝿?wù)狀態(tài)”里,狀態(tài)下可以使用的用戶操作寫(xiě)到“可用操作”中,狀態(tài)流轉(zhuǎn)的觸發(fā)條件規(guī)則寫(xiě)到“遷移條件”里,狀態(tài)的定義寫(xiě)到“狀態(tài)說(shuō)明”中。

1. 定義狀態(tài)和不同狀態(tài)下的可用操作枚舉

上圖任務(wù)狀態(tài)部分是我們通過(guò)調(diào)研一項(xiàng)業(yè)務(wù)流程后,梳理出來(lái)的狀態(tài)內(nèi)容。

第一步:我們對(duì)一個(gè)業(yè)務(wù)的某個(gè)環(huán)節(jié)不同狀態(tài)進(jìn)行一個(gè)界定,列出互斥的狀態(tài)有哪些。我們要列舉的狀態(tài)是根據(jù)不同的觸發(fā)進(jìn)行流轉(zhuǎn)的、且互斥的,在列舉中我們會(huì)去判斷這些狀態(tài)之間是否有上下游關(guān)聯(lián),是否互斥。

第二步:我們對(duì)不同狀態(tài)的狀態(tài)結(jié)合我們的義務(wù)進(jìn)行定義,對(duì)這些狀態(tài)進(jìn)行定義的原因是它可以幫助我們二次校驗(yàn)這些狀態(tài)的關(guān)聯(lián)關(guān)系,也可以讓我們與開(kāi)發(fā)同學(xué)之間對(duì)狀態(tài)的定義達(dá)成共識(shí)。

第三步:將所有底層的用戶動(dòng)作進(jìn)行梳理,比如點(diǎn)擊XXX按鈕,先將全部的按鈕都梳理出來(lái),然后將不同狀態(tài)可以做哪些動(dòng)作,用藍(lán)色展示,因?yàn)樗{(lán)色與B端后臺(tái)的按鈕更像,符合用戶習(xí)慣,將無(wú)法操作的動(dòng)作,用灰色展示,因?yàn)闊o(wú)法操作按鈕顯示出來(lái)一般置灰。都梳理出來(lái)是為了避免遺漏。

第四步:將這些動(dòng)作梳理出來(lái)后,我們就可以去做遷移條件的界定了。遷移條件可能是觸發(fā)了某個(gè)按鈕,可能是根據(jù)某種狀態(tài)觸發(fā)的,也可能會(huì)更復(fù)雜一些,更具某個(gè)按鈕,且某種狀態(tài)發(fā)生了變化后才會(huì)觸發(fā)遷移。但是當(dāng)我們將動(dòng)作和狀態(tài)都梳理好后,再界定遷移條件,就不會(huì)有遺漏條件。

當(dāng)遇到復(fù)雜邏輯的狀態(tài)遷移時(shí),比如狀態(tài)1是初始狀態(tài),當(dāng)在狀態(tài)1時(shí),這條數(shù)據(jù)被點(diǎn)擊按鈕1后, 狀態(tài)1發(fā)生變化,同時(shí)觸發(fā)了狀態(tài)2的變化,但是狀態(tài)1是根據(jù)按鈕和狀態(tài)2的變化來(lái)影響狀態(tài)1的變化的。

2. 定義狀態(tài)流轉(zhuǎn)的順序

一般我們會(huì)將狀態(tài)的流轉(zhuǎn)以狀態(tài)轉(zhuǎn)移圖表形式進(jìn)行繪制,避免邏輯缺失。狀態(tài)機(jī)就是狀態(tài)轉(zhuǎn)移圖。

狀態(tài)機(jī)四要素

狀態(tài)機(jī)可歸納為4個(gè)要素,即現(xiàn)態(tài)、條件、動(dòng)作、次態(tài)。這樣的歸納,主要是出于對(duì)狀態(tài)機(jī) 的內(nèi)在因果關(guān)系的考慮?!艾F(xiàn)態(tài)”和“條件”是因,“動(dòng)作”和“次態(tài)”是果。

  1. 現(xiàn)態(tài):是指當(dāng)前所處的狀態(tài)。
  2. 條件:又稱為“事件”,當(dāng)一個(gè)條件被滿足,將會(huì)觸發(fā)一個(gè)動(dòng)作,或者執(zhí)行一次狀態(tài)的遷移。
  3. 動(dòng)作:條件滿足后執(zhí)行的動(dòng)作。動(dòng)作執(zhí)行完畢后,可以遷移到新的狀態(tài),也可以仍舊保持原狀態(tài)。動(dòng)作不是必需的,當(dāng)條件滿足后,也可以不執(zhí)行任何動(dòng)作,直接遷移到新?tīng)顟B(tài)。
  4. 次態(tài):條件滿足后要遷往的新?tīng)顟B(tài)。“次態(tài)”是相對(duì)于“現(xiàn)態(tài)”而言的,“次態(tài)”一旦被激活, 就轉(zhuǎn)變成新的“現(xiàn)態(tài)”了。

狀態(tài)機(jī)分為有限狀態(tài)機(jī)和無(wú)限狀態(tài)機(jī)。

  • 有限狀態(tài)機(jī)是指輸出取決于過(guò)去輸入部分和當(dāng)前輸入部分的時(shí)序邏輯電路,有限狀態(tài)機(jī)可以確定狀態(tài)的個(gè)數(shù),比如人的某種狀態(tài)。
  • 無(wú)限狀態(tài)機(jī)不知道是否正規(guī)的說(shuō)法,從狀態(tài)機(jī)上理解就是輸出取決于輸入與當(dāng)前狀態(tài),但是當(dāng)前狀態(tài)是無(wú)限的,不能確定其個(gè)數(shù),比如人所在的位置。一般不使用。

一般狀態(tài)的始態(tài)是“待開(kāi)始”,遷移狀態(tài)變更為“進(jìn)行中”,最終的狀態(tài)為“完成/中止”。

當(dāng)業(yè)務(wù)中有狀態(tài)存在時(shí),我們可以優(yōu)先將業(yè)務(wù)狀態(tài)做成有限狀態(tài)機(jī)來(lái)描述,邏輯會(huì)很順暢完整,避免因?yàn)闋顟B(tài)復(fù)雜而丟失邏輯的情況,也會(huì)方便研發(fā)同學(xué)理解。

打顆栗子:

假如張大胖去飯店吃飯,進(jìn)飯店“待用餐”是狀態(tài)1,點(diǎn)餐是動(dòng)作1,點(diǎn)餐動(dòng)作觸發(fā)后,觸發(fā)了狀態(tài)2:待烹飪-烹飪中-烹飪完成,當(dāng)烹飪完成之后,狀態(tài)1才會(huì)發(fā)生變化,“待用餐”變成“用餐中”,最后變?yōu)椤坝貌屯瓿伞薄榱吮苊膺z漏邏輯,可以再做一個(gè)多狀態(tài)變化的遷移表。如下圖:

總結(jié)

狀態(tài)流轉(zhuǎn)是一項(xiàng)業(yè)務(wù)某一個(gè)環(huán)節(jié)/任務(wù)的生命周期,狀態(tài)流轉(zhuǎn)邏輯是這個(gè)業(yè)務(wù)環(huán)節(jié)的底層邏輯,我們?cè)谳敵鲈颓?,將狀態(tài)遷移表搭建好會(huì)避免狀態(tài)和條件的遺漏。

狀態(tài)遷移表建立后可以與業(yè)務(wù)方多去探討和改善,在生命周期中達(dá)成更深的理解和共識(shí)。

當(dāng)根據(jù)狀態(tài)遷移表做完原型和交互后,自己需要進(jìn)行校驗(yàn),看看是否有遺漏的邏輯。

校驗(yàn)的標(biāo)準(zhǔn)就是將自己當(dāng)成小白,使用實(shí)際的資料在自己的原型上跑一遍,自己過(guò)的沒(méi)有問(wèn)題后, 如果有條件,讓業(yè)務(wù)方根據(jù)實(shí)際業(yè)務(wù)也幫助跑一遍看看是否有問(wèn)題。

參考鏈接:

《深入淺出理解有限狀態(tài)機(jī)》鏈接為https://zhuanlan.zhihu.com/p/46347732

#專欄作家#

暮暮,公眾號(hào):財(cái)務(wù)產(chǎn)品人,人人都是產(chǎn)品經(jīng)理專欄作家。擁有好奇心且極度認(rèn)真的產(chǎn)品同學(xué)。擁有財(cái)務(wù)理論知識(shí)和財(cái)務(wù)產(chǎn)品經(jīng)驗(yàn),目前在醫(yī)療健康領(lǐng)域,擅長(zhǎng)中臺(tái)產(chǎn)品設(shè)計(jì)。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 很受用,感謝!

    來(lái)自北京 回復(fù)
  2. 狀態(tài)和標(biāo)簽,有什么區(qū)別嗎?

    來(lái)自廣東 回復(fù)
  3. 如果有統(tǒng)一流程中不同角色對(duì)應(yīng)同一狀態(tài)的不同顯示的梳理方式就更完美了

    來(lái)自上海 回復(fù)
  4. 好東西,說(shuō)的最清楚的方法。

    來(lái)自上海 回復(fù)
  5. 公眾號(hào)改名啦:禾暮暮

    回復(fù)
    1. 之前叫什么?

      來(lái)自浙江 回復(fù)
  6. 這個(gè)比較實(shí)用

    來(lái)自北京 回復(fù)
    1. 謝謝熊熊

      回復(fù)