不管多復(fù)雜的系統(tǒng)設(shè)計,都離不開這9個字

木筆
6 評論 7639 瀏覽 74 收藏 18 分鐘

編輯導(dǎo)語:在進行系統(tǒng)設(shè)計時,對產(chǎn)品底層設(shè)計能力的掌握十分重要,如此,才能夠在接手新需求、新業(yè)務(wù)時不慌不忙,做好產(chǎn)品規(guī)劃方案。在文中,作者提出了理流程、定單據(jù)、填功能的系統(tǒng)設(shè)計策略。具體如何實施?不妨來看看作者結(jié)合了自身經(jīng)驗的這份解讀。

無論做什么事情時,我們總是希望能深諳其道、舉一反三,找到底層邏輯和運轉(zhuǎn)規(guī)律,這就需要我們多加觀察、學(xué)習(xí)、積累、總結(jié),繼而形成自己的方法論。

上學(xué)、做研究、創(chuàng)業(yè)、做產(chǎn)品規(guī)劃、系統(tǒng)設(shè)計無不如此。本篇文章以木筆本人切身經(jīng)驗分享一些B端系統(tǒng)設(shè)計的方法和步驟,希望對一些新老朋友有所幫助。

在做系統(tǒng)設(shè)計時,遇到一個業(yè)務(wù)提的一個新的需求丟過來時,新手小Z經(jīng)常焦頭爛額,就算對既有系統(tǒng)和流程已經(jīng)很熟悉了,在設(shè)計新的功能時還是漏洞百出。

而老道的產(chǎn)品的老A卻總能得心應(yīng)手,即便對過往業(yè)務(wù)不是很了解,經(jīng)過幾天的學(xué)習(xí),也總能設(shè)計出一份業(yè)務(wù)方比較滿意的方案,而且漏洞較少。

兩人的差距在哪呢?不是責(zé)任心,不是態(tài)度,而是產(chǎn)品底層設(shè)計能力。因為老A經(jīng)過多年摸爬滾打,總結(jié)了一套放之四海而皆準的產(chǎn)品法則,這套法則足以讓老A馳騁產(chǎn)品界,立馬定江山。

小Z對老A仰慕至極,虛心求教,老A笑著送給了小Z9個字:理流程,定單據(jù),填功能。而這9個字正是老A總結(jié)的產(chǎn)品箴言,可放諸四海,童叟無欺。

第一步:理流程。

當接到一個新的項目需求時,不要上來就開始聊系統(tǒng)實現(xiàn),應(yīng)該先和業(yè)務(wù)方一起把主干流程梳理一遍,保證流程是通暢無阻且切實可行的。

流程理順了,業(yè)務(wù)方的訴求也就清晰了,是否可行,哪些環(huán)節(jié)有坑都一目了然了,同時在梳理的過程中,系統(tǒng)層面的流程節(jié)點也比較清晰了。

第二步:定單據(jù)。基于業(yè)務(wù)流程各關(guān)鍵環(huán)節(jié)的產(chǎn)出歸納出系統(tǒng)的單據(jù)和狀態(tài),用單據(jù)存儲業(yè)務(wù)的過程數(shù)據(jù),用狀態(tài)管理流程的關(guān)鍵節(jié)點。

第三步:填功能。針對需要系統(tǒng)支持的環(huán)節(jié),設(shè)計系統(tǒng)功能,并與流程和單據(jù)相對應(yīng)。

做系統(tǒng)設(shè)計和蓋實體大樓流程是一樣的,理流程的過程就像做規(guī)劃,是搞清楚業(yè)務(wù)訴求和分析可行性的過程,比如這塊地未來是要做商業(yè)中心還是蓋住房,樓間距幾何、地面規(guī)劃如何等。

定單據(jù)就是打地基,把樓宇的主體結(jié)構(gòu)固定下來,確定結(jié)構(gòu)框架、材質(zhì)和關(guān)鍵施工環(huán)節(jié),然后開始動工。

填功能是最后的裝修階段,是在主體結(jié)構(gòu)上進行包裝、把最終成果呈現(xiàn)出來。

流程是方向、單據(jù)是執(zhí)行,功能是落地,流程決定了要什么,單據(jù)設(shè)計決定了怎么做,功能實現(xiàn)則決定做成什么樣子,三者相應(yīng)相輝,一起達成業(yè)務(wù)目標。

▲系統(tǒng)設(shè)計核心3要素:流程、單據(jù)和功能

一、理流程:庖丁解牛,理清業(yè)務(wù)和系統(tǒng)流程

在B端業(yè)務(wù)里,尤其是供應(yīng)鏈這一類偏重業(yè)務(wù)流程和多系統(tǒng)交互的領(lǐng)域,流程是業(yè)務(wù)開展的基礎(chǔ),幾乎所有的需求都來源于流程。

當我們接到一個新的需求時,應(yīng)該花50%以上的時間用于梳理流程,流程的梳理分為業(yè)務(wù)流程和系統(tǒng)流程兩部分。

業(yè)務(wù)流程由業(yè)務(wù)負責(zé)規(guī)劃,用于描述操作流程的順序,關(guān)鍵元素是[操作角色][操作節(jié)點];系統(tǒng)流程由產(chǎn)品經(jīng)理負責(zé)出具,是對業(yè)務(wù)流程分析后產(chǎn)出的系統(tǒng)交互流程,重在梳理系統(tǒng)之間的交互邏輯,關(guān)鍵元素是[操作系統(tǒng)][系統(tǒng)功能],下圖是業(yè)務(wù)流程和系統(tǒng)流程的泳道圖對比。

▲系統(tǒng)流程圖與業(yè)務(wù)流程圖

根據(jù)不同的業(yè)務(wù)場景,流程可以分為主干流程、輔助流程、異常流程三種:

  1. 主干流程:處理業(yè)務(wù)必不可少的主流程,就像樹的主干一樣,不實現(xiàn)就沒法滿足業(yè)務(wù)訴求,比如采購的建單、倉庫的收貨、上架等;
  2. 輔助流程:從主干流程分出來的子流程,如同樹的細枝末節(jié),屬于錦上添花,實現(xiàn)了有利于業(yè)務(wù)更好開展,不實現(xiàn)也不會影響,比如導(dǎo)入采購明細、批量收貨、批量上架等;
  3. 異常流程:出現(xiàn)異常情況的處理流程,也必須實現(xiàn),否則遇到異常了就出現(xiàn)了流程卡點,比如采購單的駁回、收貨錯誤修改、出庫揀貨異常等;

通常來說,主干流程和異常流程優(yōu)先級最高,必須在項目上線時就要具備,但異常流程因為不經(jīng)常發(fā)生,如果工期趕不上,可以考慮用簡單的方案替代(比如業(yè)務(wù)方線下處理)。輔助流程一般不緊急,可根據(jù)資源情況安排,如果項目第一期排不上,可放到后續(xù)迭代版本中。

▲如何梳理流程

在梳理業(yè)務(wù)流程時,我們可以遵循先主干再異常,最后分支的原則,盡量把項目中涉及到的流程以及每一個操作角色、操作環(huán)節(jié)都清晰地描繪出來,然后再對著操作節(jié)點梳理系統(tǒng)功能。

有些操作節(jié)點是需要系統(tǒng)功能支持的(比如采購建單、收貨),就需要有與之對應(yīng)的系統(tǒng)功能,還有一些是純線下行為(比如搬運、清掃),則不需要系統(tǒng)功能。

另外,操作節(jié)點和系統(tǒng)功能并不是一對一的,有的操作可能需要多個功能支持,也可能多個操作只對應(yīng)一個功能。

系統(tǒng)功能梳理出來以后,我們接著梳理每個功能對應(yīng)的輸入和輸出,有些輸入和輸出只體現(xiàn)在信息流上,有些則需要其它形式的產(chǎn)出。

例如倉庫收貨完成時,我們需要對收貨的結(jié)果和過程數(shù)據(jù)保存下來,這是信息層面的輸出,同時還需要為收貨員打印一張紙質(zhì)的收貨單,這是實體單據(jù)輸出。在梳理的過程中要對各環(huán)節(jié)的輸入和輸出做詳細的記錄和拆解,這是我們下一步設(shè)計單據(jù)和狀態(tài)的依據(jù)。

流程梳理的最后一步是做系統(tǒng)劃分,將系統(tǒng)功能與當前已有的系統(tǒng)進行匹對,定位每個系統(tǒng)功能的系統(tǒng)邊界,如果還沒有系統(tǒng),正好以此梳理結(jié)果為依據(jù)做系統(tǒng)規(guī)劃。

系統(tǒng)的劃分并沒有嚴格的執(zhí)行標準,有些處于兩個系統(tǒng)交界的功能放在A系統(tǒng)也行,B系統(tǒng)也行(例如兩個系統(tǒng)交互時,枚舉值的映射),這時可以根據(jù)架構(gòu)合理性、資源情況和操作便捷性等因素綜合評估。

二、定單據(jù):框架構(gòu)建,明確單據(jù)和狀態(tài)

在B端系統(tǒng)中,單據(jù)是用來存儲和流轉(zhuǎn)業(yè)務(wù)信息的憑證。系統(tǒng)流程及各環(huán)節(jié)的產(chǎn)出梳理出來以后,就可以以此規(guī)劃系統(tǒng)單據(jù)和單據(jù)狀態(tài)了。

單據(jù)有兩大核心要素:關(guān)鍵屬性和流轉(zhuǎn)狀態(tài)。關(guān)鍵屬性來源于流程各環(huán)節(jié)的產(chǎn)出,記錄業(yè)務(wù)開展過程中的詳細數(shù)據(jù),流轉(zhuǎn)狀態(tài)設(shè)計來源于系統(tǒng)關(guān)鍵節(jié)點的變化,記錄流程的流轉(zhuǎn)過程。

系統(tǒng)流程的每一個環(huán)節(jié)都會有輸入和輸出,輸出的信息需要保存下來,這些信息就是單據(jù)的屬性,也是最原始的單據(jù)數(shù)據(jù),還是下一環(huán)節(jié)的輸入數(shù)據(jù)。

我們試著對各環(huán)節(jié)的產(chǎn)出數(shù)據(jù)進行提煉,如果發(fā)現(xiàn)下一環(huán)節(jié)與上一環(huán)節(jié)的信息集合一樣,只有個別信息不同,則可以將這兩個環(huán)節(jié)設(shè)計為一個單據(jù),但如果差異非常大,就需要設(shè)計成不同的單據(jù)。

例如下圖中,采購的結(jié)果會生成采購單,我們需要設(shè)計一張采購單來承載采購的所有信息,收貨的輸入信息來源于采購明細。

但由于收貨結(jié)論與采購明細相差很大,兩者并不是一個維度的數(shù)據(jù)集合,采購單產(chǎn)生于采購系統(tǒng),收貨則是在倉儲系統(tǒng),一條采購明細會生成多條收貨明細,所以收貨結(jié)論需要單獨設(shè)計一張收貨單來承載。

另外,收貨結(jié)論會作為驗收的輸入信息,但驗收和收貨只是入庫流程中的兩個環(huán)節(jié),并無很大的差異,所以可以統(tǒng)一設(shè)計到收貨單中,根據(jù)狀態(tài)加以區(qū)分(當然不同業(yè)務(wù)形態(tài)下的流程不盡相同,如果驗收需要對收貨結(jié)論進一步拆分或合并,則二者就無法共用單據(jù)存儲,就需要設(shè)計不同的單據(jù)了)。

▲如何定義單據(jù)

系統(tǒng)流程的流轉(zhuǎn)是基于單據(jù)的流轉(zhuǎn)狀態(tài)來的,單據(jù)流轉(zhuǎn)狀態(tài)是單據(jù)的非常重要的屬性,也是驅(qū)動流程流轉(zhuǎn)的靈魂。

狀態(tài)設(shè)計來源于系統(tǒng)關(guān)鍵節(jié)點的變化,在規(guī)劃狀態(tài)時,我們需要把系統(tǒng)流程從頭到尾所有的節(jié)點都整理成線,然后挑出哪些是影響流程流轉(zhuǎn)的關(guān)鍵節(jié)點,對節(jié)點的流向結(jié)果進行提煉,便得到了單據(jù)的狀態(tài)。

例如倉庫入庫流程中,供應(yīng)商到貨以后,會分別進行①供應(yīng)商簽到→②倉庫收貨或拒收(合格品驗收,不合格拒收)→③倉庫驗收→④倉庫入門上架等4個節(jié)點,根據(jù)4個節(jié)點的輸出結(jié)論,便能分別設(shè)計出供應(yīng)商簽到、收貨完成、拒收、驗收完成、上架完成等5個收貨單狀態(tài)(當然這只是最簡單的舉例,實際倉庫收貨流程會復(fù)雜的多),如圖所示。

▲根據(jù)系統(tǒng)節(jié)點設(shè)計單據(jù)狀態(tài)

我們在設(shè)計單據(jù)狀態(tài)時,需要遵循幾個原則:

  1. 狀態(tài)之間應(yīng)該是平行且互斥的,不能存在交集。
  2. 狀態(tài)之間流轉(zhuǎn)應(yīng)該有清晰流向,是線型而不是網(wǎng)型,不要相互穿插跳躍。
  3. 狀態(tài)的設(shè)計不是憑空捏造的,必須和某個關(guān)鍵節(jié)點相呼應(yīng),由節(jié)點觸發(fā)狀態(tài)機流轉(zhuǎn)。
  4. 狀態(tài)設(shè)計最好只有一個開始節(jié)點,但可以有多個結(jié)束節(jié)點(正常結(jié)束狀態(tài)和異常結(jié)束狀態(tài)分開)。
  5. 狀態(tài)設(shè)計應(yīng)該足夠精簡,只有對關(guān)鍵邏輯產(chǎn)生影響的節(jié)點,才適合設(shè)計為狀態(tài)。

三、填功能:破繭而出,實現(xiàn)系統(tǒng)功能

當流程和單據(jù)梳理清晰以后,系統(tǒng)設(shè)計就成功了80% 了,最后20%在于系統(tǒng)功能的填充和實現(xiàn),將功能按照業(yè)務(wù)需要的風(fēng)格輸出,形成系統(tǒng)原型和需求文檔。

在填充系統(tǒng)功能時,也是有章可循的,我們需要依賴前面所做的流程梳理和系統(tǒng)單據(jù):

1)首先,將流程節(jié)點中的線下操作流程和系統(tǒng)處理流程進行分類,只有系統(tǒng)處理流程是需要實現(xiàn)系統(tǒng)功能的。

2)接著,基于各環(huán)節(jié)的輸入和輸出信息設(shè)計對應(yīng)的功能。功能包含帶頁面的操作性功能,以及不需要頁面的系統(tǒng)邏輯處理功能,輸入信息對應(yīng)到系統(tǒng)功能上通常是查詢條件、信息錄入、導(dǎo)入等功能,輸出信息通常對應(yīng)查詢結(jié)果、存儲信息、操作日志、導(dǎo)出等功能。

3)然后,將關(guān)鍵功能與單據(jù)的狀態(tài)變更結(jié)合起來,梳理出每個功能的詳細邏輯以及對應(yīng)的單據(jù)狀態(tài)變更,系統(tǒng)功能便設(shè)計完成了。

4)最后,功能設(shè)計完以后,將系統(tǒng)功能和非系統(tǒng)功能串在一起驗證一下是否和業(yè)務(wù)流程預(yù)期一致,不能出現(xiàn)流程盲區(qū)和卡點;若有,則繼續(xù)完善,直到整個業(yè)務(wù)流程通暢無阻。

在設(shè)計B端系統(tǒng)功能設(shè)計時,可以參考尼爾森經(jīng)典十原則,同時一定要遵循實用大于美觀的原則,這里總結(jié)幾個設(shè)計小貼士:

1)頁面功能應(yīng)該分清主次,頁面越簡單越好,這樣的學(xué)習(xí)成本和實現(xiàn)成本最低,拒絕花里胡哨。

2)同一個系統(tǒng)內(nèi)各頁面設(shè)計的控件、頁面布局、風(fēng)格、顏色、字體應(yīng)該統(tǒng)一,且符合大眾操作習(xí)慣。

3)如果可以,頁面應(yīng)該聚焦,盡量在一個頁面完成核心操作,少做跳轉(zhuǎn),因為每一次跳轉(zhuǎn)都是動作和時間上的浪費。

4)批量操作很有用,例如查詢時可以查多個SKU、操作時可以批量審核等,系統(tǒng)的一個批量功能,可能會給業(yè)務(wù)的操作效率帶來飛躍。

5)操作記錄很重要,當出現(xiàn)問題需要排查時,日志是案發(fā)現(xiàn)場最好的黑匣子,所以無論如何,核心操作的日志功能不要省,否則總有一天,會為自己的一時懶惰埋單。

6)設(shè)計一個好的灰度策略,通過新老流程并行,由老流程逐步過渡到新流程,有問題了也可以隨時切換,可以極大的降低項目風(fēng)險。

以上便是老A的系統(tǒng)設(shè)計9字箴言了,掌握了這個方法,再復(fù)雜的系統(tǒng)設(shè)計也能夠?qū)訉悠饰?,直到最終落地,如庖丁解牛。

方法本身并不神奇,其實就是需求分析和拆解的過程,但知易行難,每一步的技能磨練都需要我們懷謙卑之心深扎到一線去摸爬滾打才能慢慢領(lǐng)悟,這個過程叫做經(jīng)驗,不經(jīng)歷就無法得驗。

如果問我有沒有更快的系統(tǒng)設(shè)計成長技巧,答案是肯定的,就兩個字:實戰(zhàn)!百聞不如一見,百看不如一試,唯有多加實戰(zhàn)才能在真實的業(yè)務(wù)環(huán)境和項目壓力中迅速成長,繼而逐漸找到自己的方法論,以不變之策應(yīng)萬變之事。?到那時,你且看他……

 

作者:木筆,產(chǎn)品一俗生,深耕于供應(yīng)鏈領(lǐng)域,微信公眾號:供應(yīng)鏈產(chǎn)品筆記

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

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 總結(jié)的到位

    回復(fù)
  2. 請問,這里的“單據(jù)” 是不是有點類似后臺開發(fā)人員的“數(shù)據(jù)表”. 而且常規(guī)的不都是梳理功能架構(gòu)、信息架構(gòu)么,作者這里梳理是否能代替?

    來自廣東 回復(fù)
    1. 單據(jù)應(yīng)該指的是類似:銷售單、發(fā)貨單、采購單等

      來自浙江 回復(fù)
  3. 謝謝老師,解決了燃眉之急。

    回復(fù)
  4. 向你學(xué)習(xí)

    回復(fù)
  5. 很不錯,記個筆記~

    來自浙江 回復(fù)
专题
12051人已学习13篇文章
2023年已结束,你的年终总结写好了吗?本专题的文章分享了如何做好年终总结。
专题
46192人已学习20篇文章
这些APP设计的细节和规范你都掌握了吗?
专题
53035人已学习18篇文章
做了好多年的产品经理,该不会连注册登录功能设计都没整明白吧?
专题
19135人已学习13篇文章
客户服务在整个客户生命周期主线中是一项持续的互动行为。本专题的文章提供了做好客户服务设计和体验的思路。
专题
15413人已学习13篇文章
本专题的文章分享了数据分析报告写作指南。
专题
11936人已学习12篇文章
针对新零售行业的发展现状,面向新零售企业的SaaS系统,可以如何进行系统架构和规划?本专题的文章分享了新零售saas架构指南。