“預(yù)防勝于救火”,道理都懂,但是當(dāng)面臨成本、時(shí)間等壓力時(shí),最易被放棄的就是質(zhì)量,在HW做過很多次這樣的事情,雖然每次壓力山大,但是收獲頗多。

  分享的第一個(gè)案例是我們的產(chǎn)品在08年由于中標(biāo)了印度某運(yùn)營商, 中標(biāo)以后,這個(gè)項(xiàng)目就由印度的同事交付以及維護(hù),這個(gè)項(xiàng)目每個(gè)月能夠給運(yùn)營商帶來幾百萬美刀的收入,加上項(xiàng)目是合營的,利潤還是不錯(cuò)的。由于印度同事對產(chǎn)品的理解不夠深入,以及產(chǎn)品本身代碼質(zhì)量并不高,所以在08年年底交付以后,網(wǎng)上問題一直不斷,但是因?yàn)槔麧欉€不錯(cuò),由于印度人自己和自己人打交道,所以質(zhì)量問題一直沒有成為Top 1的問題。

  但是09年的時(shí)候這個(gè)項(xiàng)目的甲方的高層領(lǐng)層換了人,換個(gè)領(lǐng)導(dǎo)以后就會(huì)把這個(gè)事情擺上臺面,甚至提出這些質(zhì)量問題如果不解決的話,后續(xù)的合同不續(xù)簽。

  印度的同事因?yàn)閷Ξa(chǎn)品接觸的時(shí)間才一年多,我雖然接觸也才2年,但是因?yàn)槲以趪鴥?nèi)接觸的資料會(huì)比他們多一些,加上我在當(dāng)時(shí)的團(tuán)隊(duì)里技能稍微好一些,于是領(lǐng)導(dǎo)就把這個(gè)“偽專家”給拋出去了。萬事開頭難,和印度的同事除了語言他們那非常重的口語我經(jīng)常聽不懂以外,還有他們做了近2年的定制開發(fā),很多功能已經(jīng)和最早的產(chǎn)品已經(jīng)不一樣了,怎樣在短期內(nèi)快速的解決明顯的問題,我心里真是沒有底,不知道自己能不能完成這個(gè)任務(wù)。

  接到任務(wù)以后,和他們郵件、電話做了充分溝通以后,了解到他們最突出的問題:網(wǎng)上運(yùn)行不穩(wěn)定,以至于他們每天晚上安排一個(gè)兄弟把集群里每個(gè)機(jī)器挨個(gè)重啟一遍,這樣大部分情況下能夠確保能跑一天,但是每天這么重啟也不是辦法。在和他們商量以后,計(jì)劃分2步走:

  1、止血: 先確保不用每天手工的重啟

  2、在實(shí)驗(yàn)室環(huán)境搭建同樣的環(huán)境,將主要流程在實(shí)驗(yàn)室進(jìn)行壓測,重現(xiàn)問題。

  第一針止血,他們的要求很簡單,就是不要每天半夜起來人工重啟。這個(gè)要求簡單,用perl寫了一個(gè)watchdog的腳本,這個(gè)腳本原理很簡單,但是發(fā)揮了很重要的作用。因?yàn)樗粌H能夠發(fā)現(xiàn)服務(wù)掛