作者:Scott W. Ambler
項(xiàng)目計(jì)劃技巧對(duì)于現(xiàn)今的軟件開發(fā)人員來說是必需的。這里有一些幫助您有效地計(jì)劃下一個(gè)項(xiàng)目的建議。
認(rèn)識(shí)到信心來自規(guī)劃過程,而不是計(jì)劃本身。
創(chuàng)建項(xiàng)目計(jì)劃會(huì)迫使您早在編寫一行代碼之前就考慮如何構(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ù)它來成功管理您的項(xiàng)目。
軟件過程推動(dòng)計(jì)劃的開發(fā)。
每個(gè)軟件過程都有一個(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ī)劃。不同的過程有不同的計(jì)劃。
從粗粒度的計(jì)劃開始。
在項(xiàng)目將要開始時(shí),應(yīng)該制定一個(gè)粗粒度的、確定項(xiàng)目高級(jí)活動(dòng)和預(yù)期里程碑的計(jì)劃。粗粒度的計(jì)劃將組織成迭代——根據(jù)項(xiàng)目的大小和性質(zhì),每次迭代通常在三周到八周之間發(fā)生(四周到六周為更佳)。其中一些迭代將集中在項(xiàng)目初期,而很多迭代將集中在整個(gè)應(yīng)用的功能部分開發(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é)備它。也就是說,參與項(xiàng)目的每個(gè)人都應(yīng)該投入到項(xiàng)目計(jì)劃的開發(fā)和進(jìn)展中。
不要忘記“不該忘記的事?!?
計(jì)劃不僅要反映需求設(shè)計(jì)、建模、編程和測試的“真實(shí)”工作,而且還應(yīng)該反映輔助活動(dòng)(然而仍是重要的),它包括:
休假和法定假日
培訓(xùn)和教育
項(xiàng)目管理活動(dòng),如規(guī)劃和人員管理
開銷,如系統(tǒng)當(dāng)機(jī)時(shí)間、會(huì)議和回復(fù)電子郵件
體系結(jié)構(gòu)定義
測試之后的系統(tǒng)返工
系統(tǒng)交付
與重用相關(guān)的活動(dòng),如普遍化
將任何設(shè)想和約束編入文檔。
規(guī)劃時(shí)您總要作一些假設(shè),如能夠及時(shí)獲得應(yīng)用程序服務(wù)器的新發(fā)行版,或可以得到熟悉您正在應(yīng)用的技術(shù)和技巧的開發(fā)人員。同時(shí),您將在一些約束下工作,如影響計(jì)劃的強(qiáng)制截止期限或資源限制。將這些假設(shè)和約束編入文檔,這樣,當(dāng)您實(shí)施項(xiàng)目的任何時(shí)候更新計(jì)劃時(shí),都可以記起您先前做出的一些“不尋?!睕Q定。
認(rèn)識(shí)到不同的資源意味著不同的計(jì)劃。
十名有經(jīng)驗(yàn)的開發(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í),才能容忍無知。
只規(guī)劃有價(jià)值的事。
IBM DeveloperWorks 網(wǎng)站提供了許多可應(yīng)用于您項(xiàng)目的最佳實(shí)踐。然而,根據(jù)項(xiàng)目的性質(zhì),不是所有這些技術(shù)都將適合于您的獨(dú)特情況。要將這些最佳實(shí)踐簡單地看作是您放置在“項(xiàng)目管理工具箱”中的工具,您可以根據(jù)需要適當(dāng)使用這些工具。
適當(dāng)使用項(xiàng)目管理工具。
一些項(xiàng)目管理工具,如 Microsoft Project,提供了重要功能,如 Gantt 圖表(活動(dòng)時(shí)間表)的開發(fā)、規(guī)劃與實(shí)際結(jié)果的比較、PERT 圖表(網(wǎng)絡(luò)圖表)的開發(fā)、任務(wù)的定義、任務(wù)之間相關(guān)性的定義、對(duì)任務(wù)的資源分配和資源平衡。所有這些事情似乎象是一個(gè)好主意,并且它們通常是好主意——但它們還需要許多精力來創(chuàng)建和維護(hù),而且很少為項(xiàng)目組提供實(shí)際價(jià)值。的確,它讓一些項(xiàng)目管理人員感到富有成效。的確,高級(jí)管理喜歡看見您有一個(gè)計(jì)劃。但是,沒有一行代碼是由所有這個(gè)活動(dòng)產(chǎn)生的。規(guī)劃是有價(jià)值的活動(dòng);但投入大量的時(shí)間來創(chuàng)建規(guī)劃圖表通常不是有價(jià)值的活動(dòng)。
參考資料
有關(guān)項(xiàng)目規(guī)劃的詳細(xì)信息,請(qǐng)參閱:
Process Patterns -- Building Large-Scale Systems Using Object Technology ,Scott Ambler 著。New York:Cambridge University Press,1998。
"Enhancing the Unified Process",Ronin-International 白皮書,Scott Ambler 著,2000。
The Object Primer 2nd Edition Scott W. Ambler 著。New York:Cambridge University Press,2000。
The Unified Process Inception Phase,Scott W. Ambler 和 Larry L. Constantine 合著。Gilroy, CA: R&D Books, 2000。
Planning Extreme Programming,Kent Beck 和 Martin Fowler 合著。Reading, MA: Addison-Wesley Longman, Inc., 2000。
The Rational Unified Process: An Introduction, Second Edition,Philippe Kruchten 著。Reading, MA: Addison-Wesley Longman, Inc., 2000。
Software Project Management: A Unified Framework,Walker Royce 著。Reading, MA: Addison-Wesley Longman, Inc., 1998。
關(guān)于作者
Scott W. Ambler 是 Ronin International 的總裁,該公司是一家專門提供面向?qū)ο筮^程指導(dǎo)、體系結(jié)構(gòu)建模和 Enterprise JavaBean (EJB) 開發(fā)的咨詢企業(yè)。 他自己著作或者與其他人合著了幾本有關(guān)面向?qū)ο箝_發(fā)的書籍,包括最近出版的 The Object Primer 2nd Edition,該書詳細(xì)介紹了本文所概述的主題??梢酝ㄟ^ scott.ambler@ronin-intl.com 和他的網(wǎng)站 www.ambysoft.com 與他聯(lián)系。
【?發(fā)表評(píng)論?0條?】