產(chǎn)品減少踩坑的4個絕學(xué)

很早之前寫過一個《B端如何做好一個產(chǎn)品功能》,現(xiàn)在看,感覺之前寫的還是淺了一些,今天根據(jù)真實(shí)案例,舉例說一下,產(chǎn)品想要做好一個功能,還需要思考什么?

現(xiàn)在還有多少的產(chǎn)品會自己畫類圖?會和技術(shù)談?wù)摷夹g(shù)實(shí)現(xiàn)方案?會考慮產(chǎn)品功能的可擴(kuò)展性?會思考功能實(shí)現(xiàn)的影響范圍?

上面說的幾個問題,有幸上周都遇到了。一個一個的給大家列出來。

1、那一刻,我意識到了類圖的重要性

背景:在教育機(jī)構(gòu),存在學(xué)員、班級、老師角色,學(xué)員有正常學(xué)習(xí)和休學(xué)的狀態(tài),老師有績效核算。一個業(yè)務(wù)前置條件,當(dāng)一個學(xué)員休學(xué)后,所做的動作,還算到最近學(xué)員待過班級的績效。

需求:學(xué)員休學(xué)后的處理。

爭論點(diǎn):學(xué)員休學(xué)后要不要離班?

思考:學(xué)員離班和不離班有什么區(qū)別?怎么才算離班?

學(xué)員離班和不離班的區(qū)別是什么?1、如果不離班,每次以班級維度做動作的時候,都需要把休學(xué)的學(xué)員特殊處理;2、如果離班老師如何更好的給學(xué)員提供服務(wù)?

怎么才算是離班?如果我們沒有類圖,沒有技術(shù)思維,這個問題其實(shí)不好回答。但是如果你有類圖,有技術(shù)思維。然后分析如果A休學(xué),要把A從我的班級里面清理出去,如何才算清理出去?現(xiàn)在是A身上關(guān)聯(lián)了班級id嗎?是要把這個id去掉嗎?如果去掉,那么沒辦法做績效。如果不是,是有一個班級ID,然后班級ID里面關(guān)聯(lián)著所有的學(xué)員,是通過班級ID找學(xué)員,那么如果我們?nèi)サ袅诉@個關(guān)聯(lián),然后我們在做數(shù)據(jù)統(tǒng)計(jì)的時候,我們是拿班然后去找這個班級的同學(xué),然后再去看同學(xué)的各種數(shù)據(jù),然后有了一個數(shù)據(jù)結(jié)果。但是我們在做績效的時候怎么辦呢?績效是以班級為單位的,我通過班級關(guān)聯(lián)找用戶找不到了,我只能再去所有用戶篩選一遍,找到這個班級之前休學(xué)的同學(xué),然后把這個同學(xué)加進(jìn)來,然后在和班級里面能關(guān)聯(lián)上的學(xué)員,一起計(jì)算。計(jì)算后的結(jié)果還和班級非績效計(jì)算的結(jié)果不一致。

通過分析我們明白:這個不是一個離班不離班的問題,而是一個在老師的后臺系統(tǒng)顯不顯示這個學(xué)員,在前端顯不顯示你歸屬的班級,至于休學(xué)需要誰服務(wù),和離班不離班沒關(guān)系,是你休學(xué)了誰服務(wù)你,不是你離班了誰服務(wù)你。

所以再以班級為單位的做動作的時候,系統(tǒng)自動把休學(xué)的學(xué)員處理掉就好,不需要老師特殊處理即可。至于誰服務(wù)用戶,用戶權(quán)益,是不是和狀態(tài)掛鉤,有幾個用戶狀態(tài)確定用戶有什么權(quán)益。訂單正常,訂單退費(fèi),服務(wù)正常,服務(wù)過期,正常學(xué)習(xí),休學(xué),重修,按照不同緯度的狀態(tài)來區(qū)分權(quán)益

2、考慮技術(shù)的實(shí)現(xiàn)方案?

背景:直播中臺之前的樣式配置和鑒權(quán)是一個接口,現(xiàn)在隨著樣式越來越多,接口越來越大,撐不住了,所以需要把健全接口和樣式接口分開,影響所有業(yè)務(wù)線。

為什么要考慮技術(shù)方案呢?因?yàn)楹芏鄷r候,技術(shù)并不知道我們的長期規(guī)劃,很多時候技術(shù)只是針對當(dāng)前需求去設(shè)計(jì)技術(shù)實(shí)現(xiàn)方案,導(dǎo)致技術(shù)目前設(shè)計(jì)的技術(shù)方案并不能適配到我們長期的規(guī)劃,在我們后期再做功能的時候,就需要重構(gòu)之前的技術(shù)方案,如果沒辦法向下兼容,只能全部修改,則成本居高。

所以我們再給技術(shù)將需求的時候,如果我們對我們的功能未來有預(yù)期,則可以同步給技術(shù),未來,我可能要做成什么什么樣,讓技術(shù)老師做技術(shù)方案的時候,考慮之后的版本。然后技術(shù)在做技術(shù)外審的時候,產(chǎn)品一定要參加,認(rèn)真聽,考慮其技術(shù)方案是否合理。

3、產(chǎn)品的可擴(kuò)展性和未來規(guī)劃

之前有一個模塊化設(shè)計(jì)講的很好的一個文章《模塊化產(chǎn)品設(shè)計(jì)》。以電商商品舉例。

以添加商品為例:要新建一個商品,必不可少的有商品基本信息、商品類目、商品屬性信息等等。

如果想簡單點(diǎn)設(shè)計(jì):1、點(diǎn)擊添加商品按鈕,進(jìn)入添加商品頁面。2、在固定表單中,填寫商品所有信息。3、點(diǎn)擊保存按鈕。

添加商品,本就不是很復(fù)雜的事,此簡單的方案不是不可行。只是不利于系統(tǒng)的可擴(kuò)展性和靈活性。

為什么?在固定的表單中填寫商品所有信息,你就能保證所有的商品都是一樣的業(yè)務(wù)邏輯,一樣的商品信息嗎?根本保證不了,那么一旦做成固定模板,系統(tǒng)后期就要不斷的根據(jù)新的業(yè)務(wù)邏輯和商品去不斷的改代碼來實(shí)現(xiàn)業(yè)務(wù)方的需求。

那么,有沒有更好的方案?模塊化設(shè)計(jì)。

回到問題本質(zhì):想成功添加一個商品到商品庫。

方案:將商品信息打散,將其拆分為三大類信息組合:商品共性信息(所有的商品都有的屬性)、商品類目、動態(tài)屬性(區(qū)分商品唯一性的屬性)。

理清父子關(guān)聯(lián)關(guān)系

既然要模塊化,那么肯定就會出現(xiàn)一層又一層的父子關(guān)聯(lián)關(guān)系。

說明:要想成功添加A商品,必須關(guān)聯(lián)某個A商品類目。A商品類目必須關(guān)聯(lián)某個A模板,A模板必須關(guān)聯(lián)對應(yīng)屬性。

屬性管理:管理了商品的所有類別的屬性信息,一定要做好分類。比如:關(guān)鍵屬性、規(guī)格屬性、非關(guān)鍵屬性等等。

模板管理:不同的商品,可能由不同的屬性構(gòu)成。那么我將屬性形成一個又一個模板,就可以靈活的去滿足各種類別的商品。

商品類目:商品的分類管理。所有的商品,肯定有自己的分類,也就是商品類目。同一類商品歸為一類,便于商品的維護(hù)和管理。

商品管理:所有商品的管理?,F(xiàn)在要添加一個商品,通過模板化設(shè)計(jì),就變得非常靈活。要想添加商品:1、點(diǎn)擊添加按鈕。2、選擇A商品類目。3、填寫A類目關(guān)聯(lián)的模板A中對應(yīng)的屬性信息。4、保存。

模板設(shè)計(jì)的好處就是,我可以隨時更換關(guān)聯(lián)關(guān)系,也可以隨時在下一層關(guān)聯(lián)關(guān)系中做任何CRUD操作卻不影響當(dāng)前層級新的數(shù)據(jù)。

模塊化設(shè)計(jì)的底層思維,其實(shí)還有一個未來規(guī)劃的影子,就是我們在做第一版本的功能時,就已經(jīng)有了一個完整功能的大概樣子,有了這個樣子,指導(dǎo)我們設(shè)計(jì)第一版本,防止未來無法擴(kuò)展,不能做到我們規(guī)劃的理想中的樣子。

舉例:在給直播中臺設(shè)計(jì)一個“引導(dǎo)用戶關(guān)注公眾號”的需求,我們采用的是,教師端發(fā)起二維碼,則用戶端中間彈出二維碼,用戶可以掃描二維碼,也可以點(diǎn)擊關(guān)閉按鈕,收成1個ICON放在頁面的右下角。做這個需求我們要思考?以后中間彈框彈出圖片的還有其他場景嗎?圖片和ICON是不是可以隨意配置。收起來的ICON會不會有多個同時展示的情況,這種時候ICON怎么展示,ICON一個個關(guān)閉/新增的時候如何交互。

4、會思考功能實(shí)現(xiàn)的影響范圍?

技術(shù)在做功能的時候,因?yàn)闆]做過其他的功能模塊或者其他的系統(tǒng),并沒有一個全局的視角,不知道做這個功能是否對其他的功能模塊、甚至其他的系統(tǒng)產(chǎn)生影響,所以就只有產(chǎn)品設(shè)計(jì)的時候,寫需求的時候,列出來所有的影響范圍。

那我們應(yīng)該如何思考,我們修改的功能的影響范圍呢?看你設(shè)計(jì)的功能,新增了哪些實(shí)體類?關(guān)聯(lián)了那些實(shí)體類?那些角色會用到新增的實(shí)體類和關(guān)聯(lián)的實(shí)體類?關(guān)聯(lián)的實(shí)體類和角色是否還會使用其他的系統(tǒng)。比如我們修改了課程退款的邏輯。沒有新增實(shí)體類,但是關(guān)聯(lián)了退款進(jìn)度實(shí)體類,這個實(shí)體類客服、老師、財(cái)務(wù)、學(xué)員都在用,客服用在什么地方,老師用在什么地方、財(cái)務(wù)用在什么地方、學(xué)員用在什么地方。

總結(jié):我們在做功能設(shè)計(jì)的時候,切記不要埋頭就干,先思考,再動手,動手之后再思考。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容