企業(yè)中,產(chǎn)品研發(fā)是一項(xiàng)綜合性的工作,需要多個部門參與。但往往會出現(xiàn)各種各樣的問題,如部門協(xié)作困難、全局監(jiān)控難等,這困擾著大多數(shù)的企業(yè)。
本文是一個真實(shí)的案例:
菲利普(主 席):我們工廠中有10%的員工沒有充分利用,要么我們開始處理更多的積壓工作,要么進(jìn)行裁員。我寧愿每個人都很忙。我們該如何做?
李(業(yè)務(wù)部經(jīng)理):公司政策規(guī)定,我們要處理3個月內(nèi)的積壓工作,如果改成4個月,我們將有大量的工作。
菲利普:好。現(xiàn)在,我們該如何實(shí)現(xiàn)?
李:我不是很確定。我認(rèn)為,我們需要更改傳統(tǒng)的軟件設(shè)置。
大衛(wèi)(IT總監(jiān)):沒問題。可能只需要更改核心程序中的一行代碼。(填寫一個清單,提交給IT部門)。
朱迪(IT管理員):我正分派這個單號為#129281的需求。但是這需要目前的商務(wù)項(xiàng)目做完,并由主任簽字。
大衛(wèi):這是菲利普交代的,我們不立刻做的話,就必須裁員。
朱迪:OK,我會馬上填寫,并標(biāo)記為緊急任務(wù)。
2 天后
大衛(wèi):#129281目前狀態(tài)是什么?
朱迪:它是開發(fā)人員任務(wù)隊(duì)列中的緊急任務(wù),前面還有14個緊急的Bug報告需要處理。
大衛(wèi):忘記任務(wù)隊(duì)列。將它標(biāo)記為緊急,立即發(fā)給艾德(程序員)。
1 小時后
艾德(程序員):在模塊ORP572的第1252行中,我將寫死的變量MonthsOfBacklog(積壓月份)值從“3”改成了“4”。然后,運(yùn)行了2批測試用例,成功進(jìn)行單元測試。業(yè)務(wù)工作量增加了10%,這是預(yù)期數(shù)據(jù)。我正準(zhǔn)備提交代碼審查,并交給Homer進(jìn)行用戶驗(yàn)收測試。
雪莉(代碼審查):這違反了公司的政策,你必須在參數(shù)文件中做個記錄。此外,還有2個舊的調(diào)試命令,1個無指定的變量警告消息和1個寫死的Employee ID,必須在這個模塊移交到產(chǎn)品之前進(jìn)行修復(fù)。
艾德:!~@#$%^&*(臟話)。
雪莉:這些bug很可能是真的。一旦你被指派ORP572模塊,你就需要對已經(jīng)存在的、違反新公司政策的錯誤進(jìn)行修復(fù)。我不能提交。
2 小時后
艾德:OK,完成。我正要重新提交代碼審查。
朱莉(IT測試):Homer不能進(jìn)行用戶驗(yàn)收測試,因?yàn)镕red正在運(yùn)行一個本月底財(cái)務(wù)要用的約束測試。使用Marge代替。
艾德:我沒有訪問Marge的權(quán)限。
朱莉:聯(lián)系IT安全部門的喬,他會給你開權(quán)限的。
2 小時后
喬(IT安全):沒有大衛(wèi)的簽名,我不能給你開Marge權(quán)限。他出差了,得等到周一。
艾德:我不這么認(rèn)為。菲利普希望馬上實(shí)施,讓他來授予權(quán)限。
雪莉:你的新的參數(shù)記錄“MonthsOfDemand”需要起一個更好的名字。離岸程序員(位于其他國家的開發(fā)部門)不明白這意味著什么。此外,它應(yīng)該有一個變化核查軌跡。
艾德:命名有什么規(guī)定?
雪莉:忘了寫在什么地方了。離岸團(tuán)隊(duì)是3月中下旬更新的wiki,能肯定的是,所有新的參數(shù)記錄必須滿足新的命名要求,并保持核查軌跡。
1 天后
艾德:我將參數(shù)記錄中的“MonthsOfDemand”重命名為“SelectedMonthsOfBacklogDemand”,并添加模塊PAR634以保持紀(jì)錄和核查軌跡。我已經(jīng)提交到代碼審查。
托尼(IT測試):我看到Marge中有#129281任務(wù),但我沒有收到測試計(jì)劃。
艾德:按照老方式運(yùn)行就行,注意WorkOrdersHours報告中總量的增加。
托尼:這就是你的測試計(jì)劃?這會影響到企業(yè)的其他方面,我必須有用戶選擇的測試用例、預(yù)期結(jié)果、測試運(yùn)行記錄以及用戶簽收。
2 天后
菲利普:大衛(wèi),告訴托尼將艾德的程序立即提交到產(chǎn)品部門。
大衛(wèi):是的,先生。
本次任務(wù)總結(jié):
總時間:6天
關(guān)鍵任務(wù)代碼更改行數(shù):1行
關(guān)鍵任務(wù)代碼更改字節(jié)數(shù):1字節(jié)
原文:It Takes 6 Days to Change 1 Line of Code