一地雞毛??軟件項(xiàng)目中的人際困局
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2011/11/30 9:36:54 ] 推薦標(biāo)簽:
版本
有,經(jīng)理通知大家:咱們要開始做新版本4.1了。其后,像往常一樣,我們陸續(xù)接到一批批需求文檔,開始預(yù)估工作量。然而這一次,事情一開始有些不同:這些需求文檔寫得異;靵y,常常不知所云。我們?nèi)绾文軌蚋鶕?jù)一份看不懂的需求文檔來(lái)預(yù)估工作量呢?我們隨后聯(lián)系法國(guó)的系統(tǒng)架構(gòu)師(他們處境安全,跟我們合作融洽)要求澄清,他們也很不好意思,有時(shí)還確實(shí)能夠做出澄清,但大多數(shù)時(shí)候要么含含糊糊地來(lái)一句“我們也在研究”,要么說(shuō)“根據(jù)我的經(jīng)驗(yàn),這條需求應(yīng)該與你們模塊關(guān)系不大”云云。大家這么半猜半蒙,在磕磕絆絆中前行,心中滿是不詳?shù)念A(yù)感。
4.1版本很倉(cāng)促地做出來(lái)了。又有,經(jīng)理通知大家:4.1版本過(guò)于保守,連公司自己都覺(jué)得銷路不會(huì)好,決定立刻開始4.2版本計(jì)劃。于是一切都重新來(lái)過(guò),而這一次,情況更糟:大多數(shù)需求文檔都是匆匆寫,語(yǔ)焉不詳。一些需求文檔只有一個(gè)標(biāo)題,正文人家根本沒(méi)來(lái)得及寫,而經(jīng)理要求我們根據(jù)這樣的需求文檔來(lái)預(yù)估工作量。如果你認(rèn)為這樣很夸張的話,那我只能批評(píng)你想象力有限?個(gè)別文檔只有一個(gè)編號(hào),收納到某一領(lǐng)域的寫作計(jì)劃之中,連標(biāo)題都沒(méi)有,而我們?nèi)匀灰獡?jù)此預(yù)估工作量!這樣,日復(fù)一日,我上報(bào)一些連我自己也不相信的數(shù)字給經(jīng)理,而他則努力裝出相信的樣子。
軟件工程應(yīng)該怎樣做?我本來(lái)以為CMM、TL 9000等是王道,經(jīng)歷這一風(fēng)波我才深切地體會(huì)到,再好的流程與制度也經(jīng)不住扯淡啊。人和重要。
4.2版本更倉(cāng)促地做出來(lái)了。又又有,經(jīng)理通知大家:4.2版本過(guò)于激進(jìn),工期又短,從設(shè)計(jì)到實(shí)現(xiàn)毛病多多,公司也不看好,決定立刻開始5.0版本計(jì)劃。這一次倒是沒(méi)有太荒唐的事情發(fā)生。5.0版本實(shí)際上沒(méi)有什么全新的特性,而是將4.1、4.2這兩個(gè)版本的特性做一折中,從這個(gè)意義上講,叫它4.1.5版本更合適,當(dāng)然這個(gè)話不能對(duì)客戶說(shuō)。這樣,幾個(gè)月以來(lái)第一次,大家終于能夠做點(diǎn)兒靠譜的事情。然后,出事了。
風(fēng)起
第一波的事故,我是直接責(zé)任人之一:因?yàn)槲业氖д`,我負(fù)責(zé)的FM模塊沒(méi)有通過(guò)編譯。
我還記得前幾個(gè)版本交付時(shí)和H一起工作的情景。她會(huì)敦促我們盡量提前完成開發(fā)和測(cè)試工作,提交代碼,打上標(biāo)簽,撰寫交付文檔。她會(huì)親自檢查我們的交付文檔,連一個(gè)細(xì)節(jié)也不放過(guò)。比如有一次,她發(fā)現(xiàn)我無(wú)意中開啟了Microsoft Word的中文自動(dòng)糾錯(cuò)功能,把“…”(在版本配置中具有特殊含義)自動(dòng)替換成了半個(gè)中文省略號(hào)“…”,讓我臉上無(wú)光。大大小小的問(wèn)題被她連續(xù)抓住幾次之后,我開始小心謹(jǐn)慎,此后幾個(gè)版本都順利過(guò)關(guān)。印象深的還是編譯時(shí)的一次次待命。由于時(shí)差的關(guān)系,法國(guó)同事依據(jù)標(biāo)簽提出代碼開始編譯的時(shí)間是在北京的晚上,每一次,H都會(huì)帶領(lǐng)我們幾個(gè)少數(shù)技術(shù)骨干在辦公室待到夜里,直到我們團(tuán)隊(duì)負(fù)責(zé)的所有模塊都成功編譯之后才離開。這可真是一件苦差事,而且在我當(dāng)時(shí)看來(lái)毫無(wú)必要?我們的模塊從來(lái)都是一次編譯成功,錯(cuò)誤(如果有的話)從來(lái)都屬于其他團(tuán)隊(duì)。有一次,法國(guó)同事連續(xù)犯錯(cuò),導(dǎo)致編譯遲遲不能開始。當(dāng)時(shí)我還保留著自校園帶出來(lái)的早睡的習(xí)慣,時(shí)間一長(zhǎng),上下眼皮開始打架。H跑到我的座位,談人生,談理想,談八卦,反正是不讓我睡著。一直堅(jiān)持到凌晨?jī)牲c(diǎn),編譯開始之后照例一次成功,H才領(lǐng)著饑腸轆轆的我們離開辦公室,請(qǐng)我們到樓下的小店吃宵夜。喝著溫暖的豆?jié){,我在心中嘀咕:“真是事兒媽啊。”
這一次,“事兒媽”不在了,新任經(jīng)理給予我們“完全的信任”,從頭至尾都放開手?這同一件事情我們都連續(xù)做了好幾遍了,還能出什么錯(cuò)呢?
還真出事了。前幾次,我們至少能夠提前一周左右的時(shí)間完成全部工作,這搶下的一周時(shí)間足夠我們反復(fù)測(cè)試、排查問(wèn)題,并為應(yīng)對(duì)突發(fā)事件留下時(shí)間?盡管突發(fā)事件從未發(fā)生。而這一次,大家經(jīng)過(guò)連續(xù)幾次折騰之后疲憊不堪,工作效率低下,更何況這次的工期本來(lái)偏緊,還被前面幾個(gè)環(huán)節(jié)擠占不少。我們FM小組勉強(qiáng)提前幾天完成工作,CM小組卻陷入苦戰(zhàn),加班加點(diǎn),緊趕慢趕才在后完成。FM模塊依賴于CM模塊,這樣一來(lái),我們也受到連累,不得不換上CM小組新的標(biāo)簽,重新測(cè)試FM模塊、打標(biāo)簽、修改交付文檔。等到我餓著肚子敲完后一個(gè)字符,又仔仔細(xì)細(xì)檢查了幾遍,已是周五晚上7~8點(diǎn)鐘的光景。我長(zhǎng)吁一口氣,站起身來(lái),搖搖晃晃地離開了辦公室。
等到我周一早晨回到辦公室,這才發(fā)現(xiàn)自己犯下低級(jí)錯(cuò)誤:我忘記將修改后的交付文檔保存在指定目錄了!這樣一來(lái),法國(guó)同事?lián)跃幾g的乃是先前保存的老版本的交付文檔,F(xiàn)M模塊編譯失!我趕緊寄出道歉信,連同新的交付文檔。然而,晚上的編譯仍然沒(méi)有成功。根據(jù)法國(guó)同事提供的編譯錯(cuò)誤日志,我很快發(fā)現(xiàn)問(wèn)題:FM模塊與其他依賴模塊之間使用了不一致的標(biāo)簽。說(shuō)起來(lái)還是怪我們兩邊當(dāng)時(shí)掉以輕心,只是口頭約定了一下,也不知怎么聽岔了,關(guān)鍵時(shí)刻害人。又是一番折騰,F(xiàn)M模塊在第三次編譯中順利通過(guò),我心中一塊石頭才算是落了地。
相關(guān)推薦

最新發(fā)布
性能測(cè)試之測(cè)試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測(cè)試是從什么時(shí)候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動(dòng)化測(cè)試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項(xiàng)目適合做自動(dòng)化?自動(dòng)化測(cè)試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測(cè)試工具測(cè)評(píng)
2020/7/17 8:52:11RPA機(jī)器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測(cè)試基本概念是怎么來(lái)的?軟件測(cè)試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10