解決軟件危機(jī)的過程中,越來越多的軟件開發(fā)公司意識到在軟件項(xiàng)目開發(fā)過程中有效的管理所起到的重要作用。而在軟件項(xiàng)目管理過程中,軟件項(xiàng)目的計劃管理則是決定項(xiàng)目能否順利實(shí)施的關(guān)鍵內(nèi)容。
本文將在下面具體闡述軟件項(xiàng)目的計劃管理。
1 軟件項(xiàng)目計劃概述
軟件項(xiàng)目計劃是指為軟件工程的運(yùn)作和軟件項(xiàng)目活動的管理提供一個合理的基礎(chǔ)和可行的工作計劃的過程。其目的是為執(zhí)行軟件工程和管理軟件項(xiàng)目制定合理的計劃。
具體來講,就是:
(1)使軟件項(xiàng)目的開發(fā)建立在可靠的基礎(chǔ)之上,并將計劃文檔化,由開發(fā)人員遵循,并據(jù)此跟蹤檢查計劃的執(zhí)行。
(2)確定軟件項(xiàng)目開發(fā)的活動的承諾,使軟件開發(fā)工作有序而協(xié)調(diào)的開展,以便根據(jù)軟件計劃的資源、約束和能力逐步向客戶履行承諾。
(3)明確與軟件項(xiàng)目相關(guān)的組織和個人的承諾,將責(zé)任落實(shí)到組和個人,從組織管理上保證項(xiàng)目開發(fā)的成功。
2 制定計劃應(yīng)遵循的原則
2 . 1 重視對項(xiàng)目信息的了解
制定軟件項(xiàng)目計劃,不僅僅需要經(jīng)驗(yàn),更需要全面了解項(xiàng)目的相關(guān)信息。必須掌握的信息包括:關(guān)于所在組織的信息,包括組織結(jié)構(gòu)圖,各部門的職能,各關(guān)鍵部門的經(jīng)理和部分成員(并盡可能認(rèn)識這些人);
關(guān)于市場的信息,包括本行業(yè)新產(chǎn)品和新技術(shù)的發(fā)布,競爭對手的情況,競爭對手的主要客戶群信息;關(guān)于歷史項(xiàng)目的信息,尤其需要注意以往項(xiàng)目實(shí)施過程中出現(xiàn)的問題記錄和解決方法;
關(guān)于客戶的信息,與客戶的溝通是相當(dāng)重要的,特別要理解清楚客戶對時間、進(jìn)度和效果上的要求。只有在了解足夠信息的基礎(chǔ)上制定計劃,才能增強(qiáng)指導(dǎo)性和針對性。
2 . 2 重視項(xiàng)目計劃的層次性
軟件項(xiàng)目計劃的層次通常分為高級計劃、階段計劃和低級計劃。高級計劃是項(xiàng)目的早期計劃,主要進(jìn)行項(xiàng)目的階段劃分,主要包括人、財、物3個要素。大的階段交替之前,我們要做好下一階段的詳細(xì)計劃,稱之為階段計劃。
階段計劃要確定各項(xiàng)任務(wù)的負(fù)責(zé)人、開始和結(jié)束時間、設(shè)備資源、任務(wù)之間的依賴關(guān)系、小的事件點(diǎn)(即里程碑)。開發(fā)人員的個人計劃是低級計劃,由開發(fā)人員根據(jù)自己的任務(wù)自行制定。
通常,軟件項(xiàng)目計劃至多有4級,較小的軟件項(xiàng)目有2級計劃(高級計劃與低級計劃)也是可行的。
2 . 3 重視歷史數(shù)據(jù)的運(yùn)用和積累
要充分利用以往類似軟件項(xiàng)目的歷史數(shù)據(jù)。不光成功項(xiàng)目的數(shù)據(jù)具有參照價值,失敗項(xiàng)目的數(shù)據(jù)也具有借鑒作用??梢愿鶕?jù)它們來制定和改進(jìn)計劃。此外也要注意積累歷史數(shù)據(jù),以便于為我所用,這些是可復(fù)用的資源。最好是通過文檔化的過程形成模板,將以往的成功經(jīng)驗(yàn)高效繼承。.
2 . 4 重視用過程化的思想指導(dǎo)開發(fā)
我們知道軟件能力成熟度模型CMM,描述了五個級別的軟件過程成熟度:初始級,可重復(fù)級,已定義級,已定量管理級,優(yōu)化級。在可重復(fù)級即CMM2這個等級上,該過程具備了對軟件項(xiàng)目基本的管理控制、方針和規(guī)程,并強(qiáng)調(diào)文檔化的過程,一個項(xiàng)目成功了,就可以認(rèn)為下一個項(xiàng)目也可以成功。
在項(xiàng)目的實(shí)施過程中,通常需要根據(jù)項(xiàng)目的進(jìn)展情況及變更對項(xiàng)目計劃進(jìn)行修改,在策劃和重新策劃中涉及的內(nèi)容,都包含在CMM2過程中。運(yùn)用軟件過程化CMM2的思想指導(dǎo)計劃的編制與實(shí)施,可以提高軟件項(xiàng)目的可控程度。盡管當(dāng)前大多數(shù)企業(yè)都難以達(dá)到CMM2級及以上的等級能力水平,但至少要具備過程化的思想。
3 計劃的技術(shù)方法
在制定軟件項(xiàng)目的計劃時,以下是常用的技術(shù)。
3.1 PERT
PERT(計劃評審技術(shù),Program Evaluationan Review Technique)是50年代末美國海軍部在研制北極星潛艇系統(tǒng)時為協(xié)調(diào)3000多個承包商和研究機(jī)構(gòu)而開發(fā)的,其理論基礎(chǔ)是:假設(shè)軟件