高手PRD自查:分支流程+元素備要+異常場(chǎng)景
問(wèn):
把大象放進(jìn)冰箱需要幾步?把長(zhǎng)頸鹿放進(jìn)冰箱需要幾步?
答:
把大象放進(jìn)冰箱共需要3步,把長(zhǎng)頸鹿放進(jìn)冰箱共需要4步。
把大象放進(jìn)冰箱,第一步:打開(kāi)冰箱門;第二步:把大象裝進(jìn)去;第三步:關(guān)好冰箱門。

把長(zhǎng)頸鹿放進(jìn)冰箱,第一步:打開(kāi)冰箱門;第二步:把大象取出來(lái);第三步:把長(zhǎng)頸鹿裝進(jìn)去;第四步:關(guān)好冰箱門。
把這個(gè)順序交給人去干,一般沒(méi)問(wèn)題。然而,把這個(gè)步驟直接描述給程序,一定出問(wèn)題。
因?yàn)閱?wèn)題并沒(méi)有想象的那么簡(jiǎn)單:
大象不肯進(jìn)去怎么辦? 冰箱太小裝不下怎么辦? 好不容易塞進(jìn)去,冰箱門關(guān)不上怎么辦……
于是交付給程序的實(shí)際流程圖需要如下:

這就是在產(chǎn)品設(shè)計(jì)中常常會(huì)遇到的問(wèn)題。
自信滿滿把PRD給到開(kāi)發(fā)同學(xué)的時(shí)候,剛出去玩一會(huì)回頭就發(fā)現(xiàn)滿滿的漏洞等著補(bǔ)。

只有手忙腳亂地,開(kāi)始各種填坑……
這本質(zhì)是馬克思所說(shuō)的事物矛盾的普遍性導(dǎo)致的。解決辦法就是辯證看待,對(duì)立統(tǒng)一。
落地一點(diǎn)說(shuō),主要得兜住三個(gè)方面:分支流程窮盡+元素備要+異常情況窮盡。
下面正文,4.3千字,文末資料
本文目錄:
1?分支流程
2?元素備要
3?異常情況
4?PRD自查
5 獲取自查表(資料)
一、分支流程
當(dāng)然我們做設(shè)計(jì)的時(shí)候,主要精力肯定是應(yīng)該集中在主要任務(wù)和流程上,分支流程雖說(shuō)是小概率事件,但是也要有所考慮,不然方案就會(huì)不完整。
解決這個(gè)問(wèn)題,根本上是場(chǎng)景的窮盡。
需要注意:現(xiàn)實(shí)業(yè)務(wù)的場(chǎng)景枚舉,與設(shè)計(jì)方案的枚舉沒(méi)有絕對(duì)對(duì)應(yīng)性。也就是窮舉場(chǎng)景可能是四個(gè),但是實(shí)際上只需要三個(gè)方案就能覆蓋。
但是場(chǎng)景枚舉之間和分支方案之間存在MECE的屬性。

案例:
OMS系統(tǒng)與亞馬遜店鋪對(duì)接的前提是:亞馬遜店鋪可用、對(duì)OMS系統(tǒng)已授權(quán)、OMS系統(tǒng)開(kāi)啟對(duì)接。
成功對(duì)接后,來(lái)自亞馬遜的某些操作,會(huì)導(dǎo)致對(duì)接異常。此時(shí)通過(guò)接口返回錯(cuò)誤提示,可以展示在OMS系統(tǒng)的店鋪上,提醒商戶處理。
那么這里有多少分支場(chǎng)景呢?
這個(gè)是第一性的,此后才能判斷功能是否覆蓋到上述場(chǎng)景。
針對(duì)場(chǎng)景到功能設(shè)計(jì),本質(zhì)是一種映射:y=f(X)

二、元素備要
如何一網(wǎng)打盡才是重要的。大多數(shù)是把每個(gè)流程都是按前、中、后進(jìn)行要素的齊備。
1. 設(shè)計(jì)前
主要檢查點(diǎn):用戶類型、帳號(hào)體系。

未登錄:登錄和未登錄按鈕權(quán)限差別,需要登錄后才可操作的功能是否備注。
用戶權(quán)限:需要讀取權(quán)限嗎?如何描述讀取內(nèi)容讓用戶讀?不同權(quán)限管理。
2. 設(shè)計(jì)中
2.1 框架階段
主要檢查點(diǎn):層級(jí)關(guān)系、信息區(qū)分、擴(kuò)展性。

2.2?流程階段
主要檢查點(diǎn):角色,入口,目的,操作,離開(kāi)、中斷。
「我是誰(shuí)?從哪里來(lái)?要到哪里去?怎么去?還有誰(shuí)?」。

要看流程有沒(méi)有短路,如果過(guò)程中有中斷,中斷后要怎么提示,如果有不同的權(quán)限和角色,還得檢查相互之間有沒(méi)有相通和關(guān)聯(lián)的地方,共同的關(guān)鍵節(jié)點(diǎn)。以及逆向操作。不同角色不同場(chǎng)景的任務(wù)流程一定要單獨(dú)梳理。
2.2 內(nèi)容顯示
主要檢查點(diǎn):數(shù)據(jù)顯示、緩存、內(nèi)容、狀態(tài)(特別是為空、初始)、顯示(各種極限情況)。「為空、初始、極限情況」。

2.3 反饋通知
主要檢查點(diǎn):通知,提醒,界面反饋,用戶反饋入口。
「操作的任何階段(前、中、后被中斷)都要防止用戶發(fā)呆」。

2.4 文本控件
主要檢查點(diǎn):表意清晰、使用一致?!附Y(jié)合流程檢查要符合操作的前后情景,符合用戶的常規(guī)認(rèn)知和習(xí)慣」。

?三、異常情況
1、異常流程
退出、撤銷、重置、返回、不通過(guò)、過(guò)期失效
返回:從哪里來(lái)是否可以回到那里去 保存:復(fù)雜任務(wù)流是否支持保存或自動(dòng)保存;意外退出前保存提示 復(fù)雜狀態(tài)之間的變化關(guān)系:子流程梳理輔助說(shuō)明
2、刷新和加載
刷新:自動(dòng)還是手動(dòng)刷新?每次刷新加載多少條內(nèi)容?刷新失敗如何提示? 無(wú)線刷新:頂部下拉、底部上拉,安卓有刷新按鈕 加載:復(fù)雜頁(yè)面是否有副列表加載?預(yù)覽、保存、提交的完成時(shí)間若超過(guò)3S是否有加載的過(guò)渡狀態(tài)?新加載內(nèi)容是否有高亮底紋顯示?
沒(méi)有網(wǎng)絡(luò)(無(wú)網(wǎng))
網(wǎng)絡(luò)超時(shí)(斷網(wǎng))
網(wǎng)絡(luò)太慢(弱網(wǎng))
網(wǎng)絡(luò)環(huán)境變化:從WiFi到數(shù)據(jù)流量環(huán)境時(shí)是否需要切換視圖
加載失?。菏欠褡詣?dòng)重新加載?
4、操作異常
連續(xù)多次點(diǎn)擊給予反饋、統(tǒng)一設(shè)備登錄多個(gè)賬號(hào)驗(yàn)證碼、統(tǒng)一IP;連續(xù)破壞性操作n項(xiàng)內(nèi)容時(shí)是否需要身份驗(yàn)證。 數(shù)據(jù)相關(guān):進(jìn)入頁(yè)面后服務(wù)器獲取不到數(shù)據(jù);搜索無(wú)結(jié)果狀態(tài);數(shù)據(jù)加載時(shí)間較長(zhǎng)時(shí)預(yù)設(shè)默認(rèn)圖片、狀態(tài)、內(nèi)容框架; 錯(cuò)誤提示頁(yè):404頁(yè)面、即將上線、頁(yè)面失效、服務(wù)下線、系統(tǒng)繁忙,考慮出錯(cuò)頁(yè)面內(nèi)容情感化表達(dá)以減弱用戶的受挫感。
需限定輸入的范圍,做輸入校驗(yàn)。
示例:最多輸入10個(gè)數(shù)值,輸入不合規(guī)則的內(nèi)容,則在輸入框下方紅色字體提示,比如:“請(qǐng)不要輸人漢字!”。
(2)下拉框
下拉的同時(shí)是否支持輸入搜索,是否支持多選。
(3)導(dǎo)入文檔
表頭校驗(yàn)、自校驗(yàn)、與系統(tǒng)校驗(yàn)、寫入邏輯(全部不予導(dǎo)入或部分導(dǎo)入)、下載結(jié)果文檔;
(4)已有功能的邏輯規(guī)則變更
則要考慮舊數(shù)據(jù)兼容或初始化。
(5)基礎(chǔ)數(shù)據(jù)刪除
則要考慮基礎(chǔ)數(shù)據(jù)被調(diào)用的地方,刪除和編輯怎么處理。
比如:
商品分類中維護(hù)的“商品類型”被刪除,那么再編輯和刪除該分類下的歷史數(shù)據(jù)的時(shí)候就可能報(bào)錯(cuò),所以基礎(chǔ)數(shù)據(jù)維護(hù)時(shí)候要校驗(yàn)調(diào)用情況。
(6)設(shè)置規(guī)則
考慮規(guī)則去重、規(guī)則優(yōu)先級(jí)。
一般情況下,沒(méi)有優(yōu)先級(jí)的話,規(guī)則的去重和命中次序校驗(yàn)起來(lái)比較麻煩。(在<后端產(chǎn)品經(jīng)理寶典>一書(shū)中有專門介紹)。
(7)列表的數(shù)據(jù)的排序
一般按照修改時(shí)間的倒敘排列,也可以用數(shù)據(jù)庫(kù)id代替序號(hào)。
用數(shù)據(jù)庫(kù)id的好處是,方便用戶和技術(shù)協(xié)作追溯數(shù)據(jù)。
(8)異常機(jī)制
每時(shí)每刻都要有逆向思維,告訴開(kāi)發(fā)人員什么算異常?異常了怎么標(biāo)示出來(lái)。
比如:
表1字段A,匹配表2字段B,將匹配成功的數(shù)據(jù)寫入表3。就要考慮表1中字段A為空的情況該怎么辦。
(9)頁(yè)面長(zhǎng)期不登錄
則給自動(dòng)退出。主要考慮到后端系統(tǒng)的保密性。
(10)凡是帶操作的
一般都要設(shè)置頁(yè)面權(quán)限。
最簡(jiǎn)單的方式是所有系統(tǒng)的權(quán)限都分三個(gè)等級(jí):不能查看、只能查看、可以編輯。
(11)功能修訂
比如規(guī)則變更,需要考慮舊數(shù)據(jù)是否要按照新規(guī)則進(jìn)行初始化。
2、按需求類型自查
(1)功能需求
需要窮盡功能覆蓋的使用場(chǎng)景,窮盡本功能相關(guān)聯(lián)的各個(gè)系統(tǒng)模塊,窮盡本功能的用戶角色、權(quán)限。
(2)性能需求
數(shù)據(jù)量較大時(shí)的系統(tǒng)壓力、反應(yīng)速度;
批量上傳、下載要考慮數(shù)量上限,考慮是否異步處理;
考慮瀏覽器兼容性;考慮調(diào)用接口超時(shí)的備用策略等。
(3)安全需求
敏感詞屏蔽(同步過(guò)濾和異步召回)、防刷單機(jī)制、數(shù)據(jù)補(bǔ)推機(jī)制、風(fēng)險(xiǎn)預(yù)警等。
3、關(guān)鍵詞提醒自查
筆者不完全羅列了幾個(gè)關(guān)鍵詞,可以作為自查的維度。
(1)完整
流程是否存在斷頭路。
比如當(dāng)正常流程無(wú)法傳輸?shù)臅r(shí)候,是否可以用導(dǎo)入的機(jī)制救急。業(yè)務(wù)高峰的系統(tǒng),是否有降級(jí)處理邏輯。
默認(rèn):是否給予了默認(rèn)值。
比如設(shè)置規(guī)則功能業(yè)務(wù)未設(shè)置怎么辦?
4、其他
自查的方式還有很多,比如也可以按照“增、查、改、刪、顯、傳、算”自查等。
-完-



——推薦閱讀——

