面向?qū)ο蟮漠a(chǎn)品觀(3):組合的奧秘

0 評論 2884 瀏覽 5 收藏 10 分鐘

編輯導(dǎo)語:產(chǎn)品的構(gòu)建是一個不小的話題,在前兩篇文章中,作者為我們分享了關(guān)于面向?qū)ο蟮漠a(chǎn)品觀中的抽象思維,以及從橫向和縱向兩個方面分解的藝術(shù)。今天這篇文章中,作者為我們分享了產(chǎn)品構(gòu)建的第三層:組合層,揭曉了組合有什么奧秘。

我們來到了產(chǎn)品構(gòu)建的第三層:組合層,接下來的篇幅們將一起去探討組合。

面向?qū)ο蟮漠a(chǎn)品觀(4):組合的奧秘

從組合開始,我們將開始探討HOW的問題,去了解怎樣去構(gòu)建一款產(chǎn)品。

一、什么是組合

在抽象層我們了獲取產(chǎn)品愿景,又在分解層將愿景分解成了諸多的功能。那么在組合層,我們要做的事情就是講諸多的功能通過一定的方式組裝起來。

分解時拆分出了無數(shù)的零件,組合則是將這些零件組合成為一個可以正常運(yùn)轉(zhuǎn)的機(jī)器。組合層決定了一個產(chǎn)品的具體結(jié)構(gòu),一個好的結(jié)構(gòu)可以像摩天大廈一樣樓高百丈,直插云霄;一個壞的結(jié)構(gòu)就像農(nóng)村土樓,最多3層,再往上就搖搖欲墜了。

二、組合的依據(jù)

我們依靠什么樣的依據(jù)來將零件組合成為正常運(yùn)轉(zhuǎn)的機(jī)器呢?依據(jù)的是用例和場景。

為什么是他們?產(chǎn)品一系列相關(guān)聯(lián)的功能的集合。用戶使用產(chǎn)品是一個長期的過程,使用的過程中必然會涉及到多個場景以及多個不同的用例。因此根據(jù)用戶使用產(chǎn)品時的用例以及場景進(jìn)行組合才是一個產(chǎn)品結(jié)構(gòu)的正常組合方式。

三、組合的流程

組合的過程分為:搭架子和裝組件。

1. 搭架子

架子就是一個產(chǎn)品最基本的框架,由產(chǎn)品的”一級模塊“組成。所謂一級模塊與用例互相關(guān)聯(lián),實(shí)際上就是將用例抽象為一個簡單的功能概念。比如商業(yè)列表,購物車,個人中心等。

搭架子就是將所有的一級模塊進(jìn)行排列組合,架子決定了你的產(chǎn)品最直觀的表現(xiàn)形態(tài)以及產(chǎn)品的邊界。

在搭架子時要注意按照功能分類來設(shè)計(jì)一級模塊。一般來說基礎(chǔ)功能單獨(dú)一類;核心功能單獨(dú)一類,同時也可以附帶一些必要功能與輔助功能;必要功能一般與核心功能合并為一類,有時也可以單獨(dú)成一類。

一個好的架子需要滿足如下條件:易用性、穩(wěn)定性和擴(kuò)展性。

  • 易用性:一級模塊需要與用例完全相關(guān),每一個一級模塊都是一個完整用例的抽象。
  • 穩(wěn)定性:一個好的底層架構(gòu)可以在長期使用,在未來的很長一段時間也不需要做出大的修改。任何一個對底層架構(gòu)的改動,都需要用戶花大量時間去適應(yīng),對于產(chǎn)品的用戶體驗(yàn)傷害相當(dāng)大。
  • 擴(kuò)展性:這一條與穩(wěn)定性息息相關(guān),實(shí)際上一個穩(wěn)定的架構(gòu)幾乎等同于一個擴(kuò)展性好的架構(gòu)。任何一個產(chǎn)品都不可能是一成不變的,在未來的迭代中一定會對增加或者減少某些功能,一個擴(kuò)展性好的架構(gòu)就可以很好的滿足這樣的要求。

那么這個市面上有沒有能夠完美滿足我所有要求的架構(gòu)呢?有!就是大家正在使用的微信。

面向?qū)ο蟮漠a(chǎn)品觀(4):組合的奧秘

7年未變的完美架構(gòu)

如上圖,微信的一級模塊從12年開始就一直是以上四大金剛,除了在13年把朋友圈替換為發(fā)現(xiàn)之后,已經(jīng)超過7年沒有任何變化。

在這7年間,微信的功能已經(jīng)發(fā)生了天翻地覆般的巨大變化,由一個簡單的聊天工具進(jìn)化成了影響人們生活方方面面的超級APP。但是底層架構(gòu)依然是這四大金剛,而且在可預(yù)見的未來,這四大金剛依然還將死死占據(jù)著微信的底部。

2. 裝組件

搭完架子,就是裝組件了。所謂裝組件,將二級模塊與一級模塊關(guān)聯(lián)起來。

就像組裝電腦一樣,機(jī)箱是一級功能的集合體、CPU、主板、顯卡、電源、硬盤這些硬件就是二級模塊,組裝電腦就是將硬件安裝到機(jī)箱指定的位置上。

面向?qū)ο蟮漠a(chǎn)品觀(4):組合的奧秘

就像主板上面有銅線,二極管等多個不同的零件一樣。二級模塊也是有多個不同用途的小功能組合而成。

裝組件實(shí)質(zhì)上就是將眾多互相關(guān)聯(lián)的小功能組合成為一個大的功能,然后再將諸多的大功能組合到底層架構(gòu)上。

每一個小功能都對應(yīng)著一個具體的原子態(tài)場景,然后將相關(guān)聯(lián)的功能(場景)進(jìn)行組合成為一個二級模塊,之后將這些二級模塊組裝到一級模塊上,就形成了最終的產(chǎn)品結(jié)構(gòu)。

四、組合的原則

1. 第一原則

組合的第一原則:組合的功能一定要符合人類的認(rèn)知。就像微波爐上不能裝菜刀一樣,功能的組合必須符合人類對現(xiàn)實(shí)的認(rèn)知,微波爐是很好的功能,菜刀也很好,但是這樣兩個很好的功能組合到一起就是災(zāi)難。

所以,符合認(rèn)知是組合最重要的原則。

2. 第二原則

組合的第二原則:高內(nèi)聚,低耦合。這個概念來自于軟件工程,是判斷軟件設(shè)計(jì)好壞的標(biāo)準(zhǔn)。類似的功能盡量的組成獨(dú)立的模塊,不同的模塊之間盡量減少關(guān)聯(lián),模塊之間通過連接進(jìn)行信息傳輸。

這樣做的好處就是可以顯著提升軟件的復(fù)用性和可擴(kuò)展性。

什么是軟件的復(fù)用性?

就像一顆獨(dú)立的螺絲釘,它可以擰到任何硬件上而不會對那個硬件產(chǎn)生影響。復(fù)用性就是指獨(dú)立的軟件模塊就像螺絲釘一樣,可以安裝到任意一個程序中也都可以正常使用。

可擴(kuò)展性就更好理解了,當(dāng)你的軟件的各個部分都是獨(dú)立存在不會相互影響時,那么你增加或者刪減某個功能都不會對軟件已有的功能造成影響,就像我可以隨時在電腦上加顯卡,換硬盤。

那么高內(nèi)聚,低耦合能夠如何運(yùn)用在產(chǎn)品構(gòu)建中呢?在進(jìn)行產(chǎn)品構(gòu)建時,需要盡力的找到每一個完整的場景閉環(huán)。

若干個場景閉環(huán)就可以組成用例,實(shí)際上用例就是諸多閉環(huán)組成的一個大閉環(huán)。最終將這些閉環(huán)對應(yīng)的功能組裝為獨(dú)立的模塊,然后將這些模塊一一組裝,形成最后的產(chǎn)品。

如上文描述的那樣,組合的目標(biāo)是將分解出來的功能按照規(guī)則進(jìn)行排列、組合。

最終合成一個完整的,可用的產(chǎn)品結(jié)構(gòu)。如果組合沒有做好,未來產(chǎn)品的架構(gòu)將很容易發(fā)生劇烈變動,會產(chǎn)品體驗(yàn)的延續(xù)性造成很大傷害。所以,我們一定要重視組合,做好組合。

我們終于來到了HOW的階段,組合是HOW的第一層,因?yàn)槲冶救说臓顟B(tài)原因,趕著這一篇沒有完全說明白我想要講的內(nèi)容,請大家擔(dān)待一下。

未來我們還將繼續(xù)介紹《連接》和《具象化》,敬請期待。

 

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

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!