【編者按】
IT行業(yè)直到現(xiàn)在,如何管理好軟件項(xiàng)目還一直是大家討論的話題,這是因?yàn)檐浖?xiàng)目失敗的太多。就中國目前很多軟件開發(fā)團(tuán)隊(duì)的實(shí)際情況來看,從某種程度上來說,錯誤的使用和依賴兩個軟件來管理項(xiàng)目是項(xiàng)目失敗的一個重要理由。
【正文】
IT行業(yè)自上個世紀(jì)70年代蓬勃發(fā)展,直到現(xiàn)在,如何管理好軟件項(xiàng)目還一直是大家討論的話題。這是因?yàn)檐浖?xiàng)目失敗的太多,比如項(xiàng)目徹底被取消、項(xiàng)目的工期拖延等等。
就中國目前很多軟件開發(fā)團(tuán)隊(duì)的實(shí)際情況來看,從某種程度上來說,錯誤的使用和依賴兩個軟件來管理項(xiàng)目是項(xiàng)目失敗的一個重要理由。這兩個軟件就是Microsoft Project和Microsoft Word。 就像釘釘子,總是用一把斧子。
工程項(xiàng)目 vs. 軟件項(xiàng)目
Microsoft Project本身是一個不錯的項(xiàng)目管理工具,能夠做任務(wù)分配,Petri-NET, Gannt圖,資源使用分析等等。但是,Project是用來管理工程項(xiàng)目的,如造房子,修大橋等等。這些工程類的項(xiàng)目一般使用以任務(wù)驅(qū)動的管理方法。而軟件項(xiàng)目和傳統(tǒng)的工程項(xiàng)目有本質(zhì)的差別,那就是任務(wù)的不確定性。舉個例子,目前房地產(chǎn)很火,造什么樣的房子,只要資金到位,都能保質(zhì)保量的造好。造10層樓,1層用多少人天,每天做什么,很容易計劃,分配任務(wù),人力資源。而且需求是不會變的。沒見過造房子,蓋了3層之后改主意了,拆了重新蓋。
而軟件就大大不同了,需求的變化是不可避免的,而且凡是做過項(xiàng)目的人都知道,需求的變化實(shí)際上還挺頻繁。這樣一來,很容易造成計劃趕不上變化,用Project定義任務(wù),計劃工期通常要耗費(fèi)項(xiàng)目經(jīng)理大量的時間,而且沒有意義。
有人問,為什么需求不能固定下來呢?定下來就不許變。通常工程師會問這樣的問題。如果他變成了客戶,他可能就不會問這個問題了。需求總是會變的。第一:出錢的總是有更多的話語權(quán)(當(dāng)然改需求是要應(yīng)該付費(fèi)的);第二:市場的情況在變,比如競爭對手突然發(fā)布了一個新的產(chǎn)品功能, 那我們也必須做出應(yīng)對,這就要變更需求;第三:寫需求的不是神仙,人都或犯錯誤的,犯錯誤允許改正(但犯錯誤要有懲罰,就是需求變更是要付費(fèi)的)。 因此傳統(tǒng)的純瀑布式的開發(fā)方式已經(jīng)成為歷史了,愈來愈多的開發(fā)團(tuán)隊(duì)采用極限編程,迭代的開發(fā),來應(yīng)付需求的變更。
那么軟件項(xiàng)目的這種特點(diǎn),需要與之相應(yīng)的項(xiàng)目管理工具。用斧子釘釘子的做法就有點(diǎn)不合時宜了。
和傳統(tǒng)項(xiàng)目還有一個很大的不同,當(dāng)工程項(xiàng)目拖后了工期,可以多加人手,把工期趕回來。而軟件就不這么簡單了,新來的人要熟悉項(xiàng)目的內(nèi)容就要花時間,工期很難完全趕上。很多IT的老總們體會不到這個問題,總以為多加人手,加班就能搞定。真正的有效的項(xiàng)目管理是要靠一個有效的管理體系來支撐的。
需求的描述
軟件項(xiàng)目有很多不同類型。目前我們所說的軟件項(xiàng)目,多數(shù)指的是應(yīng)用類(Application)的軟件項(xiàng)目,而不是系統(tǒng)類(System)的項(xiàng)目,如數(shù)據(jù)庫,文件系統(tǒng),開發(fā)工具。系統(tǒng)類的軟件項(xiàng)目和應(yīng)用類的項(xiàng)目有很大的不同。系統(tǒng)類的項(xiàng)目花很長時間研究體系架構(gòu)(Architecture),設(shè)計系統(tǒng)的框架,模塊之間的關(guān)系等等。而應(yīng)用類的軟件基本上會用現(xiàn)成的框架,如J2EE, 或Microsoft的平臺等等,主要精力放在需求的實(shí)現(xiàn)上。中國目前的應(yīng)用系統(tǒng)多數(shù)是為客戶做定制開發(fā)的項(xiàng)目,比如各大企業(yè)、政府、機(jī)構(gòu)、國防等做的系統(tǒng),也有一些做產(chǎn)品的,如中小企業(yè)的財務(wù)系統(tǒng),通用辦公軟件等等。 針對應(yīng)用類的項(xiàng)目,我們看看使用Word寫這類的需求有什么問題,為什么有問題。
一般用Word來寫需要,隱