項(xiàng)目計(jì)劃技巧對(duì)于現(xiàn)今的軟件開(kāi)發(fā)人員來(lái)說(shuō)是必需的。這里有一些幫助您有效地計(jì)劃下一個(gè)項(xiàng)目的建議。
認(rèn)識(shí)到信心來(lái)自規(guī)劃的過(guò)程,而不是計(jì)劃本身。
創(chuàng)建項(xiàng)目計(jì)劃會(huì)迫使您早在編寫(xiě)代碼之前就考慮如何構(gòu)建您的系統(tǒng)——減少項(xiàng)目的風(fēng)險(xiǎn),因?yàn)槟呀?jīng)考慮了各種策略和方法并且已經(jīng)選擇了最有意義的一項(xiàng)。您的目的不應(yīng)該只是不花氣力產(chǎn)生一個(gè)計(jì)劃;它應(yīng)該是一個(gè)實(shí)際可行的計(jì)劃,您可以根據(jù)它來(lái)成功管理您的項(xiàng)目。
軟件過(guò)程推動(dòng)計(jì)劃的開(kāi)發(fā)
每個(gè)軟件過(guò)程都有一個(gè)不同的集合,它包括組織團(tuán)隊(duì)的活動(dòng)方法以及規(guī)劃項(xiàng)目常用的技術(shù)。由于這個(gè)原因,基于 Rational Unified Process (RUP)的項(xiàng)目規(guī)劃不同于OOSP項(xiàng)目的規(guī)劃,而OOSP項(xiàng)目的規(guī)劃也不同于eXtreme Programming (XP) 項(xiàng)目的規(guī)劃。不同的過(guò)程有不同的計(jì)劃。
從粗粒度的計(jì)劃開(kāi)始
在項(xiàng)目將要開(kāi)始時(shí),應(yīng)該制定一個(gè)粗粒度的、確定項(xiàng)目高級(jí)活動(dòng)和預(yù)期里程碑的計(jì)劃。粗粒度的計(jì)劃將組織成迭代——根據(jù)項(xiàng)目的大小和性質(zhì),每次迭代通常在三周到八周之間發(fā)生(四周到六周為更佳)。其中一些迭代將集中在項(xiàng)目初期,而很多迭代將集中在整個(gè)應(yīng)用的功能部分開(kāi)發(fā),還有一些迭代集中在將您的系統(tǒng)轉(zhuǎn)變成產(chǎn)品。
實(shí)施者應(yīng)該是計(jì)劃人員
創(chuàng)建項(xiàng)目計(jì)劃的最佳人員是負(fù)責(zé)實(shí)施該計(jì)劃的人員。當(dāng)規(guī)劃由一個(gè)人創(chuàng)建而由另一個(gè)人實(shí)施時(shí),如果項(xiàng)目不能按時(shí)完成或超出預(yù)算,他們不太會(huì)相信計(jì)劃,而很有可能會(huì)責(zé)備它。也就是說(shuō),參與項(xiàng)目的每個(gè)人都應(yīng)該投入到項(xiàng)目計(jì)劃的開(kāi)發(fā)和進(jìn)展中。
不要忘記“不該忘記的事”
計(jì)劃不僅要反映需求設(shè)計(jì)、建模、編程和測(cè)試的“真實(shí)”工作,而且還應(yīng)該反映輔助活動(dòng)(然而仍是重要的),它包括:休假和法定假日、培訓(xùn)和教育、項(xiàng)目管理活動(dòng)(如規(guī)劃和人員管理)、開(kāi)銷(xiāo)(如系統(tǒng)當(dāng)機(jī)時(shí)間、會(huì)議和回復(fù)電子郵件)、體系結(jié)構(gòu)定義、測(cè)試之后的系統(tǒng)返工、系統(tǒng)交付、與重用相關(guān)的活動(dòng)(如普遍化 )。
將任何設(shè)想和約束編入文檔
規(guī)劃時(shí)您總要作一些假設(shè),如能夠及時(shí)獲得應(yīng)用程序服務(wù)器的新發(fā)行版,或可以得到熟悉您正在應(yīng)用的技術(shù)和技巧的開(kāi)發(fā)人員。同時(shí),您將在一些約束下工作,如影響計(jì)劃的強(qiáng)制截止期限或資源限制。將這些假設(shè)和約束編入文檔,這樣,當(dāng)您實(shí)施項(xiàng)目的任何時(shí)候更新計(jì)劃時(shí),都可以記起您先前做出的一些“不尋常”決定。
認(rèn)識(shí)到不同的資源意味著不同的計(jì)劃
十名有經(jīng)驗(yàn)的開(kāi)發(fā)人員組成的團(tuán)隊(duì)創(chuàng)造出的成效要遠(yuǎn)遠(yuǎn)多于十名初學(xué)者組成的團(tuán)隊(duì)所創(chuàng)造的成效。要想更加實(shí)際的話,您的計(jì)劃必須反映項(xiàng)目可使用的資源的真實(shí)情況。
創(chuàng)建現(xiàn)實(shí)的計(jì)劃
項(xiàng)目組必須相信其項(xiàng)目的目的、估價(jià)和時(shí)間表。要做到這點(diǎn),您必須真實(shí)地規(guī)劃,避免規(guī)劃超出您能理解的范圍。僅當(dāng)您打算研究未知事項(xiàng)時(shí),才能容忍無(wú)知。
只規(guī)劃有價(jià)值的事
IBM DeveloperWorks 網(wǎng)站提供了許多可應(yīng)用于您項(xiàng)目的最佳實(shí)踐。然而,根據(jù)項(xiàng)目的性質(zhì),不是所有這些技術(shù)都將適合于您的獨(dú)特情況。要將這些最佳實(shí)踐簡(jiǎn)單地看作是您放置在“項(xiàng)目管理工具箱”中的工具,您可以根據(jù)需要適當(dāng)使用這些工具。
適當(dāng)使用項(xiàng)目管理工具
一些項(xiàng)目管理工具,如 Microsoft Project,提供了重要功能, 如Gantt圖表(活動(dòng)時(shí)間表)的開(kāi)發(fā)、規(guī)劃與實(shí)際結(jié)果的比較、PERT 圖表(網(wǎng)絡(luò)圖表)的開(kāi)發(fā)、任務(wù)的定義、任務(wù)之間相關(guān)性的定義、對(duì)任務(wù)的資源分配和資源平衡。所有這些事情似乎象是一個(gè)好主意,并且它們通常是好主意——但它們還需要許多精力來(lái)創(chuàng)建和維護(hù),而且很少為項(xiàng)目組提供實(shí)際價(jià)值。的確,它讓一些項(xiàng)目管理人員感到富有成效。的確,高級(jí)管理喜歡看見(jiàn)您有一個(gè)計(jì)劃。但是,沒(méi)有一行代碼是由所有這個(gè)活動(dòng)產(chǎn)生的。規(guī)劃是有價(jià)值的活動(dòng);但投入大量的時(shí)間來(lái)創(chuàng)建規(guī)劃圖表通常不是有價(jià)值的活動(dòng)。