這是我總結(jié)的一個方法論苇侵,一個驚艷或者普通的idea,是怎么變成一個可執(zhí)行的產(chǎn)品方案呢稼虎?
當(dāng)我們提到一些常見的功能時衅檀,可以一筆帶過,簡單的描述一下就可以了霎俩,比如哀军,對于微信登錄,手機號注冊打却。
那如果我們提到的是一些比較復(fù)雜的杉适,具備一定創(chuàng)造性功能的時候,又該如何呢柳击?
比如:
APP推薦分享功能猿推,老用戶A將APP下載分享頁,分享到朋友圈捌肴,或微信好友蹬叭,微博,新用戶B,C,D通過分享下載APP裝機并注冊状知,老用戶A獲得積分或其他獎勵秽五。
類似問題,會成為產(chǎn)品經(jīng)理的一道分水嶺饥悴,于我們而言坦喘,不只是想一些好的東西盲再,還要有辦法將他實現(xiàn),這需要我們對技術(shù)有一定的基礎(chǔ)認(rèn)知瓣铣。
常規(guī)的技術(shù)實現(xiàn)邏輯
幾乎所有的互聯(lián)網(wǎng)產(chǎn)品均會包含這四個環(huán)節(jié)答朋,數(shù)據(jù)庫,后端棠笑,接口梦碗,前端。
但在某些產(chǎn)品里腐晾,可能會增加環(huán)節(jié)叉弦,或者用另一個方法來代替上圖的某個節(jié)點丐一,也可以減少一些環(huán)節(jié)藻糖。
“數(shù)據(jù)庫”的存在就可以被“日志”來代替。
一款無需網(wǎng)絡(luò)支撐的“計算器”則只需要前端的功能支撐库车。
對于產(chǎn)品經(jīng)理而言巨柒,我們有義務(wù)將一個idea轉(zhuǎn)化成可用代碼實現(xiàn)的方案,實際上這個轉(zhuǎn)化過程正是產(chǎn)品經(jīng)理重要技能的一環(huán)柠衍。
不僅僅是想到需求洋满,還要確保需求可被實現(xiàn)。
對于互聯(lián)網(wǎng)產(chǎn)品而言珍坊,一個idea一般都會牽扯到這4個環(huán)節(jié)牺勾,我們以登錄為例。
這是一個簡易的泳道圖阵漏,我們可以這樣來解讀這幅登錄的泳道圖驻民。
用戶在前端執(zhí)行了登錄的操作
前端通過接口,將用戶輸入的帳號和密碼上傳到后端
后端將這些信息與數(shù)據(jù)庫的用戶信息表進(jìn)行匹配
后端將匹配結(jié)果通過接口返回給前端
前端根據(jù)后端返回的信息來確定下一步是成功還是失敗履怯。
擴展
我們所說的異常保護(hù)回还,就是在上述的過程中,每一個環(huán)節(jié)都有可能出現(xiàn)錯誤叹洲,
我們無法將所有的錯誤都進(jìn)行預(yù)設(shè)柠硕,通常會將異常做分類。
沒有返回以及返回的信息运提,不是“對”蝗柔,也不是“錯”
一個登錄功能,除了我們所看見的登錄成功民泵,登錄失敗癣丧,還會有請求失敗,請求錯誤這兩個“功能需求”洪灯。
對于登錄這類比較常規(guī)并且固定的功能坎缭,產(chǎn)品不需要過細(xì)的思考竟痰,但在一些個性化比較強的需求處理時,我們就需要將他盡可能的貼近實現(xiàn)方案掏呼。
復(fù)雜需求
案例:
APP推薦分享功能坏快,老用戶A將APP下載分享頁,分享到朋友圈憎夷,或微信好友莽鸿,微博,新用戶B,C,D通過分享下載APP裝機并注冊拾给,老用戶A獲得積分或其他獎勵祥得。
這個是基于分享的泳道圖,他能滿足我們分享的需求蒋得,但顯然级及,這不能完成案例中的復(fù)雜邏輯。我們來看看另外一副泳道圖.
這個圖補充了B用戶在微信打開被分享出來的鏈接所對應(yīng)的操作额衙,但是這任然是不夠的饮焦。
我們再來看看案例:
老用戶A將APP下載分享頁,分享到朋友圈窍侧,或微信好友县踢,微博,新用戶B,C,D通過分享下載APP裝機并注冊伟件,老用戶A獲得積分或其他獎勵硼啤。
我們還有幾個問題沒解決
我們?nèi)绾沃繠用戶打開的是A用戶分享出來的網(wǎng)頁呢?
我們怎么知道訪問的人斧账,下載的人谴返,注冊的人是同一個人呢?(條件是B下載裝機并注冊其骄,A才獲得積分)
第一個問題很好解決亏镰,A用戶分享出去時,將用戶的profile信息一起傳給后端就可以記錄下拯爽,“誰分享的”
同時索抓,在B用戶訪問時,我們也去記錄下訪問人的信息.
微信提供了這樣的支撐能力毯炮,在用戶訪問一個H5鏈接時逼肯,我們可以獲得訪問用戶的微信ipen ID,這樣就能知道誰訪問了桃煎。
走到這一步篮幢,我們已經(jīng)能夠?qū)⑦@個案例實現(xiàn)大部分了。
A用戶將下載頁分享到微信为迈,B用戶訪問了A分享的下載頁三椿,并做了下載動作缺菌。
第二個問題怎么辦呢?
我們怎么知道訪問的人搜锰,下載的人伴郁,注冊的人是同一個人呢?(條件是B下載裝機并注冊蛋叼,A才獲得積分)
(文章里已經(jīng)用了較多的泳道圖了焊傅,后面就不再貼圖啦,大家可以自己畫一畫)
我們在微信環(huán)境所記錄的訪問ID?狈涮,是以微信提供的Open ID?作為唯一標(biāo)識的狐胎。
第二個問題實際上是我們沒有辦法將Open ID?與用戶注冊時生成的User ID進(jìn)行關(guān)聯(lián)。
我們無法知道一個新注冊的用戶歌馍,是從哪里下載的握巢。
然后
我很喜歡一句電影臺詞:如果不是喜劇結(jié)尾,那是因為電影還未完結(jié)骆姐。
我們設(shè)計到這里镜粤,已經(jīng)能夠發(fā)現(xiàn)問題了,那就能夠找到問題的解決方案玻褪。
解決問題,產(chǎn)品經(jīng)理應(yīng)該是專業(yè)級的公荧。
解決方案(參考)
我們要做的是將注冊ID與訪問用戶的openID進(jìn)行關(guān)聯(lián)带射,中間欠缺一個可鏈接的橋梁。
于是循狰,我們可以建設(shè)另一個橋梁窟社,來起到替代作用。
可以在下載頁做一個活動绪钥,
每次用戶訪問這個頁面時顯示一個處理后的參數(shù)灿里,這個參數(shù)是根據(jù)計算得到的,就像微信的open ID?一樣程腹。
訪問者ID加上分享者ID再加上一些其他的參數(shù)匣吊,生成一個新的參數(shù),具備唯一性寸潦,我們可以將其稱為幸運ID色鸳。
B用戶只要在注冊過程中,甚至注冊以后的正常使用過程中见转,輸入這個幸運ID命雀,就能建立起這道橋梁。
這樣我們就可以完整的實現(xiàn)案例的場景了斩箫。
1.通過記錄分享者的user ID吏砂, 我們可以知道某個H5是A分享出去的
2.通過記錄訪問者的open ID ,我們可以知道是B打開了A分享的網(wǎng)頁
3.通過幸運ID撵儿,我們能知道B用戶是通過A分享出來的網(wǎng)頁下載并注冊的。
現(xiàn)在的問題在于狐血,如何讓用戶輸入“幸運ID”
這個問題是不是變得簡單了统倒?
我們只是需要尋找一個能夠讓用戶輸入“幸運ID”的動機就好啦。
比如氛雪,
輸入幸運ID房匆,看看哪些朋友也在用
輸入幸運ID,領(lǐng)取紅包
輸入幸運ID报亩,可以抽獎
結(jié)局
這并不是唯一的解決辦法浴鸿,實際上很多需求都可以用不同的實現(xiàn)方法來解決。
案例中的問題弦追,我也沒有將其完全描述出來岳链,相信還剩下許多細(xì)節(jié)問題,留給大家思考劲件。
工作過程中掸哑,我們經(jīng)常會遇到非常棒的想法,但卻無法將他實現(xiàn)出來零远,研發(fā)會向我們反饋“技術(shù)無法實現(xiàn)”苗分。
據(jù)我了解,很多時候的“技術(shù)無法實現(xiàn)”是指無法實現(xiàn)這個方案牵辣,往往摔癣,我們換一個方案就可以實現(xiàn)了。
這就需要我們具備一定的技術(shù)認(rèn)知纬向,能夠考慮到技術(shù)如何實現(xiàn)择浊,他的思路邏輯是怎么樣的。
案例中有一個小的細(xì)節(jié)逾条,我們通過微信的open ID?來知道訪問者是誰琢岩,
如果沒有這個open ID,那么這套方案就是“無法實現(xiàn)”的
小故事
PM:
我想知道有多少人在QQ訪問了我們的網(wǎng)頁
研發(fā):
這做不到,我只能幫你查查被打開了多少次师脂,我不知道是“誰”訪問了網(wǎng)頁担孔,因為他沒有登錄。
(沒有記錄“人”危彩,就沒辦法知道“多少人”訪問)
PM:
哦?好吧攒磨。
PM:
我們可以用QQ的第三方登錄嗎,這樣用戶在QQ訪問時汤徽,QQ就會把用戶的信息傳給我們娩缰。
研發(fā):
這樣就沒問題了,但你需要提一個需求谒府,以前的數(shù)據(jù)就沒辦法了拼坎,這個需求實現(xiàn)以后浮毯,就可以統(tǒng)計了。
PM:
好吧我去提個需求泰鸡。
新需求:用戶在QQ訪問網(wǎng)頁時债蓝,需要使用QQ提供的一鍵登錄。
(解決了想知道多少人訪問的“需要”)
我是小硅盛龄,文中的案例來源于一位朋友在QQ群的提問饰迹,我正在四處收集問題。
如果你在工作過程中遇到了各種各樣的問題余舶,來硅谷堂公眾號告訴我們吧啊鸭。