功能流程,如何設(shè)計才能不被吐槽?
作為產(chǎn)品經(jīng)理,我們在設(shè)計每個功能流程的時候,最難考慮的應(yīng)該就是各種功能的細節(jié)應(yīng)該如何打造了。碰到這個時候,往往就會想,如果我是處女座,那該多好啊。
細節(jié)處理不好,經(jīng)常會被程序猿吐槽,這個功能考慮不周、那個功能的判斷條件沒有寫清楚、這個數(shù)據(jù)沒有做限制等等,對于剛?cè)胄械耐瑢W(xué),弱小的心靈怕是難以承受這樣的打擊。
如何避免被反復(fù)吐槽,做出一個令技術(shù)找不到嘈點的功能,來,讓燧人分享一下經(jīng)驗。
第一步:定義這個功能的正常流程
一般在設(shè)計功能流程的時候,我們會先設(shè)定這個功能的流程應(yīng)該如何行走。在這個階段,我建議大家先放下所有分支流程及異常流程,只設(shè)計最簡單,最正常的流程行進。
舉個栗子,假設(shè)設(shè)計一個手機號碼的注冊功能時,用戶的人機交互正常流程應(yīng)該按照如下的方式行進。
這里可看到,用戶可操作4個子功能、分別是輸入手機號碼、點擊獲取驗證碼、輸入驗證碼、確定注冊。當然,按照產(chǎn)品的需求,可以提供更多的輸入項目讓用戶輸入,這里需要結(jié)合自身產(chǎn)品去考慮。
這樣就有了一個基本流程,這個流程只能作為一條主線,并不能直接交付開發(fā)。
第二步:模擬用戶場景,檢驗流程是否滿足
所謂模擬用戶場景,則需要考慮三個場景
- 用戶在什么時候會使用這個功能;(如何開始)
- 用戶在使用這個功能的時候希望能提供給他們什么;(如何行進)
- 用戶在結(jié)束這個功能的時候希望是怎樣的。(如何結(jié)束)
那還是按照剛才的功能流程,先考慮如何開始:
實際上,我們需要考慮的是,這個功能的入口是否合理(有些同學(xué)可能將功能設(shè)計得很好,但忘記了入口在哪里)
其次,我們再考慮這個功能在用戶進行的時候,是否可滿足用戶的需求。
在這里,我將輸入驗證碼修改成自動讀取驗證碼并輸入,這個可以方便用戶不用來回切換程序來進行輸入。當然還會有其他令用戶體驗更好的功能,這里面不細說。
主要的原理是行進中的流程,應(yīng)該將自己代入到用戶當中,去感受這個功能是否讓用戶感到舒適,或者為了用戶的體驗,應(yīng)該增加哪些功能。
最后,我們再考慮如何結(jié)束:
在流程的完結(jié),應(yīng)該考慮功能最終體現(xiàn)給用戶是什么效果,這里以注冊來做例子,則是返回到進入前的頁面。而其他功能,請腦補會出現(xiàn)什么結(jié)果。
至此,我們進入到流程考慮的第三步。
第三步:極端的模擬
為了確保,我們對于功能考慮的完善,那需要對剛才所制作好的流程圖,每一個環(huán)節(jié)去考慮分支及異常事項。這里面我慣用的方法,則是通過代入極端數(shù)值去驗證流程是否具備對異常情況的應(yīng)對方案。而對于無數(shù)值輸入的功能,則按照是/否的形式去思考。
示例1:(是非判斷)
第一個環(huán)節(jié):打開頁面A提示進入到注冊功能(不需用戶進行任何數(shù)值輸入,我們用是、否的方式考慮)
考慮的問題:
- 是:什么場景下,打開頁面A會提示并進入注冊功能?
- 否:什么場景下,打開頁面A不會提示并進入注冊功能?
通過這個方法,引入用戶是否已登錄的判斷。
示例2:(當涉及到數(shù)值輸入我們需要引入極端數(shù)值)
在輸入手機號碼的環(huán)節(jié)涉及到數(shù)據(jù)的交互,這個時候我們可以采取是否判斷+極端數(shù)值的辦法去考慮異常流程。
- 是:如果用戶輸入的是手機號,怎么辦
- 否:如果用戶輸入的不是手機號,怎么辦
- 最大數(shù)值:在輸入無限多的手機號數(shù)時,怎么辦?
- 最小數(shù)值:在不輸入手機號碼或只輸入1個數(shù)字的時候,怎么辦?
通過這四個問題,就可以歸納出,應(yīng)該對流程做出如下限制:
- 用戶應(yīng)在此輸入框中,只能輸入數(shù)字
- 用戶應(yīng)在此輸入框中,必須輸入11位的數(shù)字
而上文所說的第二步及第三步,是一個反復(fù)思考的步驟。
我所建議的是,當?shù)谌叫薷耐戤?,返回第二步重新考慮,然后再一次進行第三步的修改。直至發(fā)現(xiàn)功能流程已達到改無可改的時候。
各位,我所舉例的注冊流程只是作為例子,仍然有很多地方需要完善,如果各位感興趣的話,不妨按照我說說的方法,用喔這個例子,去檢驗最終出來的流程,是不是會令你感到完美?
本文由 @燧人 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理?,未經(jīng)許可,禁止轉(zhuǎn)載。
支持一下,通俗易懂!