后端需求方案設(shè)計的注意事項
后端需求方案設(shè)計,不僅體現(xiàn)在界面和交互的定義上,更體現(xiàn)在邏輯規(guī)則與整體架構(gòu)的契合度上。好的后端方案應(yīng)該統(tǒng)籌數(shù)據(jù)結(jié)構(gòu)、技術(shù)實現(xiàn)、界面效果、算法選型等方面,不僅滿足需求,而且另團隊省時省力。這里淺聊一下后端頁面的需求方案的注意事項。
1. 遵從Web頁面設(shè)計常識
后端產(chǎn)品,幾乎都是以Web為載體的。
一個Web頁面當(dāng)中,我們看到不同的位置擺放不同的元素,就像被割開一塊一塊的。
這是由于HTML本身就劃定了頁面元素的坐標,因此在規(guī)劃頁面的時候就要遵從或利用這些規(guī)則。
比如,在一個表單當(dāng)中,當(dāng)你要在二維欄中加一行描述的時候,如下圖這樣地設(shè)計,容易引發(fā)歧義:
因為,頁面的這個位置就像是一個兩列的表格,而截圖批注的內(nèi)容卻是在一個表格展示的。
所以開發(fā)會困惑:你是要讓重新插入一個新的區(qū)域做成一維單元格,還是在原來的表格中分兩列展示呢?
產(chǎn)品經(jīng)理在輸出方案的時候,不僅要避免主動引入歧義,同時要避免一切被動的歧義。
了解一些頁面常識,不僅僅提需求,而且能夠事半功倍。
2. 結(jié)合實際,靈活方案
舉個例子:要做一個“客戶等級規(guī)則設(shè)置”功能,參與運輸?shù)膮?shù)多,每個參數(shù)存在大于、等于、介于、小于等至少四種情況。
常規(guī)的參數(shù)設(shè)計思路,是將各個參數(shù)分開存儲。也就是一條完整數(shù)據(jù)要分多條存儲。
比如:
id為“001”的規(guī)則選擇了三個參數(shù),就要出現(xiàn)三行數(shù)據(jù),且每一行數(shù)據(jù)都要對應(yīng)考慮四組數(shù)據(jù)關(guān)系(大于、大于等于、小于、小于等于)。如下所示:
這樣的設(shè)計導(dǎo)致字段較多(列較多),且每個規(guī)則又會隨著參數(shù)的增多而導(dǎo)致行數(shù)繼續(xù)翻倍增多。那么就更顯得冗余沉重。
是否能更簡單點呢?
進一步調(diào)研業(yè)務(wù),獲知該功能運算的數(shù)據(jù)本身就有偏差。因此對精確度的要求不高。
于是,重新和業(yè)務(wù)用戶溝通后,優(yōu)化了數(shù)據(jù)存儲方案為:每個參數(shù)都存儲為一個列,而每列的取值約定為雙側(cè)閉區(qū)間,用逗號隔開。
例如,想表達大于100,那就用“大于等于100.01”代替。
同樣,小于80.01,就用“小于等于80.00”代替。
因此只需要簡單如下所示的結(jié)構(gòu)即可(注意逗號是取值區(qū)間的分割符號):
結(jié)論:發(fā)現(xiàn)常規(guī)方案增加功能復(fù)雜度的時候,就回到問題源頭,結(jié)合業(yè)務(wù)場景靈活設(shè)計。
3. 結(jié)合一點技術(shù)原理,而非想當(dāng)然
比如,設(shè)計頁面搜索項,搜索條件的多少和搜索速度并沒有必然的線性關(guān)系。有時候?qū)⒑Y選條件細化,即增加篩選項,反而可能加快速度。
這與篩選字段的索引情況、數(shù)據(jù)量、數(shù)據(jù)存儲在表的結(jié)構(gòu)(如分表存儲)都有關(guān)系。
比如:查學(xué)生姓名之前先選班級,會比不選班級的查詢速度稍微快一點。
因此,在設(shè)計方案的時候,并不能一概地通過減少搜索項試圖提高搜索速度。而應(yīng)當(dāng)根據(jù)具體的情況,結(jié)合一定的技術(shù)常識進行判斷,而不是想當(dāng)然地設(shè)計方案。
4. 結(jié)合特殊場景整合方案
特殊場景很多,比如逆向操作、空值、并發(fā)操作等。
以多個客對同一個訂單同時進行編輯為例,那么這就會出現(xiàn)并發(fā)操作。甚至造成出錯的風(fēng)險,而且對業(yè)務(wù)人員是一種重復(fù)操作,浪費時間。
因此如果遇到這樣的場景,產(chǎn)品經(jīng)理設(shè)計方案的時候就跟業(yè)務(wù)溝通,可能業(yè)務(wù)的一個簡單的分組分派工作任務(wù),就化解了這種問題。
還可以在做推送機制的時候,設(shè)計成分派模式,將數(shù)據(jù)分別推送給事先對應(yīng)的負責(zé)人。
總之,作為產(chǎn)品經(jīng)理,需要在方案設(shè)計的時候考慮特殊場景或特殊操作,然后配合線上或線下的措施,確保安全運行。
5. 了解業(yè)務(wù),基于業(yè)務(wù)
每個行業(yè)都有外人不熟悉的信息盲區(qū)。比如跨境業(yè)務(wù)的“時區(qū)”轉(zhuǎn)化問題。
跨境網(wǎng)站如果抓取訂單,海外的平臺采用的時區(qū)和我們的并不一樣。并且某些平臺在不同國家站點所采用的時區(qū)也不一樣。
所以在抓單時需要把訂單所屬的時區(qū)轉(zhuǎn)換成北京時間,才能根據(jù)北京時間把訂單抓回來。
做后端,本質(zhì)就是做業(yè)務(wù)。產(chǎn)品經(jīng)理需要全盤了解業(yè)務(wù),才能如期為業(yè)務(wù)賦能。
6. 多個方案對比,擇優(yōu)而用
舉一個案例:A系統(tǒng)需要用到手續(xù)費,手續(xù)費比例是由用戶自己配置的。
在做這個需求的時候,了解到兄弟系統(tǒng)B系統(tǒng)已經(jīng)在正式運營這個手續(xù)費數(shù)據(jù)了。
那么,A系統(tǒng)是繼續(xù)在自己系統(tǒng)新建一個配置功能,還是創(chuàng)建接口從對方系統(tǒng)獲取現(xiàn)成的呢?
分析:這個問題的關(guān)鍵在于兩種方案哪個綜合性價比更高。
如果做接口從B獲取,方案看似簡單,但需要進行跨系統(tǒng)的聯(lián)測,且增加了系統(tǒng)的耦合;而新建看似復(fù)雜,但是只是一個簡常規(guī)的規(guī)則配置,無需聯(lián)調(diào)測試。因此,最后采用新建配置規(guī)則的方案。
這說明表面上看起來省事的方案,可能真實執(zhí)行起來反而會麻煩。因此產(chǎn)品經(jīng)理要充分思考,A/B方案對比后做出選擇。
作者:唧唧歪歪PM;公眾號:唧唧歪歪PM(ID:jjyypm)
本文由 @唧唧歪歪PM 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
第6條說的太真實了,親身經(jīng)歷過同類事件。
今天看了很多你的文章,受益匪淺,謝謝 ??
他公眾號 寫的也不錯