產(chǎn)品老司機(jī)都知道的“耦合性”
為什么研發(fā)總是會(huì)和你說(shuō),這樣做很復(fù)雜,為什么你的需求變動(dòng)總是比預(yù)期的成本更大?
這大概是最常見(jiàn)的產(chǎn)品落地技巧吧,我們作為產(chǎn)品經(jīng)理,很多時(shí)候不只是要考慮做什么,還要考慮怎么做。
大多數(shù)的結(jié)果都是可以通過(guò)不同的方法得到實(shí)現(xiàn)的,而這些實(shí)現(xiàn)方法其實(shí)很多都掌握在產(chǎn)品經(jīng)理的思維里。
換言之:成熟的產(chǎn)品經(jīng)理,同樣會(huì)輸出成熟的產(chǎn)品方案,也許結(jié)果是相同的,但投入的成本以及價(jià)值,卻截然不同。
這也是我一直遵守的原則。
今天要和大家分享的“耦合性”就是屬于會(huì)影響產(chǎn)品方案的一種觀念。
什么是“耦合性”
對(duì)于產(chǎn)品經(jīng)理而言,“耦合性”主要體現(xiàn)在功能和邏輯層面,是指多個(gè)功能或邏輯存在過(guò)深的“交叉性”。
產(chǎn)品的功能和邏輯最終都會(huì)以技術(shù)的方法實(shí)現(xiàn),換言之,最終都會(huì)形成代碼語(yǔ)言,多和開(kāi)發(fā)人員就需求的實(shí)現(xiàn)方法展開(kāi)溝通,討論,這有助于我們理解代碼邏輯,從而形成耦合性的概念。
案例
最典型的耦合性體現(xiàn)在功能交叉關(guān)聯(lián),這里就用微信公眾號(hào)后臺(tái)來(lái)給大家分析一下吧。
我們先來(lái)確定一下業(yè)務(wù)邏輯,微信公眾號(hào)最本質(zhì)的功能是公眾號(hào)的運(yùn)營(yíng)人員將文章發(fā)送給多個(gè)指定對(duì)象
我們先來(lái)看看這個(gè)方案怎么樣:
(方案A)
毫無(wú)疑問(wèn),這個(gè)方案能夠達(dá)到我們的目的,即:是公眾號(hào)的運(yùn)營(yíng)人員將文章發(fā)送給多個(gè)指定對(duì)象。
但這個(gè)方案存在多個(gè)容易為我們?cè)斐韶?fù)擔(dān)及風(fēng)險(xiǎn)的“耦合性”。
1.如果運(yùn)營(yíng)人員要將同一篇文章投放多次怎么辦?
公眾號(hào)的內(nèi)容是較為嚴(yán)謹(jǐn)?shù)模碚撋?,公眾?hào)的內(nèi)容是有很大概率被重復(fù)投放的,
2.如果生產(chǎn)內(nèi)容的人和投放內(nèi)容的人不是同一個(gè)運(yùn)營(yíng)人員,又怎么辦?
公眾號(hào)支持以組織,團(tuán)隊(duì)的方式進(jìn)行運(yùn)作, 這一點(diǎn)體現(xiàn)在一個(gè)公眾號(hào)可以添加運(yùn)營(yíng)號(hào),從而實(shí)現(xiàn)多個(gè)微信賬號(hào)共同操作一個(gè)公眾號(hào)。
3.我最近會(huì)有一段時(shí)間比較忙,因此我想預(yù)先將內(nèi)容都準(zhǔn)備好,到時(shí)候只要發(fā)布就可以了,怎么辦?
或許你會(huì)說(shuō),我們可以做一個(gè)定時(shí)器,坦白講,我們很少看到定時(shí)器在用戶(hù)層的使用,因?yàn)檫@會(huì)降低用戶(hù)對(duì)產(chǎn)品的使用頻率,從而削弱用戶(hù)粘性。
方案A在實(shí)際操作過(guò)程中,還會(huì)出現(xiàn)許多的薄弱點(diǎn)。
正如我們對(duì)這套方案的評(píng)論一樣,方案A,能且只能達(dá)到:讓公眾號(hào)的運(yùn)營(yíng)人員將文章發(fā)送給多個(gè)指定對(duì)象。
我們把這個(gè)方案轉(zhuǎn)化成技術(shù)方案就會(huì)很明顯感知到“耦合”了,因?yàn)檫@套方案同時(shí)包含了“內(nèi)容上傳”和“內(nèi)容下發(fā)”,在功能上,產(chǎn)生了“交叉關(guān)聯(lián)”
而微信是怎么實(shí)現(xiàn)的呢?
微信公眾號(hào)采用的方案則是將“內(nèi)容上傳”獨(dú)立成一個(gè)功能,將“內(nèi)容下發(fā)”獨(dú)立成一個(gè)功能,兩者之間存在“調(diào)用”的順序關(guān)系,不存在“交叉”的耦合關(guān)系。
(內(nèi)容下發(fā))
(內(nèi)容上傳)
一旦將兩者分離后,我們的設(shè)計(jì)思路就會(huì)更專(zhuān)注,比如對(duì)于內(nèi)容上傳而言,我們可以圍繞內(nèi)容展開(kāi)設(shè)計(jì),對(duì)于內(nèi)容下發(fā)而言,也可以圍繞下發(fā)展開(kāi)設(shè)計(jì)。
這個(gè)設(shè)計(jì)方案不僅能滿(mǎn)足“公眾號(hào)的運(yùn)營(yíng)人員將文章發(fā)送給多個(gè)指定對(duì)象”
而且能更全面的滿(mǎn)足這個(gè)需求,方案A中的問(wèn)題,在這里就不再存在了。
對(duì)于開(kāi)發(fā)來(lái)講,最典型的特征是我們可以將內(nèi)容上傳與內(nèi)容下發(fā)交給不同的開(kāi)發(fā)人員甚至開(kāi)發(fā)小組進(jìn)行代碼實(shí)現(xiàn)了。
耦合性越強(qiáng),越難以將其分配給多個(gè)人同時(shí)進(jìn)行。
坦言,這違背了用戶(hù)體驗(yàn),原本“一步”就能完成的事,為什么要分兩步甚至更麻煩呢?
我們?cè)诒苊夤δ荞詈系臅r(shí)候,確實(shí)會(huì)增加一定的操作成本,但我很遺憾的告訴你,“用戶(hù)體驗(yàn)”更多的是產(chǎn)品經(jīng)理的自我素養(yǎng),是一個(gè)加分項(xiàng),而不是價(jià)值體現(xiàn)。
用戶(hù)在使用產(chǎn)品時(shí),通常是為價(jià)值買(mǎi)單,而不是為體驗(yàn)買(mǎi)單,盡管我們都很努力,且很刻意的追求用戶(hù)體驗(yàn),但當(dāng)體驗(yàn)與價(jià)值產(chǎn)生沖突時(shí),必然會(huì)出現(xiàn)“降維”
“內(nèi)容上傳”和“內(nèi)容下行”是我們最常遇見(jiàn)的“耦合性”,類(lèi)似的還有“內(nèi)容屬性”與“內(nèi)容數(shù)量”等等,大家可以留意一下平時(shí)的設(shè)計(jì)。
1:n
隨著產(chǎn)品的發(fā)展,會(huì)逐漸增加自身的復(fù)雜性,這個(gè)觀念并不是始終正確的,產(chǎn)品的發(fā)展最終改變得應(yīng)該是企業(yè),而產(chǎn)品則要始終追尋自身的“簡(jiǎn)易性”,因?yàn)楫a(chǎn)品的復(fù)雜度和可行性成反比。
越是復(fù)雜的產(chǎn)品,越難以得到市場(chǎng)的認(rèn)可。
1:n,是我們常見(jiàn)的一種關(guān)系模式,同時(shí)也是最容易產(chǎn)生復(fù)雜度的模式。如果你遇到同樣的關(guān)系模式了,我建議你盡量將其還原成1:1的關(guān)系模式。
比如視頻廣告的投放,在愛(ài)奇藝,優(yōu)酷等視頻類(lèi)產(chǎn)品里,都會(huì)有廣告投放的業(yè)務(wù),而且一段視頻的播放過(guò)程中,存在不同的廣告投放位置。
我們來(lái)還原一個(gè)場(chǎng)景。
現(xiàn)在,用戶(hù)A是一位準(zhǔn)備投放廣告的廣告主,他已經(jīng)將廣告內(nèi)容上傳到了相應(yīng)的內(nèi)容庫(kù)里,現(xiàn)在A需要設(shè)置投放廣告的位置以及廣告生效的時(shí)間。我們很確定A需要投放到兩個(gè)以上的廣告位
我們來(lái)為他設(shè)計(jì)一個(gè)投放的后臺(tái),你會(huì)怎么設(shè)計(jì)呢?
方案A
方案A,用戶(hù)可以選擇多個(gè)廣告位,而廣告有效期則根據(jù)廣告位的選擇狀態(tài)進(jìn)行動(dòng)態(tài)調(diào)整,如果用戶(hù)勾選的廣告位是片頭廣告位和暫停廣告位,則需要設(shè)定對(duì)應(yīng)的廣告有效期。
這個(gè)方案怎么樣?
邏輯上是可行的,然而實(shí)際上卻毫無(wú)可行性而言,這個(gè)方案具備太多“耦合性”
耦合性越大,意味著需要越多的“條件滿(mǎn)足”,喪失越多的“可塑性”
我們來(lái)看看方案A難以實(shí)現(xiàn)的原因:
1.每個(gè)廣告位的生效時(shí)間與失效時(shí)間是不同的
對(duì)于視頻廣告而言,廣告位置是有限的,同時(shí)廣告主對(duì)于投放的廣告位有極強(qiáng)的自定義性質(zhì),比如這個(gè)場(chǎng)景里,就導(dǎo)致片尾廣告的空閑狀態(tài),這樣就會(huì)導(dǎo)致每個(gè)廣告位的生效時(shí)間和失效時(shí)間是不一樣的。
2.基于廣告的有效時(shí)間難以界定。
由于存在兩段時(shí)間關(guān)系,我們只能取全集,即最早生效的廣告位生效時(shí)間為開(kāi)始時(shí)間到最遲 失效的廣告位失效時(shí)間為結(jié)束時(shí)間。
3.難以定價(jià)
不同廣告位的售價(jià)是不一樣的,我們需要單獨(dú)統(tǒng)計(jì)該廣告在不同廣告位的相應(yīng)數(shù)據(jù),而在方案A里,這些數(shù)據(jù)都會(huì)混合在一起,導(dǎo)致我們難以識(shí)別各自的數(shù)據(jù)。
這個(gè)場(chǎng)景是典型的1:n場(chǎng)景,用戶(hù)執(zhí)行的1個(gè)操作,對(duì)應(yīng)的確是多個(gè)操作對(duì)象。
我們?cè)倏纯碆方案:
調(diào)整的內(nèi)容很簡(jiǎn)單,只是將廣告位的復(fù)選邏輯,更改為了單選邏輯,這樣就從1:n的關(guān)系變成了1:1的關(guān)系。
即用戶(hù)的一次操作,對(duì)應(yīng)一個(gè)操作對(duì)象。
在這個(gè)方案里,同樣的,上述的問(wèn)題就已經(jīng)不再存在了,用戶(hù)若需要將廣告內(nèi)容投放到不同的廣告位,只需要選擇上傳的廣告內(nèi)容,并且執(zhí)行多次操作就好了。
從操作成本而言,面對(duì)全投放的場(chǎng)景,也只是需要新增3條記錄,而我們的產(chǎn)品卻會(huì)比A方案要簡(jiǎn)單許多。
滴滴和uber等打車(chē)軟件,都會(huì)有一個(gè)看似奇怪的邏輯:只允許用戶(hù)存在一筆有效訂單,現(xiàn)在你知道為什么這么設(shè)計(jì)了嗎?
可以嘗試分析一下,如果一個(gè)用戶(hù)存在多筆有效訂單,這個(gè)程序會(huì)是什么樣的。
總結(jié)
最后,我們?cè)賮?lái)明確一下文中提到的觀點(diǎn):
1.”耦合性”越強(qiáng),產(chǎn)品“復(fù)雜度”越高,價(jià)值越低
2.降低“耦合性”會(huì)增加一定的用戶(hù)操作成本,但不會(huì)影響產(chǎn)品“價(jià)值”
3.用戶(hù)體驗(yàn)是加分項(xiàng),當(dāng)遇上價(jià)值時(shí),必須為價(jià)值“降維”
4.產(chǎn)品的迭代過(guò)程中,需要不斷的為自身減負(fù),過(guò)多的“耦合性”只會(huì)加速產(chǎn)品的死亡,進(jìn)入“無(wú)法迭代”的狀態(tài)
#專(zhuān)欄作家#
枯葉,微信公眾號(hào),枯葉咖啡館,人人都是產(chǎn)品經(jīng)理專(zhuān)欄作家。擅長(zhǎng)社交,社區(qū),細(xì)分群體挖掘。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
“用戶(hù)體驗(yàn)”更多的是產(chǎn)品經(jīng)理的自我素養(yǎng),是一個(gè)加分項(xiàng),而不是價(jià)值體現(xiàn)。 受教
i
樓主,視頻廣告投放的場(chǎng)景,方案A只是前臺(tái)交互邏輯差異,屬于動(dòng)態(tài)配置,與方案B沒(méi)覺(jué)得有什么差異,后臺(tái)邏輯一定是三種獨(dú)立的關(guān)系啊,求醍醐灌頂 ??
在實(shí)際工作中,會(huì)出現(xiàn)設(shè)計(jì)產(chǎn)品功能時(shí),很容易陷入誤區(qū):在一個(gè)功能點(diǎn)上恨不得把所有可能出現(xiàn)的情況都考慮進(jìn)去,造成一個(gè)功能承載了太多的路徑。給開(kāi)發(fā)的兄弟們挖了不少坑,耦合性太強(qiáng),難于后期維護(hù)和迭代,貌似不這樣就顯不出產(chǎn)品的通用性。
這篇文章給了一種新的產(chǎn)品功能設(shè)計(jì)思路,有些逆向思維的味道,值得好好揣摩,想起了面向?qū)ο缶幊痰囊粋€(gè)基本規(guī)則:低耦合,高內(nèi)聚。 異曲同工之妙。
v
個(gè)人以為筆者的分析并不是完全準(zhǔn)確,太過(guò)片面,事實(shí)上兩種方案各有利弊。數(shù)據(jù)統(tǒng)計(jì)方案A也是可以單獨(dú)統(tǒng)計(jì)的,廣告位涉及時(shí)間的投放的時(shí)候,遠(yuǎn)比這個(gè)復(fù)雜,并不止作者所列,參考就可,并非真理
沒(méi)怎么用過(guò)打車(chē)軟件……簡(jiǎn)單猜一下,1.多筆有效訂單出現(xiàn)的場(chǎng)景可能是,A幫助B,C,D……下訂單,而打車(chē)軟件希望更多的用戶(hù)擁有自己的賬號(hào);2.多筆有效訂單出現(xiàn)的場(chǎng)景可能是,A瞎幾把下單,導(dǎo)致的后果可能是多名司機(jī)接單而放空造成損失;3.像滴滴這樣的打車(chē)軟件是先體驗(yàn)服務(wù),后進(jìn)行支付,如果允許多筆有效訂單存在,可能導(dǎo)致多筆壞賬的存在。 ?? 公交黨打車(chē)不多,想偏了求不嘲笑。
預(yù)付款策略和風(fēng)控
強(qiáng)烈要求置頂
很受用,在做后臺(tái)設(shè)計(jì),也不會(huì)考慮太多耦合的問(wèn)題,可深度現(xiàn)在用戶(hù)和開(kāi)發(fā)的角度想去,確實(shí)會(huì)有這樣那樣的坑等著以后去埋……為了避免成為坑王,出功能得多維度去思考啊……難!但有意思!
我也是做后臺(tái)的產(chǎn)品,還有一種就是表單特別多,我也收藏了一章,下個(gè)版本就準(zhǔn)備是試用
i