軟體開發專案計劃編制過程(轉)

ger8發表於2007-08-16
本文簡要說明了軟體開發專案的計劃的要素、計劃編制過程、以及專案計劃內容確定的一般過程。

一、專案計劃的要素

根據PMBOK2000,專案計劃可以包含如下要素:

1、 專案範圍說明
專案範圍說明闡述進行這個專案的原因或意義,形成專案的基本框架,使專案所有者或專案管理者能夠系統地、邏輯地分析專案關鍵問題及專案形成中的相互作用要素,使專案干係人在專案開始實施前或專案相關文件編寫以前,能夠就專案的基本內容和結構達成一致;專案範圍說明應當形成專案成果核對清單,作為專案評估的依據,在專案終止以後或專案最終報告完成以前進行評估,以此作為評價專案成敗的依據;範圍說明還可以作為專案整個生命週期監控和考核專案實施情況的基礎,和專案其他相關計劃的基礎。

2、 專案進度計劃
進度計劃是說明專案中各項工作的開展順序、開始時間、完成時間及相互依賴銜接關係的計劃。透過進度計劃的編制,使專案實施形成一個有機的整體。進度計劃是進度控制和管理的依據,可以分為專案進度控制計劃和專案狀態報告計劃。

在進度控制計劃中,要確定應該監督哪些工作、何時進行監督、監督負責人是誰,用什麼樣的方法收集和處理專案進度資訊,怎樣按時檢查工作進展和採取什麼調整措施,並把這些控制工作所需的時間和人員、技術、物資資源等列入專案總計劃中。

3、 專案質量計劃
質量計劃針對具體待定的專案,安排質量監控人員及相關資源、規定使用那些制度、規範、程式、標準。專案質量計劃應當包括與保證與控制專案質量有關的所有活動。質量計劃的目的是確保專案的質量目標都能達到。根據ISO9001要求和PMBOK2000,為實現質量目標,組織應遵循以顧客為中心、領導作用、全員參與、過程方法、管理的系統方法、持續改進、基於事實的決策方法、互利的供方關係等8項質量管理原則。

4、 專案資源計劃
有了專案範圍計劃和進度計劃後,資源計劃就是決定在專案中的每一項工作中用什麼樣的資源(人、材料、裝置、資訊、資金等等),在各個階段使用多少資源。專案費用計劃包括資源計劃、費用估算、費用預算。

5、 專案溝通計劃
溝通計劃就是制定專案過程中專案干係人之間資訊交流的內容、人員範圍、溝通方式、溝通時間或頻率等溝通要求的約定。

6、 風險對策計劃
風險對策計劃是為了降低專案風險的損害而分析風險、制定風險應對策略方案的過程,包括識別風險、量化風險、編制風險應對策略方案等過程。

7、 專案採購計劃
專案採購計劃過程就是識別哪些專案需求可應透過從本企業外部採購產品或裝置來得到滿足。如果是軟體開發工作的採購,也就是外包,應當同時制定對外包的進度監控和質量控制的計劃。

8、 變更控制、配置管理計劃
由於專案計劃無法保證一開始就預測得非常準確,在專案進行過程中也不能保證準確有力的控制,導致專案計劃與專案實際情況不符的情況經常發生,所以必須有效處理專案的變更。變更控制計劃主要是規定變更的步驟、程式,配置管理計劃就是確定專案的配置項和基線,控制配置項的變更,維護基線的完整性,向專案干係人提供配置項的準確狀態和當前配置資料。

二、專案計劃編制過程

由於軟體開發的手工性、個體性特徵,軟體開發專案計劃不可能是一個靜態的計劃,一次在專案啟動時,可以先制定一個顆粒度相對比較粗的專案計劃,先確定專案高層活動和預期里程碑。粗顆粒度的專案計劃需要不斷地更新迭代,根據專案的大小和性質以及專案的進展情況進行迭代和調整。迭代和調整的週期也是根據專案的情況進行制訂的,一般短到一週,長到2個月左右。經過不斷的計劃制訂、調整、修訂等工作,專案計劃從最初的粗粒度,變得非常詳細。這樣的計劃將一直延續到專案結束,延續到專案的成果出現。

制定計劃的過程就是一個對專案逐漸瞭解掌握的過程,透過認真地制定計劃,專案經理可以知道哪些要素是明確的,哪些要素是要逐漸明確的,透過漸近明細不斷完善專案計劃。階段計劃中包含的工作彙報和下一階段工作安排是掌握專案進度的依據,從階段計劃對照總體計劃,才能一目瞭然地看出工作的進展情況。制定計劃的過程,也是在進度、資源、範圍之間尋求一種平衡的過程。制定計劃的精髓不在於寫出一份好看的文件,而在於運用您的智慧去應對各種問題和麵臨風險並儘可能做出前瞻性的思考。一旦計劃被負責任地完成,他就可以給自己一個和管理層或客戶交流與協商的基礎,幫助你在專案過程中防範各種問題的出現,幫助你保證專案按時完成。

企業確定要開始某個專案時一般會下達一個立項的檔案,暫且叫“專案立項檔案”,主要內容是遵照的合同或相關協議,專案的大致範圍、專案結束的截止時間和一些關鍵時間,指定專案經理和部分專案成員等等。

接下來的專案計劃編寫一般要按照以下過程:

1成立專案團隊:相關部門收到經過審批後的“專案立項檔案”和相關資料,則正式在“專案立項檔案”中指定的專案經理組織專案團隊,成員可以隨著專案的進展可以在不同時間加入專案團隊,也可以隨著分配的工作完成而退出專案團隊。但最好都能在專案啟動時參加專案啟動會議,瞭解總體目標、計劃,特別是自己的目標職責,加入時間等等。

2專案開發準備:專案經理組織前期加入的專案團隊成員準備專案工作所需要的規範、工具、環境。如開發工具、原始碼管理工具、配置環境、資料庫環境等。前期加入的專案團隊成員主要由計劃經理,系統分析員等組成,但快要制定好的專案計劃一定要儘可能經過在所有專案團隊成員和專案干係人中間的充分溝通。如果專案中存在一些關鍵的(指將影響專案成敗)技術風險,則在這一階段專案經理應組織人員進行預研。預研的結果應留下下書面結論以備評審。

說明:專案計劃書必須在相應階段對專案目標、階段目標和各項任務進行精確的定義,就是要在相應階段進一步進行專案目標的細化工作;特別是在概要設計完成,詳細設計或編碼實現開始之前應該對下一階段的目標任務進行細化。應當充分調查並掌握影響專案計劃的一切內部和外部影響因素;應當儘可能充分地分析專案工作分解結構,透過分析專案工作分解結構不僅獲得專案的靜態結構,而且透過邏輯分析,獲得專案各工作任務之間動態的工作流程;應當將專案目標、任務進行分解,制定詳細的實施方案。

3專案資訊收集:專案經理組織專案團隊成員透過分析接收的專案相關文件、進一步與使用者溝通等途徑,在規定的時間內儘可能全面收集專案資訊。專案資訊收集要講究充分的、有效率的溝通,並要達成共識。有些成員認為,電子郵件發來的文件(計劃、需求、周計劃等)是在溝通不夠充分的情況下完成的,成員看過後有不瞭解或與自己的能力或意願不符的情況,但透過電子郵件等方式溝通的效率不高,這也許是個習慣的問題,也許和某個具體問題本身是否容易透過電子郵件溝通清楚有關。因此重要的內容需要開會進行Q&A討論,確保所有重要問題都得到理解,最終達成共識。討論會上達成共識的應當記錄成文字落實在具體的文件中。

4 編寫《軟體專案計劃書》
專案經理負責組織編寫《軟體專案計劃書》。《軟體專案計劃書》是專案策劃活動核心輸出文件,它包括計劃書主體和以附件形式存在的其他相關計劃,如配置管理計劃等。《軟體專案計劃書》的編制參考《GB8567-88計算機軟體產品開發檔案編制指南》中專案開發計劃的要求。各企業在建立ISO9001質量管理體系或CMM過程中也會建立相應的《軟體開發專案計劃書規範》。

編制專案計劃的過程應當分為以下幾個步驟:

a、確定專案的應交付成果。這裡的專案的應交付成果不僅是指專案的最終產品,也包括專案的中間產品。例如通常情況下軟體開發專案的專案產品可以是:需求規格說明書、概要設計說明書、詳細設計說明書、資料庫設計說明書、專案階段計劃、專案階段報告、程式維護說明書、測試計劃、測試報告、程式程式碼與程式檔案、程式安裝檔案、使用者手冊、驗收報告、專案總結報告等等;

b、任務分解:從專案目標開始,從上到下,層層分解,確定實現專案目標必須要做的各項工作,並畫出完整的工作分解結構圖。軟體開發專案剛開始可能只能從階段的角度劃分,如需求分析工作、架構設計工作、編碼工作、測試工作等等,當然規模較大時也可把需求、設計拆分成不同的任務。不過特別是在概要設計完成時可以對下一階段的目標任務進行橫向的細化。

c、在資源獨立的假設前提下確定各個任務之間的相互依賴關係,以確定各個任務開始和結束時間的先後順序;獲得專案各工作任務之間動態的工作流程。

d、確定每個任務所需的時間,即根據經驗或應用相關方法給任務需要耗費的時間;確定每個任務所需的人力資源要求,如需要什麼技術、技能、知識、經驗、熟練程度等等。

e、確定專案團隊成員可以支配的時間,即每個專案成員具體花在專案中的確切時間;確定每個專案團隊成員的角色構成、職責、相互關係、溝通方式。

f、確定管理工作,管理工作是貫穿專案生命週期的,如專案管理、專案會議等、編寫階段報告。專案團隊成員之間的溝通時間、專案團隊成員和其他專案干係人之間的溝通時間也比較容易被忽視,而溝通時間也是比較不容易固定地量化和日程化。但這些工作在計劃中都應當充分地被考慮進去,再回師專案計劃更加合理,更有效地減少因為計劃的不合理而導致的專案進度延期。

g、根據以上結果編制專案總體進度計劃,總體進度計劃應當體現任務名稱、責任人、開始時間、結束時間、應提交的可檢查的工作成果。

h、考慮專案的費用預算、可能的風險分析及其對策、需要公司內部或客戶或其他方面協調或支援的事宜。

5 軟體專案計劃書評審、批准

專案計劃書評審、批准是為了使相關人員達成共識、減少不必要的錯誤,使專案計劃更合理更有效。

專案經理完成《軟體專案計劃書》後,首先組織專案團隊內部的專案團隊負責人、測試負責人、系統分析負責人、設計負責人、質量監督員等對專案計劃書進行評審,評審可採取電子或會議方式,並進行階段成果專案團隊內評閱記錄。應當要求所有相關人員在收到軟體專案計劃書後的一個約定時間內反饋對計劃書的意見。專案經理確保與所有人員就專案計劃書中所列內容達成一致。這種一致性是要求所有專案團隊成員對專案計劃的內容進行承諾,無法承諾或者說是無法達成一致的,要麼修改專案計劃去適應某些專案團隊成員,要麼是由某些專案團隊成員採取妥協措施,去適應專案計劃的要求。

專案經理將已經達成一致的軟體專案計劃書提交專案高層分管領導或其授權人員進行審批,審批完成時間不能超過預先約定的時間。對於意義重大的專案,由過程控制部門如質量管理部和專案分管領導同時對《軟體專案計劃書》進行審批。

批准後的軟體專案計劃書作為專案活動開展的依據和本企業進行專案控制和檢查的依據,並在必要時根據專案進展情況實施計劃變更。

專案質量監督員根據《軟體專案計劃書》和《軟體開發專案質量計劃書規範》編制軟體開發專案質量計劃。大型的專案應當編制單獨的《軟體開發專案質量計劃書》;規模較小的可以在《軟體專案計劃書》的某個章節說明“軟體開發專案質量計劃”,也可單獨編制類似“軟體開發專案質量控制表”的文件。

配置管理員根據計劃書編制《專案配置管理計劃》。以專案工作計劃書中的階段成果為依據,根據配置管理計劃規範編制配置管理計劃,專案經理審批配置管理計劃,並對配置管理計劃的有效性負責。

專案策劃工作完畢,軟體專案計劃書透過評審,一般情況下,對軟體開發專案來說,工作轉入需求分析階段。

三、專案計劃內容確定

專案計劃內容的確定一般要按照以下過程:

1 確定專案概貌
合同專案以合同和招投標檔案為依據,非合同專案以可行性研究報告或專案前期調研成果為依據,明確專案範圍和約束條件,並以同樣的依據,明確專案的交付成果。進一步明確專案的工作範圍和專案參與各方責任。

2 確定專案團隊
確定專案團隊的組織結構和與專案開發相關的職能機構,包括管理、開發、測試、QA、評審、驗收等。確定專案團隊人員及分工。與相關人員協商,確定專案團隊人員構成。如內部不能滿足人員需求,則提出人員支援申請。

3 明確專案團隊內、外的協作溝通
明確與使用者單位的溝通方法。明確終端使用者、直接使用者及其所在本企業/部門名稱和聯絡電話。客戶更多的參與是專案成功的重要推動力量,加強在開發過程中與使用者方專案經理或配合人員的主動溝通,將有助加強客戶等專案的參與程度。建議採用週報或月報的方式通告專案的進展情況和下一階段計劃,出現的需要客戶協調或瞭解的問題。

當專案團隊需要與外部單位協作開發時,應明確與協作單位的溝通方式。確定協作單位的名稱、負責人姓名、承擔的工作內容以及實施人的姓名、聯絡電話。

明確本企業內部協作開發的部門名稱、經理姓名、承擔的工作內容以及工作實施責任人的姓名、聯絡電話。明確專案團隊溝通活動。專案團隊成員規模在3人以上的專案應該組織專案團隊周例會,專案團隊採用統一的交流系統建立專案團隊的交流空間。

4 規劃開發環境和規範
說明系統開發的所採用的各種工具,開發環境,測試環境等。列出專案開發要遵守的開發技術規範和行業標準規範。對於本企業還沒有規範的開發技術,專案經理應組織人員制訂出在本專案中將遵守的規則。

5 編制工作進度計劃
根據本企業規定和專案實際情況,確定專案的工作流程。編制專案的工作計劃,此計劃為高層計劃,各階段的工作時間安排要包括完成階段文件成果、文件成果提交評審及進行修改的時間,各階段結束的標誌是階段成果釋出。在計劃中要求明確以下內容:
a、工作任務劃分;
b、顯示專案各階段或迭代的時間分配情況的時間線或甘特圖;
c、確定主要里程碑、階段成果;
d、要求用文字對專案工作計劃做出解釋。最終用一張時間表格來完整說明整個工作計劃;對於迭代開發的專案,應編制出第一階段的階段計劃。階段內的任務分割以2-5天為合適,特殊任務的時間跨度在兩個星期內;在專案的進行過程中,專案經理編制雙週工作計劃,指導成員的具體工作。

6 編制專案的監控計劃。其中說明進度控制、質量控制、版本控制、預算控制等。

7 編制專案的風險計劃,分析專案過程中可能出現的風險以及相應的風險對策。對於大型專案,建議以附件方式編制,便於不斷更新。

8 制定輔助工作計劃。根據專案需要,編制如培訓計劃、招聘計劃等。

9 規劃開發支援工作,如供方管理計劃。

10 規劃專案驗收:制定專案的驗收計劃。此項工作可以視需要進行裁減。

11 規劃專案收尾與交接活動。制定專案的驗收、培訓和專案進入維護階段與技術支援部的交接工作。

參考文獻
《管理軟體開發專案》(第二版)Neal Whitten(軟體專案管理系列叢書,孫豔春等譯);
《IT專案管理》Kathy Schwalbe(專案管理譯叢 王金玉等譯);
《專案管理—計劃、進度和控制的系統方法》(第7版)Harold Kerzner(電子工業出版社,楊愛華等譯);
《實用軟體工程》(第二版)鄭人傑、殷人昆、陶永雷(清華大學出版社)
《軟體工程:實踐者的研究方法》(第5版)Roger S.Pressman著;
《ISO9001:2000質量管理體系的要求》;
《高階專案管理基礎》(資訊產業部計算機資訊系統整合高階專案經理培訓講義);
《成功的專案管理》Trevol L Young(泰晤士報商業版,嚴鴻娟譯);
《成功的專案管理》Jack Gido & James P. Clements(21世紀管理經典教材系列,張金城等譯);
《如何做好專案管理》Stanley E. Portny(IDG新經濟工商實務傻瓜叢書,寧俊等譯);
《PMBOK-2000》PMI;

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-961178/,如需轉載,請註明出處,否則將追究法律責任。

相關文章