軟體開發專案計劃的制訂
來源:互聯網
上載者:User
一、專案計劃的要素
根據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 軟體專案計劃書評審、批准
專案計劃書評審、批準是為了使相關人員達成共識、減少不必要的錯誤,使專案計劃更合理更有效。
專案經理完成《軟體專案計劃書》後,首先組織項目團隊內部的項目團隊負責人、測試負責人、系統分析負責人、設計負責人、品質監督員等對專案計劃書進行評審,評審可採取電子或會議方式,並進行階段成果項目團隊內評閱記錄。應當要求所有相關人員在收到軟體專案計劃書後的一個約定時間內反饋對計劃書的意見。專案經理確保與所有人員就專案計劃書中所列內容達成一致。這種一致性是要求所有項目團隊成員對專案計劃的內容進行承諾,無法承諾或者說是無法達成一致的,要麼修改專案計劃去適應某些項目團隊成員,要麼是由某些項目團隊成員採取妥協措施,去適應專案計劃的要求。
專案經理將已經達成一致的軟體專案計劃書提交項目高層分管領導或其授權人員進行審批,審批完成時間不能超過預先約定的時間。對於意義重大的項目,由過程式控制制部門如品質管理部和項目分管領導同時對《軟體專案計劃書》進行審批。
批准後的軟體專案計劃書作為項目活動開展的依據和本企業進行項目控制和檢查的依據,並在必要時根據項目進展情況實施計劃變更。
項目品質監督員根據《軟體專案計劃書》和《軟體開發項目品質計劃書規範》編製軟體開發項目品質計劃。大型的項目應當編製單獨的《軟體開發項目品質計劃書》;規模較小的可以在《軟體專案計劃書》的某個章節說明“軟體開發項目品質計劃”,也可單獨編製類似“軟體開發項目品質控制表”的文檔。
組態管理員根據計劃書編製《項目組態管理計劃》。以項目工作計劃書中的階段成果為依據,根據組態管理計劃規範編製組態管理計劃,專案經理審批組態管理計劃,並對組態管理計劃的有效性負責。
項目策劃工作完畢,軟體專案計劃書通過評審,一般情況下,對軟體開發項目來說,工作轉入需求分析階段。