面向對象的產品觀(1):抽象思維
編輯導語:產品的設計分為多個步驟和層面,從為什么要做這個產品到這個產品帶給用戶的意義,從抽象思維到具象等等;本文作者分享了關于面向對象的產品觀中的抽象思維,我們一起來看一下。
產品設計難么?
相信每一個人的心中都會有不同的答案。
而我曾經認為產品設計是非常簡單的一件事情,無非就是看兩本經典書籍,學習一點交互設計知識,懂一點市場就可以做出讓人直呼好家伙的產品。
后來,現實的毒打讓我明白了我的淺??;要做出一個好的產品需要對市場的精準把控,對需求的深刻理解,對功能的精細設計,對細節的精益求精才能達成;缺少任意一個環節,換來的都將是現實無情的毒打。
而要想做好一個產品,必須要有一套切實可行的完整方法論!
我相信很多的產品大牛到最后都可以形成一套自己的方法論;而對于我本人來說,構建產品需要經過以下五個層面(構建這個詞的內涵遠超設計,后續的文章都我將用構建來描述產品設計過程):
這五個看起來有點拗口的層面,來源于我做碼農時期每天都要用戶的一種思維方式:面向對象思想。
這套脫胎于面向對象的產品構建方法,我就很大言不慚的稱其為:面向對象的產品觀。
當然可能很多人看到這里心里已經罵開了,做產品就做產品,扯什么面向對象思想,這不裝逼會死么?
但是在我看來,不論你做的是哪一類的產品,不管是社交、電商還是直播類產品,究其本質其實都是軟件產品。
而軟件產品的開發早就有了一套名為:面向對象思想的底層思想;這套思想經過了一代又一代的計算機大師,經過幾十年的不斷發展,完善,現在已經寫入到了程序員的基因中,如果你不懂面向對象甚至都不能夠開發程序!
一套如此牛叉的方法論我相信不但能指導編程,同樣可以指導我們做好產品構建的工作。
正如古語所云:他山之石,可以攻玉。
我本人在做產品的過程中就走過很多的彎路,直到我在某一天突發奇想般的將面向對象的思想套用到產品構建的過程中;之后就如同打開了新世界的大門,原來面向對象的思想與產品構建的結合是如此的順滑,就如同肉片遇到了辣椒,番茄遇到了雞蛋,一切都是那么的剛剛好。
但是面向對象的思想是如此的博大精深,我作為一個勉強及格的碼農,外加一個半路出家的產品經理,實在很難通過短短的文字就闡述明白面向對象的產品構建流程的全部精髓;接下來也只是拋磚引玉,寫一點自己這些天來領悟到的一些皮毛,還請各位看官莫要見笑。
下面我們正文開始。
正文最初,就由我向大家闡述一下面向對象的產品構建流程的具體內容。
首先,在我看來構建一款產品是一個將從具象到抽象再到具象的一個過程。
說人話就是,構建產品要先了解具體的人的行為,然后從行為中抽象出他們的需求,然后再將需求分解為可行的功能,再將功能組合為各自獨立又互有關聯的模塊,再將這些模塊通過一定的順序進行連接;最后生產出一個具象的,看得見摸得著的,能夠滿足需求的產品。
這個過程,需要經過抽象,分解,組合,連接,具象五個層面;從抽象開始,到具象結束。
抽象:確定產品愿景。
抽象解決了Why的問題,讓你弄明白為什么要做這個產品。
做產品最終的目標都是滿足用戶需求,創造用戶價值。抽象就是指如何使用面向對象的思維去找到用戶需求,確定產品最終目標。
抽象是一個自下而上的過程。
首先你要找到你所服務的人群,然后抽象出人群共有的特征,形成不同的子類;然后根據每一個子類的特征,抽象出不同的基類;最后,分析不同類之間的共有需求,抽象出產品的最終愿景,這個最終愿景就是產品最終的努力方向。
抽象又分為特征抽象與行為抽象。
抽象是構建產品過程的第一步,也是最為重要,最為核心的一步;畢竟只有找到了方向才能保證你走在正確的道路上,就像往東走到不了喜馬拉雅。
分解:確定產品功能。
分解解決了What的問題,也就是搞明白這個產品要做什么。
分解是一個自上而下的過程。
從產品的愿景開始不斷的向下進行分解。如我們的用戶有哪些類,每一個類的共同需求是什么?每一個類又有多少獨立的對象,每一個對象的需求又是什么?針對這些需求又有哪一些解決方法?
分解又分為縱向分解與橫向分解。
分解的要點是:原子性、一致性、隔離性、持久性。
分解的原則是:相互獨立不重復,完全窮盡無遺漏。
組合:將功能組合為一個一個的模塊。
組合、連接、具象三個層面解決的都是How的問題,也就是如何去構建這個產品。
分解后功能是零散的,不成體系的,需要根據不同的用例,場景去進行組合,形成具體的模塊。
組合根據不同的功能特點又可以分為搭架子和裝組件。
組合的要點是:高內聚、低耦合;也就是說同一個用例的功能全部組合為一個獨立的模塊,不同的模塊之間盡量減少關聯,模塊之間通過連接進行信息傳輸。
連接:讓信息在你的產品中有序流動。
任何一個軟件產品都是一個信息不斷流動的動態系統。要讓信息流動起來,就要將各個獨立的模塊有序連接起來。
連接又可以分為內循環與外循環。
模塊之間的連接十分繁復,為了保證連接的有序,連接流又分成了基本流,備選流以及異常流,不同的連接流相互獨立又互有關聯。
在進行連接時,需要考慮各種不同流的走向以及各自的結果。
具象:用戶體驗設計。
具象是用戶真正可以感知的部分,也是整個產品構建過程中的最后一步。
具象化最重要的關注點就是用戶體驗。
用戶體驗同樣分為兩部分:交互設計與信息架構。
用戶體驗設計是目前相關文獻最多,廣大產品經理研究的最多的一個方向。
我在這里也就不再展開論述了。
面向對象的方法在用戶體驗設計的工程中的運用可以極大的提升設計工作的效率,并且可以指導設計師做出更容易落地的產品。
5個層面中抽象是最底層,具象是最上層。構建產品就是從最下到最上構建的過程。
在實際構建的過程中,5個層面中任意一步在執行時都可能發現新的問題或者不足;當然發現這些不足時,都可以回溯到上一步,然后在上一步根據反饋及時修正。
五個層面既可以按照正常的從下至上的構建,也隨時可以從上至下的回溯。
構建產品是一個非常復雜,非常耗時的一個過程,接下來我還會用幾篇文章來詳細闡釋面向對象的產品構建的5個層面。
一、產品構建第一層:抽象思維
在之前的篇幅中,我們大略聊了一下面向對象的產品觀的產品五層面;現在我們來聊一聊構建產品五層面的第一層:抽象。
抽象層回答了最重要的WHY的問題。
抽象產品構建的最底層,是一切的基礎,正所謂基礎不牢,地動山搖。做不好抽象,就不要妄談做出好的產品。
抽象這個詞來源于一個我從小到大被說爛的名詞:抽象思維。
關于抽象思維是什么?我直接給出百度百科的解釋:
抽象思維,又稱詞的思維或者邏輯思維,是指用詞進行判斷、推理并得出結論的過程;抽象思維以詞為中介來反映現實,這是思維的最本質特征,也是人的思維和動物心理的根本區別。
以上文字摘錄于百度百科 – 抽象思維詞條。
如百度百科所說,抽象思維是一種將現實轉化為人類更便于理解和傳播的內容的一種轉換思維。
抽象思維的核心在于轉換。
運用在產品構建過程中,抽象思維就是從發現問題轉換為解決問題。
產品經理們在剛入行的時候基本都聽說過一種觀點:發現問題是產品經理最底層的能力。
實際上呢?在我看來發現問題從來不是問題,就像現在只要你有興趣上網去隨便搜索一下網民們對微信的吐槽、對所在城市的吐槽,你會發現網民們的吐槽加起來連地球一圈然后再繞道連上月球都綽綽有余。
這說明什么問題?說明這個世界從來不缺發現問題的眼睛,缺的是解決問題的手段!
我認為的產品構建的抽象思維就是將現實存在的問題轉化為通過軟件系統來解決的手段的過程。
那么如何才能將問題轉換為手段呢?在我看來我們可以通過以下步驟進行操作。PS:這種方式僅限于轉換為軟件產品的手段,其他類型的手段我本人并沒有實踐過,請慎重使用。
我眼中的轉換4步驟:
下面我們一步一步的來說。
1. 確定問題
確定問題看似非常簡單,就像前文所說的,任何人都可以發現成堆的問題。所以關鍵不是如何去發現問題,而是如何去判斷問題的價值。
問題的價值可以從兩個方面去判斷:問題的覆蓋人數,問題的商業前景。
1)覆蓋人數
這個很好理解,就是到底有多少人會碰到同樣的問題;打個比方如果你是一個資深吸血鬼愛好者,你想要解決隨時合法合理的睡棺材的問題,我想用腳指頭你也想得出來全世界有這個興趣的人估計不會超過1000人,這個問題的覆蓋人數就相當感人了。
所以,在確定問題時,一定要注意這個問題要足夠的大眾化,要有足夠多的人都會碰到同樣的問題。
而且,這個問題要有足夠的剛性,不解決就吃不香睡不好。
不然這個問題能帶來的價值也不大。
2)商業前景
這個就更好理解了,任何產品的終極目標都是賺錢。一個不能賺錢的產品就是花錢做慈善,一個腦子正常的人基本不會做這件事情。
如何去確定一個產品的商業前景呢?在這里我應用一下俞軍老師給出的公式:
商業價值 = 愿付價格 -企業成本
愿付價格 =(新體驗 -舊體驗)- 替換成本
這個公式其實解釋的非常明白了,商業價值取決于一個用戶愿意為你的產品付出的價格,而這個價格又取決于你提供的新的解決方案能否替換掉已有的解決方案,并且他選擇的成本要足夠的低。
最后我總結一下確定問題的兩個要素:覆蓋人數足夠多,商業價值足夠大的問題,就是一個值得深挖的好問題。
2. 鎖定人群
確定了問題之后,我們下一步要做的,是鎖定問題覆蓋的目標人群。
問題覆蓋的人群是很廣闊的,各個人群之間基于各自不同的特點必然會出現多個有相同特征的分群,現階段的目標就是鎖定不同的用戶分群。
關于目標分群,大拿俞軍曾經說過,用戶不是真實的人,用戶是需求的集合體。這句話一直深以為然。同樣一個人,在不同的情景,扮演不同的角色的時候,他所產生的需求是完全不一樣的。
打個比方:
翠花白天是公司雷厲風行的高級白領,每天要管理十來號手下,隨時經手的都是上千萬的大單,這個時候她需要什么?她需要一個隨時管理自己訂單和手下的工具,能隨時查看每天的業績報表,查看手下今天是不是摸了魚。
而回到家里之后,她是一個2歲孩子的媽媽,每天要做的就是換尿布,喂吃飯,哄睡覺;這時候她最需要的是什么呢?她最需要哄娃神器,讓娃乖乖睡覺,乖乖吃飯。
你看同樣一個人,他面對著完全不同的情景時,他的需求都是完全不一樣的。
所以,我們鎖定目標人群的時候不能很粗魯的根據年齡、工作、收入情況等進行簡單劃分;而是要找到人群共有的特征,共同的行為,只要特征和行為都是一致的,那他們就是同一類人群。
正如一句老話說的:一種動物看起來像鴨子,叫起來像鴨子,吃起來還是像鴨子,那么它就是鴨子。
那么我們如何進行人群的劃分呢?
這時候請出我們系列文章的主角:面向對象思想;劃分人群使用的方法是面向對象最底層的特性:抽象。
概括來說就是抽象出人群中共有的特征以及行為,根據各自的特點的不同,將他們劃分為不同的分類。
這個過程的目標是確定1至3個主要的類,需要三層抽象才能完成。
- 首先我們要根據第一步確定的問題找到影響到的人群;
- 然后抽象出人群的屬性,然后根據不同屬性的狀態將不同的人群抽象為不同的子類;
- 最后抽象出子類中共有的特點,形成基類。
這樣解釋實在太過于抽象,不像人話;我舉個例子來說好了,就說我們大家都耳熟能詳的淘寶。
淘寶的目標群體基本已經覆蓋了全國男女老幼,這么大規模的群體必然會產生有非常多各自相同特點的群體;這些群體經過抽象之后就可以形成各種不同的類,如時尚達人、家庭主婦、數碼先鋒、球鞋專家等等;另外還有小店店主、店鋪客服、天貓店掌柜等多個多個有之前分類截然不同的細分分類。
這些細分分類都我都將他們統一的稱為:子類。
而不論是是時尚達人還是家庭主婦,他們都有一個共同的特點,那就是他們都是來淘寶買東西的,所以他們又可以抽象為一個更大的類:買家;而與他們截然不同的小店店主,店鋪客服等又可以抽象為大類:賣家;這種囊括了多個子類共有特征的類,我稱其為:基類。
這就是我所說的鎖定人群的三層抽象。
在實際抽象分析的過程中,又需要進行兩種不同類型的抽象:特征抽象和行為抽象。
接下來我分別闡釋一下各自的邏輯。
1)特征抽象
在面向對象的思想中,有一句至理名言:萬物皆對象。而一個對象均由兩個部分組成:特征以及行為。
所謂的特征抽象就是將人的特征抽象為簡單的詞匯描述,如性別、年齡、受教育程度等;每一個詞匯都可以賦予不同的值,如性別男、年齡18等;賦予了值的對象就成為了一個可以被精確描述的用戶畫像。
一個人的特征可以大致的分為四個大類:自然屬性、社會屬性、消費屬性、興趣屬性。
本人所做的用戶畫像模板
2)行為抽象
與特征抽象類似,行為抽象是將人的行為抽象為抽象為簡單的詞匯描述,如下單、加購物車、聊天等;每一個行為詞匯也都可以輸入不同的值,如下單衣服、加電腦入購車等,根據輸入值的不同,會形成完全不同的用戶需求。
用戶行為分析模板
特征與行為是用戶的一體兩面,缺一不可,一般來說不同特征的用戶都會有不同的行為邏輯;在進行用戶分析時,一定要將特征與行為結合分析。
分析需求:
在完成了前兩步的工作之后,實際上分析需求已經是一件非常簡單的事情了。
就像用戶抽象一樣,根據不同用戶的特點以及行為,可以輕松的分析出他們在實際情況中會遇到的問題;然后根據用戶抽象的層次向上抽象共性問題,得出子類會遇到什么樣的問題;最后根據抽象子類的問題向上抽象共性問題,得出基類會遇到的問題。
還是舉淘寶的例子,在淘寶上出現之前,一個消費者遇到的問題有什么?家庭主婦想買生活用品要去超市,數碼先鋒買電腦要去電腦城。
如果家庭主婦既要買毛巾,又要買電腦怎么辦呢?她就需要去完超市去電腦城,這些地方不但離家遠,而且有營業時間限制,必須在它的營業時間里走到商場完成購物并且在它關門之前走出來。
他們的遇到的共性問題就是商場營業時間太短,東西品類過少,地方太遠。
經過抽象之后的需求就是:我希望可以有一個地方可以24小時營業,而且可以買到任何我能想到的商品,同時還不要我走很遠。
同樣,一個販賣東西的小店主以及店鋪員工又遇到什么問題呢?需要在專門的地點租下門面,而且店面還不能全天營業,每天只能賺半天錢,同時商鋪人流量和城市與地段關聯極大,能服務的客戶也只能是附近3公里內的人;店鋪員工每天都要到專門的地方去上班,不但路途遙遠,還要每天擠公交坐地鐵。
他們遇到的共性問題就是:商場離家遠,不能獲取太多的客戶,營業時間有限制。
經過抽象之后的需求就是:我希望有一個地方可以讓我24小時營業,不用我每天出門走很遠,最好還能帶來全國各地的客人。
最后我們將兩種基類用戶的需求結合一分析,就可以提煉成我們產品的最終目標:愿景。
提煉愿景:
所謂的愿景就是抽象所有基類的底層需求,并進行將它轉換為切實可行的解決方案。
同樣還是說淘寶,經過我前面的分析,相信讀者們都已經知道他的最終愿景是什么了吧。
現在讓我們大聲的說出來:一個可以24小時營業的線上大賣場!
愿景就是產品最終形態的簡略描述。
一個好的愿景一定要直白、簡單、便于記憶與傳播,只有這樣才可以讓產品開發團隊的 成員在短時間記住并貫徹實施;一個太長太拗口的愿景可能連提出人自己都記不住,更別提讓團隊成員記住并傳播了。
以上就是我對于抽象層的理解,這篇文章一不小心就寫了幾千字,但是抽象是一個非常大的話題,寫一本書也不一定可以完全說明白里面所有的關節;這篇文章就當拋磚引玉,希望可以啟發一下大家的思考。
面向對象的產品觀是一個非常大的話題,一篇文章的篇幅實在是無法完全的闡釋清楚里面所有的內容。
未來如果有機會,我再來和大家一起分享面向對象產品觀其他層面的內容。
謝謝閱讀。
本文由 @木道人 原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于 CC0 協議
方法論,方法論 這詞都快聽吐了
值得贊揚
在組合的過程中,寫的太籠統,這里應該詳細描述下,方式很多抉擇很多;應該怎么處理,以人為中心的場景化設計,體驗好,角色眾多時系統復雜;以業務為中心,系統簡潔,又得做好權限分配體系,不同角色看到的同一個業務是同一個場景,使用起來體驗差;其中的平衡應該如何處理?
不好意思這段時間有事一直沒有上人人平臺,沒有看到消息。兄臺說的很有道理,其實這篇文章也只是拋磚引玉,其中很多細節的思考我本人也正在摸索階段,未來有機會再寫兩篇文章與大家一齊討論
實際上我覺得所有的產品設計都應該以場景為中心設計,任何一個產品的目的都是滿足人的需求,業務也不過是人一系列需求的組合。
至于不同角色看到的同一場景,這個體驗差實際上就是考驗用戶畫像的精準程度以及細化程度。所有的產品最終都是服務最重要的關鍵角色,在滿足了關鍵角色的體驗基礎上再加入其他非關鍵角色的細節優化。
思考的很深入,剛讀思考有點晦澀。適合長期揣摩
真棒!