p; (5)并未預(yù)見到開發(fā)人員會發(fā)生問題,如生病,辭職等等。
(6)開發(fā)人員之間不能很好的交流、協(xié)作,導(dǎo)致各階段任務(wù)難以如期完成。
所以寫進程表不能象小學生寫決心書那樣充滿幻想。以下是一些有益的建議:
(1)制定進度表的人最好就是項目負責人,他最了解項目和開發(fā)人員。進度表要經(jīng)過開發(fā)小組的討論,在得到大部數(shù)人的支持后才能實施。避免出現(xiàn)一廂情愿的局面。
(2)進度安排并不見得一定要符合邏輯順序。應(yīng)盡可能地先做技術(shù)難度高的事,后做難度低的事。也就是辛苦在前,輕松在后。
小時候我對一位老先生吃飯很感興趣:他總是先把一大盒的米飯吃光了,然后再幸福地品嘗一小盒菜。父母告訴我這是中國的傳統(tǒng)美德,叫“先苦后甜”。從此我銘記在心,按此道理去學習和工作。可如今在飯店里,人們總是先把菜吃完了,最后才吃點米飯。天哪,生活真是太復(fù)雜了,我究竟該“先吃飯” 還是“先吃菜”?
(3)開發(fā)一個大的軟件項目,應(yīng)該將進度表分為若干個里程碑。一個里程碑之內(nèi)的多個任務(wù)可以同步進行。程序員極容易沉迷于技術(shù),要么樂不思蜀,要么焦頭爛額。里程碑就象心靈的燈塔,使忙碌的人群不混亂,不迷失方向。
(4)進度表中必須留有緩沖時間,并將緩沖時間用到不確定的事情上。因為人們對即將要做的事情知之甚少,所以要留一些時間以防不測。Microsoft公司的一些開發(fā)小組甚至制定了“50% 緩沖規(guī)則”[Cusumano 1996]。對許多項目經(jīng)理而言,容忍進度表中存在緩沖時間,不啻為觀念上的一個飛躍。
(5)如果發(fā)現(xiàn)項目應(yīng)交付的期限非常不合理,就要跟領(lǐng)導(dǎo)或跟客戶據(jù)理力爭,請求放寬期限、調(diào)整進度。當客戶的需求發(fā)生變化時,就要對進度表作出相應(yīng)的修正。不要覺得修改進度表很困難很麻煩,不修改才會產(chǎn)生真真的麻煩。很多人認為戒煙很困難,但馬克·吐溫曾說:“戒煙很容易,我一年就戒幾十次。”
零缺陷質(zhì)量管理的觀念
“零缺陷”質(zhì)量管理的觀念來源于一些國際上著名的硬件生產(chǎn)廠商。盡管軟件的開發(fā)與硬件生產(chǎn)有極大的差別,但我們?nèi)钥梢詮摹傲闳毕荨辟|(zhì)量管理中得到啟迪。“零缺陷”質(zhì)量管理至少有兩個核心內(nèi)容:一是高目標,二是可執(zhí)行的規(guī)范。
高目標
人在做一件事情時,由于存在很多不確定的因素,一般不可能100% 地達到目標。假設(shè)平常人做事能完成目標的80%。如果某個人的目標是100分,那么他最終成績可達80分。如果某個人的目標只是60分,那么他最終成績只有48分。我們在考場上身經(jīng)百戰(zhàn),很清楚那些只想混及格的學生通常都不會及格,那些想得高分的學生也常為自己的失誤而捶胸頓足。
做一個項目通常需要多個人的協(xié)作。假設(shè)項目的總質(zhì)量(最高為1)是十個開發(fā)人員的工作質(zhì)量之積。如果每個人的質(zhì)量目標是0.95,那么十個人的累積質(zhì)量不會超過0.19。如果每個人的質(zhì)量目標是0.9分,那么十個人的累積質(zhì)量不會超過0.03。只有每個人都做到1,項目總質(zhì)量才會是1。
如果沒有高目標,人的墮落就很快。如果沒有“零缺陷”的質(zhì)量目標,也許缺陷就會成堆。
可執(zhí)行的規(guī)范
實現(xiàn)100分顯然比實現(xiàn)80分要付出更多的努力?!傲闳毕荨辟|(zhì)量目標不是隨心所欲提出來的,做得到才有意義。實現(xiàn)高目標需要一套可執(zhí)行的規(guī)范來保證。
50年代末,全國掀起了“浮夸風”。為了實現(xiàn)畝產(chǎn)數(shù)萬斤推廣各種方法,害得全國鬧饑荒。想不到有數(shù)千年種糧經(jīng)驗的幾億中國農(nóng)民就這么整齊地栽倒了。
好規(guī)范必須是本企業(yè)有能力執(zhí)行的。一個普通企業(yè)照搬一流企業(yè)的規(guī)范未必行得通。軟件工程的規(guī)范很容易從書籍中找到,但有了這些規(guī)范并不表明就能把軟件做好。國內(nèi)很多軟件公司根本沒有條件去執(zhí)行業(yè)界推薦的軟件工程規(guī)范。社會主義初級