摘 要:本文介紹了軟件項目生命周期模型及選用原則,以指導項目組根據項目具體情況進行活動和任務安排,規范項目過程,保證項目質量和開發效率。
關鍵詞:軟件項目;生命周期模型;選擇
中圖分類號::TP311.52 文獻標識碼:A
正確的選擇生命周期模型是軟件開發成功的第一步。 軟件項目經理在對項目進行策劃時,首先需要考慮選擇適用的軟件生命周期模型。合適的項目周期模型使得項目開發過程流程化、易于管理,同時能夠提高開發速度和產品質量,更好的滿足客戶的要求。
1軟件項目生命周期模型介紹
1.1標準生命周期模型
1.1.1標準生命周期模型將項目分成5個階段,分別為構思階段、計劃階段、開發階段、穩定階段和部署階段,每個階段定義了主要的工作目標和活動,每個階段的結束以完成各自的里程碑為標記。
1.1.2模型圖
圖 1 標準生命周期模型圖
通過使用分階段和里程碑驅動的方式,使整個項目過程的可預見性和可管理性增強,項目質量可以得到有效的控制和提高。每個階段的結束包括一個里程碑,里程碑表示某個時間點,在這個時間點上,應該完成一組預先指定的交付成果。里程碑的設立,可以幫助團隊成員定期同步工作成果;產物經過正式評審,還可以確保項目進展方向的正確性,保證不偏離預定的業務目標。
在模型圖中定義的里程碑為階段里程碑(也稱為主里程碑),在每個階段的進行中,也可以在階段內部定義其他中間里程碑(也稱為次里程碑),如完成系統架構設計的里程碑等。中間里程碑將一個階段內的工作分成便于管理的幾部分,由項目組根據項目情況制定,生命周期模型中對中間里程碑不做硬性要求。
此外,標準生命周期模型還是一個迭代方法,通過把一個大項目分為幾個版本將風險減至最小。
在軟件項目開發中,一般可先開發、測試和部署那些核心的、基本的功能,然后在后續的版本中添加其他功能。使用多版本的方法,可以將復雜的大項目分解成幾個較小的項目,使它們更便于管理。由于縮短了交付時間,使項目組能更快地從用戶那里得到產品的反饋,并在該產品的下一個版本中做及時地更正,能更早地給客戶帶來更多的業務利潤。由于項目組有不斷的功能增加和持續的產品推出,使項目組員的目標更加清晰明確,可以鼓舞團隊士氣。
1.1.3各階段的主要工作目標和里程碑產物等內容見下表:
階段
名稱主要
目標里程碑
名稱主要
驅動角色
構思
階段確定項目的目標和前景,在限定條件下定義項目范圍前景/
范圍確定產品
經理
計劃
階段給出詳細需求和設計方案,以及構建和部署的計劃、與各項任務和資源相關的進度表項目
計劃確定程序
經理
開發
階段構建項目中所要求的各種功能和交付成果,其中包括代碼、組件、基礎架構以及和用戶及運營相關的文檔等交付成果。完成
產品范圍開發開發組長、
用戶教育組長
穩定
階段提高項目質量,使產品達到穩定,滿足發布到生產環境的質量標準發布
就緒認可測試組長、
部署組長
部署
階段把產品實施到生產環境之中部署
完成部署
組長
1.1.4構思階段
構思階段的主要工作是組建項目團隊,建立項目前景,確定項目范圍,開始風險評估。
當項目產生時,應及時確定項目的涉眾,確定所需的團隊技能,組建項目團隊,并制定初始的項目計劃。項目團隊除了項目各角色成員外,還應包括質量保證人員。
為使團隊有一個共同的目標和前景,應在本階段確定業務問題和機會,收集項目需求,開發項目的前景,并在給定的假設和限定條件下,確定項目范圍。
在本階段,還應完成初步的風險評估。
此外,還應在本階段建立配置和變更管理。
重要里程碑產物都必須經過相應的評審,以保證產物的質量。
構思階段的主里程碑為“前景/范圍確定”,要求前景和范圍文檔經過評審,得到關鍵涉眾的認可。
1.1.5計劃階段
計劃階段的主要工作是開發詳細的軟件需求、進行邏輯設計和物理設計,制定主項目計劃和其他附屬計劃,并準備開發和測試環境等。
為制定出一個高效的計劃以降低項目風險,項目組必須仔細分析用戶需求和業務需求,定義系統的詳細需求。在基本確定需求時,項目組可以進行系統的邏輯設計和物理設計。
在計劃階段應將目標和初始計劃轉變為項目計劃,并使每個角色對項目計劃負責,注意項目計劃不只是單純的一個時間進度表,它應該包括一個主項目計劃和一系列附屬計劃,如培訓計劃、測試計劃、溝通計劃等。
此外,在計劃階段還應按照開發和測試計劃中設置的標準配置來建立環境,為開發和測試做好準備。
計劃階段的主里程碑為“項目計劃確定”,要求關鍵涉眾對要交付的組件、主要項目里程碑日期及如何構建達到一致意見。
1.1.6開發階段
開發階段的主要工作是編寫代碼、創建文檔和培訓課程、進行測試等。
通過每日構建實現內部發布,可以幫助團隊把一個復雜的項目分解為多個易于管理的任務。
開發階段的里程碑為“完成產品范圍開發”,表示所有功能和交付成果都已完成。
1.1.7穩定階段
穩定階段的主要工作是解決發現的問題,使產品穩定運行,提高項目質量,并完成項目發布。
為達到產品穩定,應進行有效的測試和試運行,進行每日構建和測試。
在穩定階段的后期,項目組應開發發布候選版本,準備相關發布文檔,并完成發布。
穩定階段的里程碑為“發布就緒認可”,表明項目代碼和文檔的產物通過評審,可以正式發布。
1.1.8部署階段
部署階段的主要工作是將產品部署到用戶環境中,最終交付運營,項目組進行總結收尾。
要將產品平穩地部署到用戶環境中,部署完成得到用戶認可后,要將項目交付給用戶進行運營,同時相關產物應交給技術支持部門進行后續維護工作。
在合同項目中還應得到客戶的確認,進行客戶驗收。
此時,項目組可以進行項目回顧和總結,將項目數據、經驗和教訓存放在過程財富庫中。
部署階段的里程碑為“完成部署”,表明產品在客戶環境中已能穩定運行,項目得到客戶認可,項目團隊的工作基本結束。
1.1.9在項目中運用標準生命周期模型時,可以根據項目的不同情況進行裁剪。
1.2原型生命周期模型
1.2.1原型是指為需求調研和演示使用的軟件產品,原型生命周期模型是指為這些產品而定義的過程模型,它對過程的要求比標準生命周期模型簡單,并且由于不是提交給用戶的產品,因此,基本上都不包括穩定和部署的階段。
1.2.2模型圖
圖表 3 原型生命周期模型圖
原型生命周期模型和標準生命周期模型類似,都是采用分階段和里程碑驅動的方式,但它通常只包含三個階段,同時,對每個階段的流程控制要求也相對較少一些。但原型生命周期并不表示穩定和部署階段肯定不存在,在有必要的情況下,也可以包含這兩個階段或其中之一。
同樣,原型生命周期模型也是可以迭代的,如下圖所示。
1.2.3各階段的主要工作目標和里程碑產物等內容見下表:
階段
名稱主要
目標里程碑
名稱主要
驅動角色
構思
階段確定項目的目標和前景,在限定條件下定義項目范圍前景
/范圍確定產品
經理
計劃
階段分析需求,制定出項目進度計劃表項目
計劃確定程序
經理
開發
階段構建解決方案中所要求的各種功能和交付成果,其中包括代碼、組件、基礎架構以及和用戶及運營相關的文檔等交付成果。完成產品
范圍開發開發組長、
用戶教育組長
1.2.4構思階段
構思階段的主要工作是組建項目團隊,建立項目前景,確定項目范圍。
當項目產生時,應及時確定項目的涉眾,確定所需的團隊技能,組建項目團隊,并制定初始的項目計劃。
為使團隊有一個共同的目標和前景,應在本階段確定業務問題和機會,收集項目需求,開發項目的前景,并在給定的假設和限定條件下,確定項目范圍。
此外,還應在本階段建立配置和變更管理。
構思階段的主里程碑為“前景/范圍確定”,要求前景和范圍文檔經過評審,得到關鍵涉眾的認可。
1.2.5計劃階段
計劃階段的主要工作是開發詳細的軟件需求、制定主項目計劃和其他附屬計劃,并準備開發環境等。
為制定出一個高效的計劃以降低項目風險,項目組必須仔細分析用戶需求和業務需求,定義系統的詳細需求。在有些原型項目中,項目組還應該進行系統邏輯設計和物理設計。
在計劃階段應將目標和初始計劃轉變為項目計劃,并使每個角色對項目計劃負責。
此外,在計劃階段還應建立好開發環境。
計劃階段的主里程碑為“項目計劃確定”,要求關鍵涉眾對要交付的組件、主要項目里程碑日期及如何構建達到一致意見。
1.2.6開發階段
開發階段的主要工作是編寫代碼、創建文檔等。
原型項目也應采用每日構建的方式來實現內部構建和測試。
開發完成后,產品就可以提供進行需求調研和演示使用,有些特殊的原型產品可能還包括穩定階段或部署階段的相關工作。
開發階段的里程碑為“完成產品范圍開發”,表示所有功能和交付成果都已完成。
1.2.7原型生命周期模型也是可以裁剪的。
2 兩種模型比較
3模型選擇
4定義項目特征
在項目立項后,程序經理要組織項目組組員、質量保證人員等人員根據項目的具體情況,定義項目特征,并填寫在項目生命周期模型確認表中。
5選擇合適的生命周期模型
根據項目特征和生命周期模型特點的比較,選擇相應的生命周期模型、裁減項目過程并確定項目的產物。程序經理將選擇的結果和原因記錄在項目生命周期模型確認表中。
6確認結果
程序經理將項目生命周期模型確認表提交給EPG進行審核。EPG審核通過后,項目按照相應生命周期模型進行開發;如果審核不通過,則程序經理應組織重新進行選擇。
注:EPG全稱為Engineering Process Group,即工程過程組,是軟件行業負責對質量管理體系進行改進和重大改進活動的組織;
7結果歸檔
EPG審核通過后將項目生命周期模型確認表歸檔到過程財富庫中。
結語
項目生命周期確定了將項目的開始和結束連接起來的階段,目前還沒有確定項目生命周期的最好辦法。本文引用行業的通用做法和約定俗成的項目生命周期,闡述軟件行業項目生命周期的兩種模型和選擇要點,有助于項目經理有效選擇和對項目進行管控。
參考文獻
[1] (美)斯蒂夫.麥克康奈爾著. 席相霖等譯.快速軟件開發[M].電子工業出版社.
[2] (美)項目管理協會著. 盧有杰,王勇譯.項目管理知識體系指南(第3版)[S].電子工業出版社.