軟件開發(fā)的殘酷的現(xiàn)實(shí)告訴我們:沒有規(guī)則的軟件開發(fā)過程帶來的只可能是無法預(yù)料的結(jié)果。我們中的大多數(shù)項(xiàng)目管理人員在其個(gè)人簡歷中紛紛寫到:“擁有多年的豐富的項(xiàng)目管理經(jīng)驗(yàn)”,但在實(shí)際開發(fā)中,“豐富的”管理經(jīng)驗(yàn)變成了軟件開發(fā)人員可怕的夢(mèng)魘。一次次的失敗、一次次的返工,她所謂的項(xiàng)目管理經(jīng)驗(yàn)只不過是再一次的游戲于“無間”(十八層地獄)。
一次,在與不少項(xiàng)目管理者的交流中,大家紛紛提到的軟件變更帶來的可怕影響。但是正如完整的法律體制不能制止犯罪,但沒有完整的法律體制犯罪會(huì)更加猖獗一樣,頻繁的軟件變更固然可怕,但是沒有一個(gè)完整的項(xiàng)目管理對(duì)應(yīng)機(jī)制,我們無法相像項(xiàng)目最終會(huì)是一個(gè)什么樣子。此外還有一次,筆者在求職時(shí),招聘公司的技術(shù)主管(40-50歲左右),向我吹噓公司按CMM4的過程規(guī)則來進(jìn)行軟件的開發(fā)和管理。殊不知,我一問下面開發(fā)人員,她們?cè)诮?jīng)歷無數(shù)的加班后正在給已經(jīng)完成的軟件項(xiàng)目添加軟件概要設(shè)計(jì)書,這讓我大吃一驚。如此這樣形式主義的公司,不呆也罷。
記得一個(gè)格言曾經(jīng)說過“人類最愚蠢的行為在于忘記常識(shí)”。另外一句較為相仿的格言則是“不知道歷史的人必然會(huì)重蹈覆轍”。作為項(xiàng)目管理來說亦為同樣的道理。很可惜,我們中的大多數(shù)管理者口口聲聲“軟件工程”,工作時(shí)“用程序代替用戶需求”,極具政客的嘴臉。其結(jié)果必然如目前媒體“程序員生存狀況”所言,以開發(fā)人員在時(shí)間的犧牲為代價(jià)來換取項(xiàng)目的結(jié)束,這是再為普遍不過的現(xiàn)象,在此不再妄加評(píng)論。
如何改善我們的軟件開發(fā)管理,一條便捷之道便是“尊重常識(shí),尊重歷史經(jīng)驗(yàn)教訓(xùn)”。在軟件項(xiàng)目管理中,有許多的原則和經(jīng)驗(yàn)可以供我們借鑒。
計(jì)劃原則
沒有計(jì)劃,你無從知道什么時(shí)候控制和變更。制定一個(gè)詳盡的計(jì)劃,以詳細(xì)到開發(fā)人員可以理解的程度為宜。計(jì)劃能夠告訴你什么時(shí)候應(yīng)該做什么。沒有計(jì)劃,你無從知道自己需要做什么。不少項(xiàng)目經(jīng)理告訴組員需要做什么東西后揚(yáng)長而去,絲毫沒有一個(gè)相關(guān)任務(wù)(活動(dòng))之間的說明。由于沒有計(jì)劃或是計(jì)劃太粗糙、不切實(shí)際,很多項(xiàng)目1/3甚至1/2的時(shí)間花在返工上面。因?yàn)橛?jì)劃中遺漏了某一項(xiàng)關(guān)鍵任務(wù),項(xiàng)目就有可能宣告失敗。試想一下,制定一個(gè)周密合理的計(jì)劃需要耗費(fèi)這么多的時(shí)間嗎?需要付出項(xiàng)目失敗的代價(jià)嗎?還有很多項(xiàng)目管理人員常常錯(cuò)誤認(rèn)為“變化比計(jì)劃快”,但實(shí)際的情況是,由于沒有計(jì)劃,你無法預(yù)測(cè)和估量變化給你的項(xiàng)目所帶來影響,你所面臨的將會(huì)是比面條還難以理清的“混沌”狀態(tài)。此外,對(duì)于開發(fā)人員來說,“目標(biāo)導(dǎo)向(Objective Oriented)”是充分調(diào)動(dòng)其工作積極性的最佳方法,每一個(gè)任務(wù)階段的成果能夠?qū)T工的工作效率維持在一個(gè)較高的水平。因?yàn)榻谀繕?biāo)總是比遠(yuǎn)期目標(biāo)來說更容易看到和達(dá)到。為此,制定一個(gè)計(jì)劃吧,讓它符合目標(biāo)導(dǎo)向(通過各個(gè)具體任務(wù)計(jì)劃促使項(xiàng)目總計(jì)劃的達(dá)成)。
Brooks原則
向一個(gè)已經(jīng)滯后的項(xiàng)目添加人員,可能會(huì)使項(xiàng)目更加滯后。因?yàn)樽鳛樾录尤氲膯T工來說,相關(guān)培訓(xùn)、環(huán)境熟悉和人員之間的溝通通路的增加,迫使項(xiàng)目的工作效率急劇下跌。工作效率下降需要加班來進(jìn)行彌補(bǔ),但加班造成的疲勞會(huì)再次使工作效率降低。同時(shí)工作成本卻不斷的向上攀升。不過就目前來說,項(xiàng)目管理人員絲毫不會(huì)理會(huì)這一點(diǎn),“人多力量大”也許更能引人入勝。不少項(xiàng)目管理人員抱怨到時(shí)間的急迫性,須知很多項(xiàng)目內(nèi)時(shí)間的急迫性來自于項(xiàng)目管理人員不假思索和不基于常理的邀功表現(xiàn),沒有充分考慮的開發(fā)人員能力的多樣性所致。為此,正規(guī)的企業(yè)不得不耗費(fèi)大量的加班費(fèi)用于加班人員的津貼,同時(shí)亦要承擔(dān)違反《勞動(dòng)法》的潛在法律危險(xiǎn)?,F(xiàn)在一種萬不得已的做法是,假設(shè)項(xiàng)目開發(fā)人員之間的任務(wù)的關(guān)聯(lián)性不是太大的情