產(chǎn)品經(jīng)理,你是否給業(yè)務(wù)留了后路?

3 評(píng)論 10735 瀏覽 111 收藏 8 分鐘

業(yè)務(wù)復(fù)雜,做業(yè)務(wù)的產(chǎn)品更復(fù)雜。越復(fù)雜的業(yè)務(wù)產(chǎn)品,所依賴的外圍系統(tǒng)可能就越多。假如突然有一天,依賴的外圍系統(tǒng)掛掉了,少俠你是否給業(yè)務(wù)留了后路?

可能前面的話聽上去有點(diǎn)暈,到底啥意思?來,舉個(gè)栗子。

體檢

假如今天饅頭去醫(yī)院體檢,需要經(jīng)歷的體檢流程“1-2-3-4”如上圖所示。但這里有個(gè)變態(tài)規(guī)則就是:必須按流程順序完成1-4的所有環(huán)節(jié),體檢才算成功。(翻譯過來就是說:每完成一步,1-4的應(yīng)用系統(tǒng)會(huì)將數(shù)據(jù)返回給到體檢系統(tǒng),并觸發(fā)體檢系統(tǒng)向下一應(yīng)用系統(tǒng)請(qǐng)求數(shù)據(jù)。當(dāng)體檢系統(tǒng)依次向4個(gè)應(yīng)用系統(tǒng)分別請(qǐng)求數(shù)據(jù)成功后,則記為“體檢成功”。如果一旦體檢系統(tǒng)某次請(qǐng)求數(shù)據(jù)失敗,體檢系統(tǒng)則不會(huì)繼續(xù)向下一應(yīng)用系統(tǒng)請(qǐng)求數(shù)據(jù),處于“體檢進(jìn)行中”的狀態(tài))

假如此時(shí),血常規(guī)檢查的儀器掛掉了,而down機(jī)時(shí)間又不確定。但因?yàn)樽儜B(tài)的規(guī)則,導(dǎo)致饅頭我只得停留在第2步“血常規(guī)檢查”,體檢因此無法繼續(xù)進(jìn)行下去。同時(shí)隨著down機(jī)時(shí)間的延長和醫(yī)院體檢人數(shù)的增加,停留在第2步而無法繼續(xù)進(jìn)行下去的人越來越多,情緒上已處于失控狀態(tài);但此時(shí)院方又束手無策,因?yàn)檫@是體檢系統(tǒng)寫死的規(guī)則,不可更改。所以,此時(shí)此刻只有2種解決方案:要么告訴大家耐心等待,直至血常規(guī)檢查的儀器恢復(fù)正常,要么告知大家該回家的回家,該上班的上班,改日再來醫(yī)院體檢。我相信如果少俠是體檢的同學(xué),那此時(shí)的內(nèi)心早已是崩潰的…

大家發(fā)現(xiàn)沒有,正是因?yàn)楫a(chǎn)品設(shè)計(jì)上沒有考慮到異常流,因此導(dǎo)致在異常情況發(fā)生時(shí)埋下了這個(gè)天坑。由此可見,做產(chǎn)品留后路非常重要!

留后路,什么意思?

還是剛才的例子,假如我在設(shè)計(jì)體檢系統(tǒng)的產(chǎn)品時(shí),讓技術(shù)同學(xué)寫一串代碼:“if 血常規(guī)檢查系統(tǒng)down機(jī)所引起的數(shù)據(jù)請(qǐng)求失敗,則直接進(jìn)行下一應(yīng)用系統(tǒng)的數(shù)據(jù)請(qǐng)求。”大家發(fā)現(xiàn)沒有,此時(shí)體檢系統(tǒng)就會(huì)直接跳過血常規(guī)數(shù)據(jù)的請(qǐng)求,來請(qǐng)求心電應(yīng)用系統(tǒng)的數(shù)據(jù)。換言之,也就是說我可以不用作血常規(guī)檢查直接進(jìn)行心電圖檢查,到最后體檢依然是成功的??赡芪ㄒ坏膯栴}就在于我拿到的體檢報(bào)告中,血常規(guī)這一項(xiàng)是沒有檢查結(jié)果的。不過假如體檢的同學(xué)不在乎,那這就不叫問題。

那其實(shí)剛剛所說的就叫異常降級(jí)策略。比如上述設(shè)計(jì)中,當(dāng)我們的系統(tǒng)調(diào)用外圍系統(tǒng)出現(xiàn)超時(shí)等報(bào)錯(cuò)情況下,可以讓我們的系統(tǒng)吃掉異常的情況繼續(xù)業(yè)務(wù),這就是一種異常降級(jí)策略。當(dāng)然了,一般來說是有3種不同程度的異常降級(jí)策略,但這些是需要視業(yè)務(wù)的重要性來決定究竟采取何種策略。

降級(jí)策略

現(xiàn)在我們以醫(yī)院的體檢系統(tǒng)產(chǎn)品為例來解釋一下上圖的含義。在1-4的體檢流程中,第一步非常重要,原因是在信息沒有注冊(cè)的情況下,這個(gè)體檢是沒有意義的,因?yàn)榈筋^來不知道在為“誰”做體檢。所以,由此可見“信息注冊(cè)”的業(yè)務(wù)重要性相對(duì)其他環(huán)節(jié)要高,因此如果一旦系統(tǒng)請(qǐng)求信息注冊(cè)的數(shù)據(jù)有問題,就默認(rèn)攔截不要業(yè)務(wù)下去了。那這里的高風(fēng)險(xiǎn)又是什么意思?因?yàn)橐坏r截就不能繼續(xù)業(yè)務(wù),比如信息無法注冊(cè)導(dǎo)致tmd我就不能體檢了,醫(yī)院的體檢就不能搞起了(至少是在此時(shí)此刻和未來的一段時(shí)間內(nèi)),所以對(duì)業(yè)務(wù)來說一定是高風(fēng)險(xiǎn)的。那像“打印體檢報(bào)告”這一環(huán)節(jié),業(yè)務(wù)上的重要性就低很多,因?yàn)榇藭r(shí)此刻我不能打印體檢報(bào)告,我照樣可以在手機(jī)或pc上查看到體檢報(bào)告的數(shù)據(jù),再不濟(jì)可以改日來醫(yī)院打印體檢報(bào)告。所以,如果體檢報(bào)告的打印出現(xiàn)了問題,可以采取直接放行跳過的降級(jí)策略,最終是能夠保證體檢成功的,那這里所帶來的業(yè)務(wù)風(fēng)險(xiǎn)就幾乎為0了。

不過,大家有沒有注意到無論采取何種異常降級(jí)策略,我們的系統(tǒng)每跑一次業(yè)務(wù)都是要去請(qǐng)求一次外圍系統(tǒng),來看看外圍系統(tǒng)是否down機(jī),如果down機(jī)就采取相應(yīng)的異常降級(jí)策略,其實(shí)這樣“每跑一次業(yè)務(wù)就去請(qǐng)求一次”的處理效率是很低的

因此也就有了主動(dòng)降級(jí)策略的概念,什么意思?就是我可以在后臺(tái)配置一個(gè)開關(guān)來主動(dòng)控制系統(tǒng)是否直接跳過向外圍系統(tǒng)請(qǐng)求的過程。假設(shè)我已經(jīng)監(jiān)測(cè)到“信息注冊(cè)”的系統(tǒng)down掉了,那我就可以直接推開關(guān)來命令體檢系統(tǒng)在接下來的一段時(shí)間內(nèi)不再去請(qǐng)求該外圍系統(tǒng),這樣就大大提升了業(yè)務(wù)進(jìn)行的效率,原因是我干掉了向down機(jī)系統(tǒng)進(jìn)行不必要的請(qǐng)求詢問的時(shí)間。

所以回到體檢這件事,如果我是設(shè)計(jì)者,就會(huì)采取相應(yīng)的異常降級(jí)策略和主動(dòng)降級(jí)策略。第1步信息注冊(cè)的異常降級(jí)策略是“默認(rèn)攔截”,第2步、第3步的血常規(guī)檢查和心電檢查的異常降級(jí)策略是“日常攔截,緊急放行”,而第4步體檢報(bào)告打印的異常降級(jí)策略就是“默認(rèn)放行”。另外,我還會(huì)在后臺(tái)做三個(gè)開關(guān)來對(duì)第2步、第3步、第4步實(shí)施主動(dòng)降級(jí)策略。

這樣的話,即便哪天業(yè)務(wù)君對(duì)饅頭哭訴機(jī)器突然掛掉的悲傷故事時(shí),饅頭我依然可以微笑地看著業(yè)務(wù)君并溫柔地對(duì)他說:“別怕,有我!你看,我給業(yè)務(wù)留了后路…

哦對(duì)了,

我所說的,都是錯(cuò)的。

 

作者:饅頭(微信公眾號(hào)PRODUCTER),阿里巴巴產(chǎn)品經(jīng)理

本文由 @饅頭 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理?,未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 產(chǎn)品經(jīng)理的核心能力就在于對(duì)異常問題的思考程度

    來自廣東 回復(fù)
  2. 根據(jù)業(yè)務(wù)流程梳理出關(guān)鍵業(yè)務(wù)路徑做為基礎(chǔ)得到最優(yōu)先保障跑通,再次基礎(chǔ)上再劃分其他業(yè)務(wù)優(yōu)先級(jí),逐層保障跑通,以保障能完成相應(yīng)的業(yè)務(wù)場景。

    來自北京 回復(fù)
  3. 一看就是技術(shù)出身的,而且懷疑是C/C++,因?yàn)閖ava之類系統(tǒng)自帶,C/C++之類才需要程序員自己去try catch throw

    來自廣東 回復(fù)