產(chǎn)品經(jīng)理方法論:分類(lèi)拆解
編輯導(dǎo)語(yǔ):產(chǎn)品經(jīng)理在日常工作中需要接觸大量陌生且復(fù)雜的業(yè)務(wù),如何分析業(yè)務(wù)得到最終的產(chǎn)品業(yè)務(wù)需求、推動(dòng)業(yè)務(wù)的快速進(jìn)行?也許你可以結(jié)合“分類(lèi)拆解法”,對(duì)業(yè)務(wù)進(jìn)行從頭梳理。本篇文章里,作者結(jié)合微信聊天界面,對(duì)分類(lèi)拆解法進(jìn)行了應(yīng)用與概括,一起來(lái)看一下。
《啟示錄:打造用戶(hù)喜愛(ài)的產(chǎn)品》提到:
我建議產(chǎn)品經(jīng)理關(guān)注日常生活里那些讓大眾煩惱不堪,又不得不應(yīng)付的事情。如果產(chǎn)品經(jīng)理能解決這些問(wèn)題,一定能打造成成功的產(chǎn)品。
所以作為一名產(chǎn)品經(jīng)理,首先要做的,就是不斷地去發(fā)現(xiàn)用戶(hù)仍未得到解決或優(yōu)化的問(wèn)題,然后思考能否用產(chǎn)品的手段解決掉。
一款完整的APP主要包括:產(chǎn)品戰(zhàn)略層、交互邏輯層、UI視覺(jué)層、開(kāi)發(fā)&后臺(tái)層,以及最后的運(yùn)營(yíng)推廣層。每一個(gè)層次都可以進(jìn)行詳細(xì)拆解分析。對(duì)業(yè)務(wù)進(jìn)行拆解能幫助產(chǎn)品經(jīng)理更好地厘清各個(gè)業(yè)務(wù)流程模塊之間的關(guān)系,分清主次需求。
當(dāng)一個(gè)產(chǎn)品經(jīng)理接到一個(gè)復(fù)雜且陌生的業(yè)務(wù)時(shí),要怎么將它從頭拆解轉(zhuǎn)化成產(chǎn)品需求?
接下來(lái)就讓我們一起來(lái)看一看 “分類(lèi)拆解法” 到底是什么。
先來(lái)看一個(gè)我們每天都在干的事,微信聊天?,F(xiàn)在請(qǐng)與我一起打開(kāi)微信,選擇一個(gè)你的好友并打開(kāi)與他 聊天的頁(yè)面,我們來(lái)研究一下如果要自己編寫(xiě)一個(gè)微信聊天頁(yè)面,該怎么做呢。
非常建議各位在閱讀以下內(nèi)容前先打開(kāi)微信聊天界面,一邊閱讀內(nèi)容一邊在微信聊天界面中實(shí)際操作,以便充分吸收接下面信息。
一、界面分析
首先,我們看到頁(yè)面分成三個(gè)部分(我們稱(chēng)為?“子部件”),分別是:
- 頂部的昵稱(chēng)區(qū)域(圖 1 中標(biāo)記為 ① 的區(qū)域);
- 聊天內(nèi)容顯示區(qū)域(圖 1 中標(biāo)記為 ② 的區(qū)域);
- 底部的聊天內(nèi)容輸入?yún)^(qū)域(圖 1 中標(biāo)記為 ③ 的區(qū)域)。
在頂部的昵稱(chēng)區(qū)域我們能看到三個(gè)?“顯示元素”,從左到右依次為:返回按鈕(一個(gè)箭頭形狀的圖標(biāo)),聊天對(duì)象的昵稱(chēng)和更多操作按鈕(一個(gè)三個(gè)點(diǎn)組成的圖標(biāo))。
其中,返回按鈕和更多操作按鈕不論我們與誰(shuí)聊天都是這個(gè)樣子,我們把這類(lèi)不會(huì)改變顯示內(nèi)容的元素叫做 “靜態(tài)界面”。
第三個(gè)元素——聊天對(duì)象的昵稱(chēng),則會(huì)因聊天對(duì)象的不同而顯示不同的昵稱(chēng),我們把這類(lèi)會(huì)改變顯示內(nèi)容的元素叫做 “交互界面”。因?yàn)槊總€(gè)好友只有一個(gè)昵稱(chēng),所以該界面只顯示一條內(nèi)容,即?“單條內(nèi)容交互界面”。
在第二個(gè)部分——聊天內(nèi)容顯示區(qū)域,該區(qū)域顯示我們與好友聊天的聊天記錄。我們與每個(gè)好友聊天的內(nèi)容不同,所以該區(qū)域也是一個(gè) “交互界面”,同時(shí)我們與好友的聊天記錄有很多條消息,因此該界面為?“多條內(nèi)容交互界面”。
用類(lèi)似的思路,底部的聊天內(nèi)容輸入?yún)^(qū)域我們也可以整理出四個(gè)顯示元素,從左到右依次為:
- “單條內(nèi)容交互界面”:語(yǔ)音輸入圖標(biāo)(交互是指點(diǎn)擊后圖標(biāo)會(huì)發(fā)生變化);
- “輸入界面”:文字輸入框;
- “單條內(nèi)容交互界面”:表情輸入圖標(biāo);
- “靜態(tài)界面”:更多輸入方式圖標(biāo)。
通過(guò)以上分析,我們知道了?“界面” 的類(lèi)型包括三類(lèi),“靜態(tài)界面”、“交互界面” 和 “輸入界面”。?而?“交互界面” 又細(xì)分為 “單條內(nèi)容交互界面” 和 “多條內(nèi)容交互界面”。
到這里我們完成了分析的第一步,界面分析。
但這還沒(méi)完,對(duì)吧。我們不是光看著屏幕就能與好友聊天,我們還得在屏幕上點(diǎn)擊才行(我們把人的動(dòng)作定義為?“事件”?)。那我們就依次來(lái)分析一下如何能在這個(gè)頁(yè)面操作呢。
二、事件分析
1. 昵稱(chēng)區(qū)域
當(dāng)我們點(diǎn)擊頂部昵稱(chēng)區(qū)域左側(cè)的返回按鈕后,會(huì)返回到聊天列表頁(yè)面。我們也可以這樣描述:點(diǎn)擊返回按鈕 “事件”(的響應(yīng)結(jié)果是),返回聊天列表頁(yè)面。
同樣,點(diǎn)擊更多操作按鈕 “事件”(的響應(yīng)結(jié)果是),打開(kāi)聊天詳情頁(yè)面。
而聊天對(duì)象的昵稱(chēng),我們點(diǎn)擊后屏幕是沒(méi)有任何變化的,也即是說(shuō)聊天對(duì)象的昵稱(chēng)沒(méi)有點(diǎn)擊 “事件”。
2. 聊天內(nèi)容顯示區(qū)域
在聊天內(nèi)容顯示區(qū)域,我們長(zhǎng)按一條消息,會(huì)出現(xiàn)復(fù)制、轉(zhuǎn)發(fā)、收藏、刪除等操作按鈕,并且當(dāng)我們此時(shí)點(diǎn)擊空白區(qū)域,剛出現(xiàn)的這些操作按鈕會(huì)消失掉;我們上下滑動(dòng)屏幕,會(huì)顯示更早或最新的聊天消息;我們點(diǎn)擊好友頭像,會(huì)打開(kāi)好友的個(gè)人信息頁(yè)面。
除此之外,當(dāng)好友向我們發(fā)送消息,系統(tǒng)(系統(tǒng)是指人編寫(xiě)的計(jì)算機(jī)程序,比如 App 或者小程序。為什么要特指人?你見(jiàn)過(guò)動(dòng)物寫(xiě)代碼的嗎,嘿嘿)會(huì)自動(dòng)將好友剛發(fā)送的消息顯示在聊天內(nèi)容顯示區(qū)域。
這一發(fā)現(xiàn)說(shuō)明:“事件” 分為兩類(lèi),人的動(dòng)作和系統(tǒng)自動(dòng)執(zhí)行的動(dòng)作。
因此,聊天內(nèi)容顯示區(qū)域的事件包括:
- 長(zhǎng)按消息 “事件”,顯示復(fù)制、轉(zhuǎn)發(fā)、收藏、刪除等操作按鈕;
- 點(diǎn)擊空白區(qū)域 “事件”,如果正在顯示復(fù)制、轉(zhuǎn)發(fā)、收藏、刪除等操作按鈕,則隱藏這些按鈕;
- 上滑屏幕 “事件”,顯示更早的聊天消息;
- 下滑屏幕 “事件”,顯示最新的聊天消息;
- 點(diǎn)擊好友頭像 “事件”,打開(kāi)好友的個(gè)人信息頁(yè)面;
- 系統(tǒng)自動(dòng)執(zhí)行?“事件”,將好友剛發(fā)送的消息顯示在聊天消息列表最底部。
3. 聊天內(nèi)容輸入?yún)^(qū)域
底部的聊天內(nèi)容輸入?yún)^(qū)域,我們點(diǎn)擊語(yǔ)音輸入圖標(biāo),輸入框會(huì)切換為 “按住 說(shuō)話(huà)” 的語(yǔ)音輸入狀態(tài),并且圖標(biāo)會(huì)變?yōu)殒I盤(pán)圖標(biāo)。當(dāng)我們點(diǎn)擊鍵盤(pán)圖標(biāo),輸入框會(huì)切換為文字輸入框,并且圖標(biāo)會(huì)再次變回語(yǔ)音輸入圖標(biāo)。
我們點(diǎn)擊表情輸入圖標(biāo),會(huì)彈出選擇表情的界面,并且圖標(biāo)會(huì)變?yōu)殒I盤(pán)圖標(biāo)。當(dāng)我們點(diǎn)擊鍵盤(pán)圖標(biāo),選擇表情界面會(huì)關(guān)閉,并且圖標(biāo)會(huì)再次變回表情輸入圖標(biāo)。
我們點(diǎn)擊文本輸入框,會(huì)彈出文字輸入鍵盤(pán)。
我們點(diǎn)擊更多輸入方式圖標(biāo),會(huì)彈出照片、拍攝、視頻通話(huà)等操作按鈕,再次點(diǎn)擊該圖標(biāo),則會(huì)隱藏這些操作按鈕。
所以,聊天內(nèi)容輸入?yún)^(qū)域包括以下事件:
- 點(diǎn)擊語(yǔ)音輸入圖標(biāo) “事件”,切換輸入框?yàn)?“按住 說(shuō)話(huà)” 的語(yǔ)音輸入狀態(tài),圖標(biāo)變?yōu)殒I盤(pán)圖標(biāo);
- 點(diǎn)擊由語(yǔ)音輸入圖標(biāo)變?yōu)榈逆I盤(pán)圖標(biāo) “事件”,輸入框切換為文字輸入框,圖標(biāo)變?yōu)檎Z(yǔ)音輸入圖標(biāo);
- 點(diǎn)擊表情輸入圖標(biāo) “事件”,彈出選擇表情界面,圖標(biāo)變?yōu)殒I盤(pán)圖標(biāo);
- 點(diǎn)擊由表情輸入圖標(biāo)變?yōu)榈逆I盤(pán)圖標(biāo) “事件”,關(guān)閉選擇表情界面,圖標(biāo)變?yōu)檎Z(yǔ)音輸入圖標(biāo);
- 點(diǎn)擊文本輸入框 “事件”,彈出文字輸入鍵盤(pán);
- 點(diǎn)擊更多輸入方式圖標(biāo) “事件”,如果已彈出照片、拍攝、視頻通話(huà)等操作按鈕,則隱藏操作按鈕,如果操作按鈕處于隱藏狀態(tài),則彈出操作按鈕。
在這里我們只列舉了微信聊天頁(yè)面的一部分內(nèi)容,還有其它一些動(dòng)作,如點(diǎn)擊語(yǔ)音消息、發(fā)送語(yǔ)音等就不一一列舉了,大家可以自己總結(jié)一下還有哪些?“界面”?和?“事件”。
三、分析結(jié)果
分析了這么多內(nèi)容,有些人可能會(huì)懵圈。沒(méi)關(guān)系,我來(lái)總結(jié)一下微信聊天頁(yè)面分析結(jié)果。
通過(guò)上述分析拆解,我們就可以相對(duì)輕松地把一個(gè)很難想清楚的復(fù)雜功能(一個(gè)面),分類(lèi)、拆解為多個(gè)我們可以清晰思考的多個(gè)小功能點(diǎn)(多個(gè)點(diǎn))。
如此一來(lái),我們?cè)诠δ茉O(shè)計(jì)的時(shí)候就可以一次聚焦實(shí)現(xiàn)一個(gè)小功能點(diǎn)。在一個(gè)個(gè)小功能點(diǎn)實(shí)現(xiàn)后,再把它們像搭積木一樣組合起來(lái),就可以相對(duì)簡(jiǎn)單地完成整個(gè)復(fù)雜功能的設(shè)計(jì)。
并且,一次聚焦思考一個(gè)點(diǎn)該怎么實(shí)現(xiàn),我們更容易想得更全面。以這樣的思路編寫(xiě)出來(lái)的結(jié)構(gòu),BUG 會(huì)更少,質(zhì)量會(huì)更高。
四、分類(lèi)拆解法簡(jiǎn)介
1. 核心思想
“分類(lèi)拆解法” 的核心思想就是將一個(gè)頁(yè)面進(jìn)行分類(lèi)、拆解,理清有多少個(gè)分類(lèi),以及分類(lèi)之間的相互關(guān)系,然后編寫(xiě)代碼逐一實(shí)現(xiàn)它們,最后把所有分類(lèi)組合起來(lái)就實(shí)現(xiàn)了這個(gè)頁(yè)面完整的功能。
2. 步驟
“分類(lèi)拆解法” 簡(jiǎn)單來(lái)說(shuō)分為三步:
- 第一步,分類(lèi),找出所有的界面、事件;
- 第二步,拆解,用文字(和 / 或圖表)描述界面、事件、數(shù)據(jù)是什么,以及它們之間的關(guān)系;
- 第三步,編程,將文字(和 / 或圖表)翻譯為計(jì)算機(jī)能理解的程序代碼。
3. 分類(lèi)
分類(lèi)工作包括:
- 一個(gè)頁(yè)面包含幾個(gè)子部件,這些子部件的排列順序是怎樣的;
- 每個(gè)子部件包含哪些顯示元素,顯示元素中哪些內(nèi)容是不變的,哪些內(nèi)容是變化的;
- 顯示元素中哪些內(nèi)容會(huì)響應(yīng)人的動(dòng)作;
- 系統(tǒng)會(huì)自動(dòng)執(zhí)行哪些動(dòng)作。
“分類(lèi)拆解法” 的?“分類(lèi)” 包括三種:我們作為用戶(hù)能感知到的?“界面”、?“事件”,以及我們作為用戶(hù)看不到而計(jì)算機(jī)能看到?“數(shù)據(jù)”?。
看不到的 “數(shù)據(jù)”,是給計(jì)算機(jī)看的內(nèi)容(人看到的是界面,是程序員編寫(xiě)的代碼 “翻譯” 后的數(shù)據(jù))。
4. 拆解
拆解工作包括:
- 如果用戶(hù)要達(dá)到什么目的,他需要在界面的什么地方做什么動(dòng)作(觸發(fā)什么事件);
- 當(dāng)用戶(hù)做了什么動(dòng)作(觸發(fā)什么事件),什么數(shù)據(jù)需要改變;
- 當(dāng)什么數(shù)據(jù)改變了,界面的什么內(nèi)容需要變化。
5. 如何使用
在實(shí)際項(xiàng)目中,如果是做項(xiàng)目開(kāi)發(fā),一般會(huì)先由項(xiàng)目經(jīng)理或需求分析師編寫(xiě)需求規(guī)格說(shuō)明書(shū);如果是做產(chǎn)品開(kāi)發(fā),一般會(huì)先由產(chǎn)品經(jīng)理編寫(xiě)產(chǎn)品設(shè)計(jì)說(shuō)明書(shū)。
我們作為產(chǎn)品經(jīng)理,拿到上述文檔后,可以使用 “分類(lèi)拆解法” 的思路,梳理清楚我們要實(shí)現(xiàn)的內(nèi)容包括哪些 “界面”、“事件” 和 “數(shù)據(jù)”,每一個(gè) “界面” 是什么類(lèi)型,每一個(gè) “界面” 需要顯示哪些 “數(shù)據(jù)”;每一個(gè)動(dòng)作的 “事件” 響應(yīng)結(jié)果是什么,每一個(gè) “事件” 應(yīng)該改變哪些 “數(shù)據(jù)”。
在厘清 “界面”、“事件” 和 “數(shù)據(jù)” 后,我們按照 “分類(lèi)拆解法” 的步驟逐一擊破每個(gè)顯示元素,每個(gè)子部件,每個(gè)頁(yè)面功能。
6. 全貌
最后附上 “分類(lèi)拆解法” 的完整思維導(dǎo)圖以及相關(guān)概念,供各位一覽全貌。
“分類(lèi)拆解法” 相關(guān)概念:
- 系統(tǒng):人編寫(xiě)的計(jì)算機(jī)程序,比如 APP 或者小程序;
- 數(shù)據(jù):給計(jì)算機(jī)看的內(nèi)容,人看不到數(shù)據(jù),人在界面中看到的是程序員編寫(xiě)的代碼 “翻譯” 后的內(nèi)容;
- 界面:人在屏幕上看到的內(nèi)容,包含界面的布局、界面中不隨數(shù)據(jù)變化而變化的內(nèi)容,界面中會(huì)根據(jù)數(shù)據(jù)變化而變化的內(nèi)容;
- 事件:人在界面上的動(dòng)作,如手指點(diǎn)擊手機(jī)屏幕,鼠標(biāo)點(diǎn)擊、鍵盤(pán)輸入等,以及系統(tǒng)自動(dòng)執(zhí)行的動(dòng)作;
- 事件、數(shù)據(jù)、界面的關(guān)系:事件會(huì)產(chǎn)生數(shù)據(jù)變化,數(shù)據(jù)變化會(huì)引起界面中顯示內(nèi)容變化。
五、總結(jié)
在現(xiàn)實(shí)生活中,前人已經(jīng)對(duì)商業(yè)、管理、個(gè)人做過(guò)大量研究,形成了很多結(jié)構(gòu)分解模型,并且經(jīng)過(guò)時(shí)間的證明,他們做的模型效果非常好。
這時(shí),我們不可能花大量時(shí)間,讓自己重新思考并建造一個(gè)完美的分解模型,所以直接借鑒別人的分解模型是一個(gè)很好的選擇,只要最后我們內(nèi)化于心就可以了。
通過(guò)利用公式,把涉及到的信息進(jìn)行歸納、整理,做到不重不漏,可以有效提高我們的結(jié)構(gòu)化思考能力。不僅可以對(duì)全部信息進(jìn)行歸納整理,還可以激發(fā)我們不斷創(chuàng)新,想出好點(diǎn)子,開(kāi)拓我們的思路和視野。
本文由 @KING 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
感謝
寫(xiě)得好棒,可以分享一下最后的完整的思維導(dǎo)圖嗎
最后的圖就是整體的一個(gè)框架了,始終是術(shù)的問(wèn)題,主要還是在日常生活中去運(yùn)用它,養(yǎng)成這種思維模式