2.2 CMMI2級——專案計劃(Project Planning)

張傳波(Fireball)發表於2013-10-10

大家都明白這樣的一個道理:做事情要有計劃,有一個不成熟的計劃總比沒有計劃要好,軟體開發這麼複雜的活動,更加需要計劃。那麼應該怎樣做好一個計劃呢?

 

如果對專案的範圍、規模、性質、任務、工作量、費用等都不瞭解的情況下,是不可能做出計劃的,所以做好計劃的第一步就是要把這些東西搞清楚。

PP這個PA的第一個Specific Goals,中文大意是:建立和維護用於專案計劃的各類引數的估算,英文原文是:Estimates of project planning parameters are established and maintained.

 

下面我們再詳細看看,到底做計劃之前,需要搞清楚什麼東西?

 

SP1.1:Estimate the Scope of the Project. 估計專案的範圍,如專案的目標、任務、工作產品等。這裡通常就是指WBS(top-level work breakdown structure),試想一下,我們做計劃之前不是常常要先對任務進行分解嗎?

 

SP1.2: Establish Estimates of Work Product and Task Atrributes. 估計工作產品及任務的屬性。做計劃的時,我們會先列出這個專案要產生的工作產品,以及這個專案要完成的任務等,然後我們需要分析這些任務、工作產品的規模、工作量、複雜度、程式碼行數等所謂的屬性。CMMI並沒有規定一定要分析什麼屬性,具體由企業自己來選擇適合自己需要分析的屬性。在CMM模型的時候,專案計劃這個PA硬性規定了需要分析的幾大屬性,CMMI模型中已經改進,不再強制要求。分析這些屬性的目的是對任務、工作產品等更加了解,以便於做好計劃。

 

SP1.3 Define the project life-cycle phases upon which to scope the planning effort. 定義專案生命週期。寫計劃的其中一個步驟是要考慮用什麼生命週期模型,是瀑布型?螺旋?還是別的?選擇怎樣的模型,CMMI並沒有規定,企業可以選擇常見的生命週期模型,也可以自己定義自己的模型。

 

SP1.4 Estimate the project effort and cost for the work products and task based on estimation rationale. 可以把SP1.4看作是SP1.2的延續,要根據工作產品及任務的屬性估算出專案的規模和成本。

 

SG1說的是如何準備估算的問題,為做計劃打好基礎,而SG2說的就是要建立計劃了。

 

SG2:A project plan is established and maintained as the basis for managing the project. 中文大意是:建立和維護專案計劃,這個計劃要作為專案管理的基礎。那麼專案計劃要包含什麼內容呢?

 

SP2.1 Establish and maintain the project's budget and schedule. 建立和維護專案的預算和進度。

 

SP2.2 Identify and analyze project riskes. 識別和分析專案風險。

 

SP2.3 Plan then managemanet of project data. 計劃對專案資料的管理。

什麼是“專案資料”呢?在專案開發過程中,會產生各類文件、程式碼等,我們再寫專案計劃的時候,要考慮好如何管理開發過程中產生的工作產品、資料等,例如存放的位置、訪問許可權控制。通常我們需要文件分類存放,設定一些個人工作區、專案組共享區等,計劃好這些東西的管理,目的就是為了讓工作更加有條理。

細心的人可能會發現,這個SP怎麼有點象CM這個PA呢?沒錯,CM也講的也是管理工作產品,與這個SP是有相似之處的,CM是從配置管理的角度來講述的,而這個SP就從專案管理的角度來講述的。詳細情況,我們再論述CM的時候再談。

 

SP 2.4 Plan for necessary resources to perform the project . 計劃必要的資源來執行計劃。

資源包括:人、計算機、裝置、工具、辦公室等。

 

SP 2.5 Plan for knowledge and skills needed to perform the project. 計劃需要的知識和技能來執行計劃。

這點經常是做計劃的時候被遺忘的,專案經理應該根據專案組成員情況和專案的特點,找出專案組還沒有掌握的知識和技能,安排需要的培訓,讓專案組成員掌握相應的技能。

 

SP 2.6 Plan the involvement of indentified stakeholders. 識別干係人並計劃他們的參與。

計劃要考慮客戶、高層領導、與本專案相關的第三方等相關人員可能的參與,規劃他們參與的時間點,參與的工作產品等。例如:要計劃客戶什麼時候參與需求調研,計劃客戶什麼時候需要準備好軟硬體環境,以便安裝系統等。

 

SP 2.7 Establish and maintain the overall project plan content. 建立和維護全面的專案計劃內容。就是就是要把上面提到的SP2.1到SP2.6的內容全部要寫下來,要文件化。

 

到現在為止,似乎專案計劃就完成了,是這樣嗎?專案計劃只由一個人制定的嗎?只跟一個人有關係嗎?

SG3:Commitments to the project plan are established and maintained. 建立和維護對專案計劃的承諾。專案計劃要被相關的人評審和認可。

 

SP 3.1 Review all plans that affect the project to understand project commitments. 專案計劃可能會有好多個子計劃,如開發計劃、測試計劃、培訓計劃等,這些計劃都應該被相關人員複查,保證大家理解一致。

 

SP 3.2 Reconcile the project plan to reflect available and estimated resources. 調整計劃,使計劃在有限的資源內是可行的。計劃要受到資源的限制,通過評審要發現不協調的地方,適當調整計劃,保證計劃可行。

 

SP 3.3 Obtain commitment from relevant stakeholders responsible for performing and supporting plan excecution. 得到相關人員的承諾,保證執行和支援計劃。計劃通過評審,就以為這所有參加評審的人承諾按照計劃的要求完成自己的任務,同時他也會支援他人按計劃完成任務。

 

PP有三個SG,分別是建立估算、建立計劃、取得承諾,大家如果仔細閱讀每個SP,大家會發現做好一個計劃是不容易的,要考慮的東西很多。另外,還必須用這個計劃來管理專案,更詳細的內容我們看計劃跟蹤與控制這個PA吧。

 

 

請看下一文……

 

 

作者:張傳波

創新工場創業課堂(敏捷課程)講師

軟體研發管理資深顧問

CMMI首席專家

《火球——UML大戰需求分析》作者

www.umlonline.org創辦人

 

相關文章