踩坑系列:一個(gè)狀態(tài)字段的不合理設(shè)計(jì),導(dǎo)致公司損失十多萬(wàn)
用戶(hù)賬單長(zhǎng)時(shí)間沒(méi)有扣款,經(jīng)過(guò)排查發(fā)現(xiàn)賬單扣款任務(wù)沖突。因一個(gè)狀態(tài)字段的不合理設(shè)計(jì),導(dǎo)致公司虧損。作者結(jié)合親身經(jīng)歷,與大家談?wù)勅绾伪苊獠瓤印?/p>
一、踩坑背景
公司運(yùn)營(yíng)人員從管理后臺(tái)發(fā)現(xiàn)有個(gè)用戶(hù)的賬單長(zhǎng)時(shí)間沒(méi)有發(fā)起扣款,于是把這個(gè)用戶(hù)的問(wèn)題拋出來(lái)。
經(jīng)過(guò)排查,是因?yàn)橹坝形划a(chǎn)品同事上線新的需求的時(shí)候,跟賬單扣款任務(wù)有沖突。賬單扣款的發(fā)起依賴(lài)扣款狀態(tài)中的“銀行卡代扣失敗”進(jìn)行后續(xù)業(yè)務(wù)的流轉(zhuǎn),而新上線的需求沖突會(huì)導(dǎo)致無(wú)法給賬單的支付狀態(tài)標(biāo)記上“銀行卡代扣失敗”,導(dǎo)致對(duì)應(yīng)的賬單沒(méi)有流轉(zhuǎn)入后續(xù)其他扣款業(yè)務(wù),最終導(dǎo)致公司被用戶(hù)薅了十幾萬(wàn)羊毛。
二、提出疑問(wèn)
發(fā)現(xiàn)這個(gè)問(wèn)題后,我聯(lián)想到其他一個(gè)曾經(jīng)發(fā)生過(guò)的問(wèn)題,由于注銷(xiāo)訂單的“注銷(xiāo)狀態(tài)”被后續(xù)其他開(kāi)發(fā)增加了新的狀態(tài)“一鍵注銷(xiāo)成功”,導(dǎo)致我的某些風(fēng)控規(guī)則失效。不禁讓我思考,為何總會(huì)發(fā)生這種需求沖突導(dǎo)致的 BUG。
三、分析原因
順著這兩個(gè)問(wèn)題,我發(fā)現(xiàn)問(wèn)題雖然一個(gè)是“狀態(tài)”字段的判斷邏輯不合理導(dǎo)致的;另一個(gè)是因?yàn)椤盃顟B(tài)”字段被改修導(dǎo)致的沖突,但是本質(zhì)上都跟“狀態(tài)”的定義和設(shè)計(jì)關(guān)系。
比如賬單的扣款狀態(tài),理應(yīng)就應(yīng)該只有“未扣款、扣款中、扣款成功、扣款失敗”,而不應(yīng)該出現(xiàn)“銀行卡代扣失敗”這種字段。如果沒(méi)有“銀行卡代扣失敗”這種字段,那么也不會(huì)有后續(xù)不合力的判斷邏輯。
而注銷(xiāo)訂單新增“一鍵注銷(xiāo)成功”這種狀態(tài)更是荒誕,注銷(xiāo)狀態(tài)理應(yīng)就是“未注銷(xiāo)、注銷(xiāo)成功、注銷(xiāo)失敗”,頂多再給一個(gè)中間狀態(tài)“注銷(xiāo)中”,“一鍵”這個(gè)業(yè)務(wù)類(lèi)型,完全可以起一個(gè)“注銷(xiāo)類(lèi)型”字段去記錄。
四、驗(yàn)證決策
決策之前再驗(yàn)證一下這種狀態(tài)的做法其實(shí)是不合理之處,再來(lái)推演我們應(yīng)該怎么辦。
打比方我們開(kāi)發(fā)一款出行產(chǎn)品,需要根據(jù)用戶(hù)所在地理位置進(jìn)行推薦內(nèi)容。假設(shè)用戶(hù) A 所在地字段一開(kāi)始就是單純記錄地理位置,如北京。后續(xù)迭代需求說(shuō)要把用戶(hù)“去到北京的出行方式”也記錄一下,用來(lái)針對(duì)“坐飛機(jī)去北京”的用戶(hù)處理其他需求。此時(shí)如果產(chǎn)品和開(kāi)發(fā)都比較小白,直接在“地理位置”字段,遇到“坐飛機(jī)去北京”的用戶(hù)直接更新為“北京-飛機(jī)”,那新的需求雖然滿(mǎn)足了,但是之前舊功能肯定會(huì)有很多沖突。
所以我們?cè)谝?guī)劃需求的時(shí)候,對(duì)于各種“狀態(tài)”從產(chǎn)品端最好就思考清楚、定義好、寫(xiě)清楚,產(chǎn)品經(jīng)理還是要盡可能避免“依賴(lài)開(kāi)發(fā)”,有些新人開(kāi)發(fā)甚至是老開(kāi)發(fā)很多時(shí)候根本不管那么多,只管實(shí)現(xiàn)。而且一般公司也不像大廠,有那么多標(biāo)準(zhǔn)和測(cè)試資源,因此很容易出問(wèn)題。
五、價(jià)值落地
踩坑,最怕的就是同一個(gè)坑一直沒(méi)有填平,一直反復(fù)踩,還怕你自己不踩了,公司的其他人還在踩。
所以針對(duì)這個(gè)坑我打算在公司這么做:
開(kāi)展一場(chǎng)內(nèi)部分享或研討,針對(duì)產(chǎn)研同學(xué)對(duì)“狀態(tài)”字段的定義進(jìn)行學(xué)習(xí)交流。
推動(dòng)產(chǎn)品同學(xué)形成作業(yè)習(xí)慣,但凡遇到“狀態(tài)”這個(gè)問(wèn)題,需要思考完善之后寫(xiě)清楚,拒絕”依賴(lài)開(kāi)發(fā)”,最好形成制度。
推動(dòng)技術(shù)同學(xué)形成作業(yè)習(xí)慣,在迭代的時(shí)候?qū)Α盃顟B(tài)”的修改要慎重,且需求沒(méi)明確狀態(tài)的情況下一定要反饋給對(duì)應(yīng)的產(chǎn)品經(jīng)理并重新討論定奪。
本文由 @別字君 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!