只需5步,你也可以畫出高質量的狀態流轉圖

21 評論 61728 瀏覽 268 收藏 13 分鐘

一份PPT可以認為是一個產品,一個PRD文檔也可以認為是一個產品,乃至于一張流程圖、一封郵件都可以被當做是一個產品。

狀態流轉圖是一種用于描述狀態之間流轉過程的需求文檔,在電商類產品的訂單流、審批流一類的需求中比較常見。

相對而言,狀態流轉圖用得并不像業務流程圖那么多,所有很多產品經理對這個類型的需求文檔不太熟悉。為了更好地給大家分享這個類型的需求文檔,火山YY了一個名為“掃寶網”的C2C海外代購電商平臺,并以它的產品上架流程為例予以說明:

  • 業務背景:為了降低平臺的產品上架成本,平臺為供應端開放了一個產品錄入上架的后臺,供海外留學生、空姐等(供應端)人員上架產品;
  • 業務需求:為了把控產品質量,產品需要平臺審核通過之后才能上架銷售。

根據以上場景及需求,大致繪制出如下業務流程圖:

經過分析,此流程至少涉及到兩個維度的7種產品狀態,即:

  • 審核維度:制作中(正在編輯產品)、待審核、審核通過、審核駁回
  • 上架狀態:從未上架、已上架、已下架

那么,這些狀態是怎么流轉的呢?我們先試著用流程圖把狀態梳理一下,大致如下圖:

乍一看還挺清晰的,但仔細一看,就不難發現其中的問題。

一、流轉圖的問題

有什么問題,思考1分鐘……

問題一、狀態缺失

“已下架”狀態缺失,這個問題比較容易發現,但即便你發現了這個狀態缺失估計也愛莫能助,因為這個流程中壓根不涉及,所以這個狀態即便考慮到了也放不進這個流程圖!怎么解決?按照這個思路,可能的方案就是到下架流程中進行補充。

雖然這個方法可以解決狀態標注的問題,但這并非一個最優的方法,因為解決問題的同時也導致了狀態流轉被分割到了不同的流程當中,不能在一個流程圖當中清晰地呈現各狀態之間的流轉關系,開發GG、測試MM無法方便地進行查閱,需求文檔閱讀成本增加。(閱讀成本增加帶來的后果是你與開發gg、測試MM的溝通成本增加,說到底最終麻煩的還是你自己)

問題二、狀態信息不準確

這個問題不仔細推敲不太容易發現。比如“商家錄入產品信息”這個環節的狀態被標記為“制作中”、“從未上架”,那么設想一下,如果一個產品在上架之后,由于種種原因,信息需要發生變更,這個時候可能需要重新審核之后才能生效,在商家變更產品信息的過程中,產品的上架狀態應該是什么狀態呢?顯然,無論如何它的上架狀態都不會是“從未上架”。如果說上一個問題帶來的后果只是溝通成本增加的話,那么這一個問題帶來的后果恐怕就是讓自己成為一名“實力挖坑”的選手了。

問題三、擴展性不強

這個問題前期基本沒有,一般到了中后期產品迭代的時候才會逐步暴露出來。為了說明這個問題,火山又YY一個場景,掃寶網的商家在運營一年以后發現后臺充斥著大量的廢棄商品分散它們的注意力,提高了他們的篩選成本,希望增加一個刪除功能,這個時候需要增加一種刪除狀態,這個狀態該如何流轉?什么狀態下能刪,什么狀態下不能刪?未來還有可能再增加完整狀態、有效狀態、可售狀態呢?還能理得清狀態是如何流轉的嗎?是不是想想都有點頭大……

那么,有沒有更好的辦法可以幫我們更加清晰地描述狀態之間的流轉關系呢?

二、“五步”繪制法

有!火山今天就給大家分享一個狀態流轉圖的“五步”繪制法,希望能對大家有所啟發。

第一步:拆分狀態維度

由于此流程主要涉及審核、上架兩個維度的狀態,因此,我們先繪制兩個維度的空白表格

火山點評:當業務流程比較復雜,涉及多個維度的狀態時,這一步非常非常關鍵。因為無論一個流程多復雜,被拆分到多個維度之后,單看每一個維度都會變得簡單很多。

第二步:繪制第一個維度的狀態圖

流程的起點從上架錄入產品開始,先有錄入、提審,才有了上架,因此,先從審核狀態開始繪制。繪制時可以采用先窮舉這個維度的所有狀態,再通過流線標注兩兩狀態之間的流轉關系的方式來繪制,效果如下圖所示:

火山點評:狀態流轉圖重點關注的是狀態之間的關系,因此主體是狀態名稱,流線上是操作說明,無需描述詳細的處理校驗邏輯。

第三步:繪制其他維度的產品狀態圖

按照第一個維度狀態相同的方法,即先窮舉狀態、再標注狀態流轉關系,繪制第二個維度的狀態流轉圖,如下圖所示:

第四步:不同維度的狀態關聯

兩個維度的狀態繪制完畢之后,結合實際流程,跨維度標記兩個維度之間狀態相互之間的流轉關系,大致結果如下圖所示:

火山點評:至此,一個完整的產品上架狀態流轉圖就基本上可以說繪制完畢了。

讓我們再來測試一下它的擴展性?;鹕皆賮鞾Y一個場景:

由于業務需要,掃寶網需要增加一個刪除功能,制作中、審核駁回的產品允許用戶刪除。與此同時,由于產品信息錄入的頁面比較多,錄入產品過程中可能被打斷,再次進入時,需繼續填寫完整產品信息,因此還需要增加一個完整性狀態,同時沒有錄入完整的產品不允許提交審核;

需求分析:

首先,一般情況下狀態維度不宜太多,可將刪除產品可以作為審核維度的一個狀態值“已刪除”,大致流轉圖如下:

其次,無論是完整狀態還是不完整的狀態,實際上都可以處于制作中的狀態,但由于之前已經存在“制作中”的狀態,這個時候如果拆分制作中的狀態,歷史數據處理會比較麻煩,因此,我們把完整性作為一個維度來繪制,最終大致如下圖所示:

至此,擴展了3個狀態的狀態流轉圖在增加了一個狀態值,擴展了一個維度之后,也繪制完畢了,我們在一張圖中清晰而又完整地表述了各個狀態之間的流轉關系,而且擴展性也還行,是不是感覺很不錯^_^

然而火山認為這還不夠,為什么?因為它的可讀性還不夠好!

你有沒有發現,僅僅只有三個維度的狀態流轉圖似乎依然顯得有點凌亂,如果不是跟著火山的思路往下走,直接將最后一張完整的狀態圖丟給你,你是不是不知道該從何著眼。而如果以后再要擴展更多的維度,勢必就更加“混亂”了。雖然這種混亂是由于產品本身的復雜性導致的,但這對于一名追求完美的產品經理來說同樣是不能忍受的,如果恰好你也不能忍受,你或許還可以繼續進行下(jia)一(fen)步(xiang)。

第五步:主線速描,增強狀態流轉圖的可讀性

以主流程“錄入-提交審核-審核通過-上架-下架”為參照,對主流程上的各個節點狀態及流線進行著色,如下圖所示:

火山點評:完成著色后的狀態流轉圖,主線和支線之間的界限涇渭分明,整個狀態流轉圖立馬清晰了很多,讀者很容易就會順著主線的引導理清整個流程中的狀態流轉過程,可謂是點睛之筆。

三、總結

在一個互聯網團隊當中,產品經理無疑是最應該具備“產品思維”的一個角色;而產品思維絕不僅僅只能用在我們所設計的一個功能板塊、一個網站系統這些產品經理的本職工作上,也應該被用在我們日常工作的方方面面。一份PPT可以認為是一個產品,一個PRD文檔也可以認為是一個產品,乃至于一張流程圖、一封郵件都可以被當做是一個產品。

既然是產品,就要講求“用戶至上,體驗為王”。如果把一張狀態流轉圖看做是一個產品,開發GG、測試MM就是它的用戶,從這個角度來說,第五步這微小的一步或許才是提升“狀態流轉圖”這一個“產品”提升“用戶體驗“的關鍵之舉。

作為產品經理,如果我們交付的每一份需求文檔都能用以產品思維來要求,或許程序猿與產品汪之間的“愛”與“情”會更多一點,“仇” 與 “恨”會更少一點,(互聯網)世界將會變成更美好的人間……

特別說明:本案例及案例中所有場景需求純屬虛構,如有雷同,純屬巧合。

#專欄作家#

PM火山,微信公眾號:PM火山,人人都是產品經理專欄作家。后臺型產品從0到1負責人??恐鴮W習、實踐、總結,再學習、再實踐、再總結來讓自己不斷成長的產品人。

本文原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自 Unsplash ,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 第一張圖還看的挺明白的,后面的圖看著好復雜,毫無頭緒,可能不太適合我吧。。。。

    來自浙江 回復
  2. 用狀態圖來描述,更清晰

    來自浙江 回復
  3. 很清晰,支持 ??

    來自北京 回復
  4. 1、在上架狀態中;審核完成上架成功這個狀態轉換條件與審核狀態的狀態圖關聯在一起;原則上是沒有這條線的,這個是審核狀態的狀態改變,只有從審核狀態-審核成功后系統上架這個條件;
    2、還有個疑問是產品創建成功的初始狀態,這里是否有些不明確,此時還沒有進行制作;如何直接變成創建成功的狀態;感覺將用戶制作的狀態與與審核狀態混淆了一部分~
    審核狀態:待審核、審核通過、審核駁回應該是此3個
    用戶制作狀態:創建商品;編輯商品
    感謝你的分享,有很多啟發~

    來自遼寧 回復
  5. 產品小白,最近在做任務發布審批流。感謝分享,學到了拆分狀態維度。這個圖把狀態流轉表達的比較清晰。 ?

    疑問:業務流程圖怎么和狀態流轉圖完美結合。

    來自北京 回復
  6. 1、完整性是 制作過程的細分,“不完整”、“完整”應該是“制作中”這個主狀態的 2個子狀態
    2、主狀態和子狀態2個層級的起始狀態可以標注出來。 同一層級,應該有1個初態和 1到n個終態

    來自四川 回復
  7. 這個是要把自己搞死啊,干嘛不直接畫個流程圖。。。。

    來自浙江 回復
  8. 大兄弟,這個圖越搞越復雜啊,第一張圖一看就懂,吃瓜群眾要看半天。。。教程不錯,這樣的流程怎么搞得可視化一些??!

    來自湖北 回復
  9. 有幾個問題不是很明白:
    1.這樣的圖,怎么看狀態的起點和結束點?還是說沒有起始?
    2.各個維度的狀態應該在同一時間會同時存在吧?那其實對程序而言是一個狀態吧?還是各個維度不會疊加存在呢,是相斥的?
    3.根據我的了解,狀態區分越多,代碼復雜度呈數量級增長,那么應該怎么將狀態控制在合理的水平,避免不必要的狀態存在呢?
    ?? 不知道您怎么看?

    來自廣東 回復
    1. 非常好的問題!試著談談我的個人觀點,僅供參考
      1、大部分情況,狀態流轉是有起點和結束點的,主線的始末可作為狀態的起點和結束點;
      2、各個維度的狀態是同時存在的,但每一個維度只能同時存在一種狀態。
      3、狀態的標記說道底是為了業務場景服務的,在能夠滿足用戶必要的業務場景的情況下,的確應該越少越好。具體怎么控制,就沒有標準答案了,我通常的做法是,如果某些業務場景如果可以通過不同維度的狀態組合實現,那么這個狀態值就可以省略掉。
      能提出這些問題,說明你是一個勤于思考的產品人,而且對技術實現由比較深的理解,給你點贊

      來自上海 回復
    2. 謝謝您的鼓勵 ??
      我剛入職電商行業兩個月,您的文章給我很大啟發,尤其是分維度拆解狀態。 :mrgreen:

      來自廣東 回復
  10. 我還是覺得業務流程轉換圖,標明每一個業務轉換的狀態在哪個發生點就好了,我個人是看這個圖,感覺挺累。 ??

    來自上海 回復
    1. 每個人都有可以有一套適合自己的方法,只要能清楚描述你的需求,什么圖都ok的

      來自上海 回復
  11. 個人覺得這個圖做的很棒啊,不知大家說的泳道圖做出來是什么效果?

    回復
    1. 我也想知道 ??

      來自上海 回復
  12. 用泳道圖來表示各系統模塊之間的狀態流轉可能更清晰

    回復
  13. 個人還是傾向用泳道流程圖來表達。。??粗粤α?/p>

    來自上海 回復
    1. 有機會分享分享,愿聞其詳

      來自上海 回復
  14. 這個圖看起來好累的感覺,但是節點邏輯多了還真不知道怎么闡述好,還是要靠圖

    來自重慶 回復
    1. 看起來累是因為業務本身比較復雜,這還只有3個維度,電商系統里面出現五六個維度的狀態是非常正常的

      來自上海 回復
    2. 我也覺得這個圖片看起來很累啊。

      來自上海 回復