處理歷史數(shù)據(jù)腳本導(dǎo)致問題的反思

為了警醒自己好好開發(fā)程序,我去網(wǎng)上沖浪了Bug一番,看到各位同僚們飽經(jīng)Bug之苦糾纏,也看到“Bug 引發(fā)的 18 次重大事故”(http://blog.jobbole.com/104583/),我心稍寬是因?yàn)锽ug常有所以偶爾犯點(diǎn)大錯(cuò)誤在所難免,我心更緊是因?yàn)橐粋€(gè)稍微欠考慮到的點(diǎn)都有可能引發(fā)大的危機(jī),這不得不令我有更大的自覺性,自覺提醒自己,時(shí)刻保持頭腦清醒,時(shí)刻注意思考。
因?yàn)椋粋€(gè)由于自己粗心而導(dǎo)致的嚴(yán)重的bug,可能會(huì)招致你身后的領(lǐng)導(dǎo),同事甚至公司受到牽連。嚴(yán)重程度雖然因?yàn)樾袠I(yè)不同有所區(qū)分,但是其本質(zhì)上對你個(gè)人來說,都是一種身心傷害。

1、起因:工作流程系統(tǒng)bug(更新數(shù)據(jù)的時(shí)候,將所有執(zhí)行人、執(zhí)行步驟Tn一樣的步驟的任務(wù)結(jié)束時(shí)間etime都更新掉了)。

修復(fù)bug后,由于要做超時(shí)審批報(bào)表,所以需要修復(fù)一些歷史被更新重復(fù)了的數(shù)據(jù)。

可能的后果:

1、吃力不討好
你默默做出了很大努力,考慮到了各種后果,你自行決斷用最優(yōu)的方式解決客戶的困擾,可氣的是你的最優(yōu)方式竟然產(chǎn)生了一些問題。所有這一切,你的客戶可能并不知道??蛻糁幌嘈抛约嚎吹降臇|西,看到的東西有問題,那他對你的印象就是一團(tuán)糟,盡管你在背后可能付出了極大的努力。

2、容易出大問題
你以為的與客戶想的總會(huì)是有差別的??蛻裘枋龅氖?br> 3、成本太高

可參考的原始解決方案研討
一、讓客戶做決策者,將自己要擔(dān)的責(zé)任和風(fēng)險(xiǎn)降到最低

1、在客戶提出要修復(fù)Bug導(dǎo)致的數(shù)據(jù)錯(cuò)誤或者是其他因?yàn)榭蛻糇陨聿僮鲙淼膯栴}數(shù)據(jù)時(shí),我們首先要做的是盡可能地考慮可能存在的風(fēng)險(xiǎn),然后再考慮如何合理地規(guī)避風(fēng)險(xiǎn),最后將設(shè)計(jì)出的方案和每種方案可能帶來的后果跟客戶強(qiáng)調(diào)說明,讓客戶去權(quán)衡,讓客戶做這個(gè)決策者。
2、我們服務(wù)客戶,我們很會(huì)做事,但是很多時(shí)候很多事情,我們確實(shí)無能為力,在風(fēng)險(xiǎn)過大的時(shí)候,我們就是要學(xué)會(huì)試著規(guī)避風(fēng)險(xiǎn),即使是直接承認(rèn)我們做不到也比出更多問題數(shù)據(jù)的結(jié)果要好。
·Bug修復(fù)可能的方案:
(1)、將數(shù)據(jù)交給客戶,做出報(bào)表或者excel表格,讓客戶決定要增刪改哪些數(shù)據(jù),不要?jiǎng)幽男?shù)據(jù)。
(2)、將要修改的表數(shù)據(jù)進(jìn)行備份,并盡可能多地作詳細(xì)說明。切忌對系統(tǒng)流轉(zhuǎn)的數(shù)據(jù)直接進(jìn)行大批量的增刪改。把握很大時(shí)也要慎重,多思量,多與同行探討,多擦出問題的火花,即使確認(rèn)不會(huì)有什么意外風(fēng)險(xiǎn),那也要做一些必要的備份或者數(shù)據(jù)還原的準(zhǔn)備。

二、適時(shí)讓客戶看到成效,直接或間接地用話語或行為去展示自己所付出的努力
1、客戶是人,是人就有他的思想,有他的眼耳口鼻,可以觀六路,聽八方,有他的道德評判,會(huì)建立他心中的一桿秤,有他的情感因素,能夠產(chǎn)生同理心和與人的互動(dòng)。所以,以客戶的情感為依托,與客戶產(chǎn)生持續(xù)的互動(dòng),并利用客戶的視聽,將自己投入的成本和附加努力進(jìn)行價(jià)值暗示,能夠讓客戶深切感受到他等價(jià)交換過來的服務(wù)確實(shí)存在著更大的價(jià)值,能讓他的利益更大化,這樣才存在著可持續(xù)合作的可能。
這是我進(jìn)入公司進(jìn)行培訓(xùn)課程學(xué)習(xí)的時(shí)候,講師們講述過的道理。而我最近在進(jìn)行客戶提出的外用工流程模塊相關(guān)需求開發(fā)時(shí),才真正懂得這件事的重要性和其真正能帶來的高效率。幸而,現(xiàn)在知道并不晚。
·讓客戶最大程度滿意的可能方案:
(1)、將需求拆分,對需求進(jìn)行分層分階段開發(fā)實(shí)施。每一階段的成果完成后都要展示給客戶看,待客戶確認(rèn)方向正確時(shí),才往下開發(fā)。當(dāng)然,這對我們整體把控業(yè)務(wù)的能力和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)能力是有比較大的考驗(yàn)的,因?yàn)槲覀儾粌H要考慮到上下階段的數(shù)據(jù)流轉(zhuǎn),也要考慮到各個(gè)階段之間的數(shù)據(jù)交互形式,所以必要時(shí)我們可能需要對數(shù)據(jù)表結(jié)構(gòu)進(jìn)行多次的整改,或者對一些程序關(guān)卡進(jìn)行虛擬橋接。
(2)、跟客戶闡述自己的思考結(jié)果,讓客戶選擇。對于客戶提出的需求或者問題,我們并不是立馬進(jìn)行開發(fā)或者解決,而是需要先對結(jié)果進(jìn)行預(yù)測分析,分析出的可能的惡劣結(jié)果需要讓客戶了解,要讓客戶感覺到:哇!幸好有這么貼心的供應(yīng)商,幫我想了這么多,要不就慘掉了。

總結(jié)犯此次錯(cuò)誤時(shí)的自身問題:

1、思維限制

質(zhì)疑:

我承認(rèn)我直接將這種不斷流轉(zhuǎn)的系統(tǒng)里的表中要修改的數(shù)據(jù)做個(gè)簡單的備份是不那么明智的作為,但是,作為一個(gè)系統(tǒng)表,如果它這個(gè)表的數(shù)據(jù)都不正確,那它作為這個(gè)系統(tǒng)的系統(tǒng)表的意義又在哪呢?

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

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

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