CMM與項目管理課件_第1頁
CMM與項目管理課件_第2頁
CMM與項目管理課件_第3頁
CMM與項目管理課件_第4頁
CMM與項目管理課件_第5頁
已閱讀5頁,還剩173頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

CMM與項目管理

-CMM與項目管理研討會心得交流第二事業部寇東CMM與項目管理

-C1概要CMM簡介項目管理簡介軟件項目管理軟件工程需求工程軟件測試概要CMM簡介2問題主管在項目在進行過程中詢問項目的進展情況,你撓撓頭皮:設計做的差不多了,一部分已經開始編碼了。主管不滿意了:什么時候能交活?你有些底氣不足:至少還得一個多月的時間。主管著急了:就剩兩周的時間了,你要花一個月,上一周你還答應可以在三周內完成。六周過去了,你的項目組還在測試,還在修改代碼。兩個月過去了,項目終于完成了。盡管客戶有不少抱怨,但總算做了驗收。 下一個項目會怎樣?問題主管在項目在進行過程中詢問項目的進3SEI的解決方案設定目標度量與跟蹤預測與糾正計劃與評審理性管理4312理性管理度量與跟蹤要求有紀律的工作要求具體的計劃計劃評審和協商設定具有短期目標和目的目標的評審和跟蹤預測并糾正問題監督經營業績SEI的解決方案設定目標度量與跟蹤預測與糾正計劃與評審理性4SEI的解決方案軟件項目管理的重要原則:—重視軟件質量—始終如一地強調有紀律的工程工作理性管理的四要素CMM/CMMI/PSP(PersonalSoftwareProcess)/TSP(Team

SoftwareProcess)SEI的解決方案軟件項目管理的重要原則:5軟件流程

Asoftwareprocesscanbedefinedasasetofactivities,methods,practices,andtransformationsthatpeopleusetodevelopandmaintainsoftwareandtheassociatedproducts(e.g.,projectplans,designdocuments,codes,testcases,andusermanuals)。如何工作(軟件開發和維護)軟件流程

Asoftwareprocesscanbe6軟件流程能力

softwareprocesscapability遵循這樣的軟件流程,有多大可能可以達到預計的結果。軟件流程能力提供了一種有效的手段,可以預計軟件組織承擔某個項目最有可能的結果是什么樣的。軟件流程能力

softwareprocesscapabi7軟件流程性能

softwareprocessperformance代表了遵循這樣的軟件流程,真正達到的結果是怎樣的。軟件流程能力表述的是期望的結果,而軟件流程性能表述的是實際的結果。軟件流程性能

softwareprocessperfor8軟件組織成熟度不成熟的組織最大的特征就是“救火”,只顧、也只能忙于解決眼前的問題,而眼前的問題又往往一個接一個。成熟的組織要有序得多,力圖預防問題,而非應付問題,雖然也可能出現意外情況,但對此是早有防范的,是有準備的。成熟與否導致的最終結果就是客戶對其能否勝任軟件項目的信心有所不同不同。軟件組織成熟度不成熟的組織最大的特征就是“救火”,只顧、也只9軟件流程成熟度

softwareprocessmaturity一個特定的流程在多大程度上被明白無誤的定義、管理、衡量和控制,以及有多有效。軟件組織的軟件流程成熟度預示著它的軟件流程能力有多大的發展潛力,這不僅指它的軟件流程有多豐富,多完備,而且指這些軟件流程在最大程度上是一致的,在整個組織范圍內,在任何一個項目中,都是被很好的了解和貫徹。軟件流程成熟度

softwareprocessmatur10CMM概貌CMM是一個階梯式的模型它根據軟件組織的流程成熟度高低分成了5個級別(level),從第一級的初始級一直到第五級的優化級初始級可重復級已定義級可管理級優化級紀律化標準化可預測持續改進CMM概貌CMM是一個階梯式的模型初始級可重復級已定義級可11指導軟件組織逐步成熟的框架任何一個軟件組織,在某個時刻,都可以依據一定的標準來被劃定處于哪個級別。這個組織就可以知道,它下一步要爭取的級別是哪一級。CMM可以說是一個指導軟件組織如何一步一步的走向成熟的框架。每一個低的級別都是向更高級別邁進的基礎。指導軟件組織逐步成熟的框架任何一個軟件組織,在某個時刻,都可12KPA(KeyProcessArea)

—劃定組織流程成熟度級別的依據除了初始級外,每個級別都包括若干個KPA,每個KPA又設定了2至4個目標。當某個KPA的所有目標達到時,就可以說該KPA被滿足了;當某個級別的所有KPA(除了極個別KPA不是必須的)都被滿足時,我們就可以說,已經達到該級別了。KPA(KeyProcessArea)

—13KPA歸類

類別等級管理類組織類工程類優化級技術更新管理過程變更管理缺陷預防可管理級量化過程管理軟件質量管理已定義級集成軟件管理組間協調組織過程焦點;組織過程定義;培訓大綱軟件產品工程;同級評審可重復級需求管理;軟件項目計劃;軟件項目跟蹤與監督;軟件子合同管理;軟件質量保證;軟件配置管理初始級KPA歸類類14CMMKPA應用既要利用KPA有重點、有次序的指導流程改進,也不要眼里只有KPA,忘記了現實的狀況。有關鍵流程區,當然還有非關鍵流程區;所以,千萬不要以為,處于某個級別的組織,所要面對的流程只是那幾個KPA;要做的流程,其實遠遠不止這些。可重復級只有6個KPA,沒有涉及基本的軟件工程活動(如系統設計、軟件測試),也沒有涉及項目資源(如必須的軟硬件和其他設備)采購、客戶交流等等,而這些對于做好項目(更不要說要可重復了)也是非常重要的。CMM沒有涉及這些流程,是因為它把這些流程歸結為“非關鍵”的,但“非關鍵”并不等同于可忽略的。CMMKPA應用既要利用KPA有重點、有次序的指導流程改15CMM

內部結構關鍵過程區表明關鍵過程的實施和制度化CMM

內部結構關鍵過程區表明關鍵過程的實施和制度化16共有特性(commonfeature)

與關鍵實踐(keypractice)每個KPA都包含了相關的一系列KP,這些KP提供了達到KPA目標的一個指導。是指導,而非必須。正所謂“條條大路通羅馬”,我們完全可以采取其他的做法(Practice)來滿足目標,甚至可以是CMM沒有提到的Practice。每個KPA的所有KP都按照共有特性(commonfeature)歸類將KPA的KP按照共有特性組織起來,完全是為了方便共有特性(commonfeature)

與關鍵實踐(key17KP共有特性(commonfeature)實施承諾(commitmenttoperform)實施承諾通常包括是否建立了相關的制度,管理層是否支持等等。實施能力(abilitytoperform)包括諸如是否有足夠的人力資源、培訓等等實施活動(activitiesperformed)度量和分析(measurementandanalysis)實施驗證(verifyingimplementation)KP共有特性(commonfeature)實施承諾(co18CMM強調KPA達成目標的一貫性和有效性,而不是今天能達到,明天就很難說。CMM強調KPA達成目標的一貫性和有效性,而不是今天能達19CMM第一級:初始級特點:項目的成功與否不是靠合理有效的軟件流程來保證的,而是靠個人能力來保證的。無論組織內部的管理高層,還是外部的客戶,都無法預見其項目的前景和結果,更不要說將結果控制在預算和進度之內。要求:初始級沒有任何KPA,這一點與其他各級不同。在CMM中,只要從事軟件生產和維護,該軟件組織就自動達到第一級。而再往上就要經過CMM評估了。注意:不要把未經CMM評估與處于初始級兩者混淆,有些軟件組織雖然沒有經過CMM評估,但以CMM的要求看,也許遠遠超出初始級的標準。CMM第一級:初始級特點:項目的成功與否不是靠合理有效的軟件20CMM第二級:可重復級軟件組織能力不再受制于個人,但是也非組織擁有,而是依賴于項目組。項目組從以往的類似項目中歸納成功經驗和失敗教訓,并以此作為指導新項目開展的依據,從而在很大程度上,可以保證類似項目的再次成功。用一個詞來概括,那就是“有紀律的”。項目組在其范圍內,實施基本的項目管理,并對進度、預算和產品功能進行計劃和跟蹤,這樣,項目的進展處于一種基本可控的狀態。一個軟件項目不再是一個“魔術般”的黑箱子,而是一些連續的黑箱子。CMM第二級:可重復級軟件組織能力不再受制于個人,但是也非組21實施CMM2管理層的表率作用。管理層人員必須首先注重自身流程的紀律化。有些項目經理或者質量管理人員,往往首先看到的是“程序員”的自由散漫,一要流程改進,就要求“程序員”遵循這個規矩那個條例,就要寫文檔,開大會;這不僅違背了CMM的初衷,更敗壞了流程改進的名聲缺乏群眾基礎的流程改進,無法取得實效實施CMM2管理層的表率作用。管理層人員必須首先注重自身流程22CMM2KPA需求管理(RequirementManagement)軟件項目計劃(SoftwareProjectPlanning)軟件項目跟蹤和監控(SoftwareProjectTrackingandOversight)軟件轉包合同管理(SoftwareSubcontrackManagement)軟件質量保障(SoftwareQualityAssurance)軟件配置管理(SoftwareConfigurationManagement)。CMM2KPA需求管理(RequirementMana23CMM第三級:已定義級是在整個組織范圍內,開發和維護軟件的流程,包括管理的和工程的,以及這些流程的集成,已被明確地書面定義。各個項目就可以依據這一流程標準進行裁剪,明確其中每一項具體任務和工作的輸入、輸出、開始和完成的判斷標準和條件、操作過程、以及驗證措施等等。已定義級不再是一些連續的黑盒;由于每一項具體任務和工作都是可見的,因此外部人員可以隨時深入到“黑盒”中,了解項目內部的進展情況,從而也使項目的及時調整和降低風險成為可能。CMM第三級:已定義級是在整個組織范圍內,開發和維護軟件的流24CMM3特點不同項目和歷史項目的成功經驗和失敗教訓可以相互比較已定義級組織的能力是屬于組織的,而不是項目團隊的,更不是成員個人的。為了保證整個組織流程的標準和一致性,通常會有一個跨項目的團隊,比如SEPG(SoftwareEngineeringProcessGroup)負責整個組織的流程活動。為了使組織內每一個人明確自己的角色和權責,并能有效實施,整個組織范圍內的培訓是必不可少的。要建立起這樣的流程,對個人的工作要授權,不要過分刻板。常有人把CMM解釋為刻板的文檔和僵硬的工作規范,這樣的理解至少是極端化的。刻板僵硬,以及隨之而來的官僚作風,并不是CMM天生使然,而是對CMM的曲解和誤用。CMM3特點不同項目和歷史項目的成功經驗和失敗教訓可以相互比25CMM3KPA組織過程焦點(OrganizationProcessFocus)組織過程定義(OrganizationProcessDefinition)培訓大綱(TrainingProgram)集成軟件管理(IntegratedSoftwareManagement)軟件產品工程(SoftwareProductEngineering)組間協調(IntergroupCoordination)同級評審(PeerReviews)CMM3KPA組織過程焦點(OrganizationPr26CMM第四級:受管理級定性的比較發展為定量的比較,從而使得人們(無論是內部的,還是外部的)可以更加科學、客觀的預測軟件項目的進度、預算和質量。定量是指在一定的概率內使結果誤差控制在一定的范圍內。如:存在90%的可能,進度誤差不超過20%。處于受管理級的組織能及時采取糾正和彌補措施。確定要度量些什么。依靠收集和挖掘自身歷史數據進行軟件度量。CMM第四級:受管理級定性的比較發展為定量的比較,從而使得人27CMM4KPA量化過程管理(QuantitativeProcessManagement)軟件質量管理(SoftwareQualityManagement)CMM4KPA量化過程管理(QuantitativePr28CMM第五級:優化級重點從“建立”進一步轉移到“優化”上。優化靠自己的積累、嘗試和總結經驗教訓。具備了自我改進的基礎架構和實現系統。盡管組織的內部情況會變化,外部環境和要求也會不同,但組織都可以在原有的基礎上進行可控可測的流程優化,因為流程的每一個環節都是可見的、可客觀評價的CMM第五級:優化級重點從“建立”進一步轉移到“優化”上。29CMM5KPA缺陷預防(DefectPrevention)技術更新管理(TechnologyChangeManagement)過程變更管理(ProcessChangeManagement)CMM5KPA缺陷預防(DefectPrevention30CMM各級別關系CMM高級別和低級別之間是存在很強的依賴性的,這樣的依賴性不是強加的,而是自然的,符合邏輯和實踐檢驗的。跳躍式前進的結果只能是拔苗助長,導致生產率和質量的下降。不僅成熟度級別之間存在嚴格的先后關系,在各個KPA之間,即使在同一級別內,也存在嚴格的先后關系。例如,需求管理是項目計劃的基礎,而項目計劃又是項目跟蹤與監控的前提。CMM各級別關系CMM高級別和低級別之間是存在很強的依賴性的31項目的基本概念項目是一個組織為實現自己既定的目標,在一定的時間、人員和資源約束條件下,所開展的一種具有一定獨特性的一次性工作。PMI的定義: Atemporaryendeavorundertakentocreateauniqueproductorservice. 在一段時間內為完成某一獨特的產品或提供獨特的服務所進行努力的過程。項目的基本概念項目是一個組織為實現自己既定的目標,在一定的時32現代項目管理知識體系1.項目集成管理

確保各種項目工作和項目的成功要素能夠很好的協調與配合,以及相應的管理理論、方法、工具。2.項目范圍管理

計劃和界定一個項目或項目階段需要完成的工作和必須要完成的工作的管理工作的理論、方法、工具。3.項目時間管理

又叫項目工期進度管理,是有關如何按時完成項目工作的理論、方法、工具。4.項目成本管理

又叫項目選價管理,是如何在不超出項目預算的情況下完成整個項目工作,所需的管理理論、方法、工具。5.項目質量管理

如何確保項目質量,以及保證項目質量所需的管理理論、方法、工具。現代項目管理知識體系1.項目集成管理33現代項目管理知識體系6.項目人力資源管理

如何更有效地利用項目所涉及的人力資源,以及在項目人力資源管理方面所需的管理理論、方法、工具。7.項目溝通管理

如何有效、及時地生成、收集、儲存、處理和最有效的使用項目信息,以及在項目信息和溝通管理方面所需的管理理論、方法、工具。8.項目風險管理

如何識別項目風險、分析項目風險和應對項目風險,以及項目風險管理所需的管理理論方法、工具。9.項目采購管理

也叫做項目獲得管理,是有關從項目組織外部尋求和獲得各種商品與勞務的管理,以及這一管理所需的理論、方法、工具。許多項目涉及到承包商為購買方工作的情況。在這種情況下,購買方提供最初的產品描述,也成為工作說明(SOW)現代項目管理知識體系6.項目人力資源管理34項目管理的過程

現代項目管理理論認為任何項目都是由兩個過程構成:其一是項目的實現過程其二是項目的管理過程現代項目管理將整個項目的全部工作看成是由一系列項目階段構成的一個完整的項目生命周期。項目管理的過程

現代項目管理理論認為任何項目都是由兩個過程構35項目工作階段項目的定義與決策階段項目的計劃和設計階段工期計劃、成本計劃、質量計劃、資源計劃和集成計劃項目的實施與控制階段項目的完工與交付階段項目工作階段項目的定義與決策階段36項目管理過程一個項目的全過程或項目階段都需要有一個相對應的項目管理過程。這種項目管理過程一般由五個不同的管理具體工作過程構成。起始過程計劃過程實施過程控制過程收尾過程項目管理過程一個項目的全過程或項目階段都需要有一個相對應的項37管理過程間相互關系起始過程各管理工作過程之間的相互聯系結束過程控制過程實施過程過程計劃過程起始過程計劃過程實施過程控制過程管理過程間相互關系起始過程各管理工作過程之間的相互聯系結束過38管理過程間交叉重疊關系控制過程計劃過程實施過程結束過程起始過程活動過程階段始點階段終點時間一個項目階段中管理工作過程的交叉、重疊關系圖示管理過程間交叉重疊關系控制過程計劃過程實施過程結束過程起始過39項目階段間管理過程關系(前面的階段)(后面的階段)項目階段之間的管理工作過程間的相互作用項目設計階段項目實施階段起始過程起始過程計劃過程計劃過程實施過程控制過程結束過程結束過程實施過程控制過程項目階段間管理過程關系(前面的階段)(后面的階段)項目階段之40如何執行項目必須遵循那些經試驗證明效果良好的方法謹慎地執行每個工程任務必須用文檔正確地記錄工作產品,以便其他人員能夠查閱它們。項目任務必須經過仔細規劃,并將它們分配給執行項目的人員,然后在項目執行的同時對它們進行跟蹤。換句話說,要成功地執行較大規模的項目,必須在軟件工程和項目管理這兩方面增強正規程度和嚴格程度。如何執行項目必須遵循那些經試驗證明效果良好的方法謹慎地執行每41軟件項目的管理過程軟件項目主要涉及兩方面的任務:軟件工程和項目管理。軟件工程方面涉及系統的建立,并重點關注如何分析需求、設計、測試、編碼等問題。項目管理方面涉及如何設置里程碑、組織全體人員、管理風險、監督進展等規劃和控制軟件工程的行為,以滿足項目在成本、進度和質量方面的目標。

軟件項目的管理過程軟件項目主要涉及兩方面的任務:軟件工程和項42過程的定義從技術上講,對于某個任務的一個過程,它由執行該任務時應當遵循的一個步驟序列組成。對一個組織而言,它建議其工程師和項目經理使用的過程就遠非一個步驟序列了;它們涵蓋了工程師們和項目經理所掌握的成功地執行項目的實踐。通過過程就可能將好的經驗同所有人共享,包括公司中新來的員工。這些過程有助于管理人員和工程師借鑒過去的成功經驗,從而避開導致失敗的陷阱。過程的定義從技術上講,對于某個任務的一個過程,它由執行該任務43為什么必須遵循過程過程代表著集體的智慧,使用它們可以增加成功的機會。過程可能會包含一些多余的步驟,但是你事先不可能完全知道哪些步驟是不必要的,因些捷徑可能會增加風險。如果沒有采用過程,你就不能很好好預測項目的結果。

如果沒有定義過程,你和組織就不能進行有效地學習。而學習和提高是當今知識世界必有可少的事情。過程減少了你須考慮的問題。檢查表(checklist)必須會涵蓋80%要做的事情,大大地減少了你的任務,因而你只須完成剩下的20%。為什么必須遵循過程過程代表著集體的智慧,使用它們可以增加成功44項目管理與CMM

有效的過程有助于成功地執行一個項目軟件CMM提出了有效過程特征的框架。CMM是目前使用最為普遍的軟件過程改進框架之一(現在其他常用框架有ISO9001)。項目管理與CMM

有效的過程有助于成功地執行一個項目45項目管理與CMM2KPA第2級(可重復等級)KPA的目標————明確地表明第2級的重點幾乎全部在項目管理上。在這些目標指導下,你建立一個項目計劃并用文檔記錄它,根據計劃評估正在進行的項目的績效,并在實際績效明顯地偏離計劃時采取相應的措施。需求用文檔正確地記錄下來,并對需求的變更進行正確的管理。所有工作產品都在控制之中,并根據一個事先制定好的配置管理計劃正確地管理對產品的變列。執行評審與審計。確保遵循計劃的過程和標們標準。如果項目的某些部分被轉包給其他軟件開發商,則也要對被轉包的工作進行正確地監督。項目管理與CMM2KPA第2級(可重復等級)KPA的目標—46項目管理與CMM3KPA第3級(已定義級)中3個KPA的目標——重點強調組織管理和過程管理問題。對于達到第3級能力成熟度的組織中的項目,它使用專用型的標準過程,并重用以往項目的資源、數據和經驗進行規劃。執行項目的各小組通過良好定義的接口和機制進行愉快地合作。正確地執行評審以標識出工作產品中存在的缺陷,并為執行評審和隨后的任務提供充分的支持。項目管理與CMM3KPA第3級(已定義級)中3個KPA的目47項目管理與CMM4KPA第4級(已管理級)上KPA的目標——在第4級上,組織的過程能力用量化術語表示,過程能力用于設定一個項目的量化目標。有關項目績效方面的數據在當前的基礎之上進行收集并與以往的績效進行比較;如果覺察到明顯的偏差,則采取正確的行動恢復對項目的控制。第4級的一個關鍵特點是在當前基礎上使用統計過程控制技術,以便在需要時可以評估每種任務并采取正確的行動。項目管理與CMM4KPA第4級(已管理級)上KPA的目標48項目管理與CMM5KPA第5級上的3個KPA重點強調過程能力的改進。在這3個KPA中,故障預防KPA對項目管理影響最大。這個KPA要求通過系統地分析故障的原因,然后消除那原因,從而前瞻性地預防故障。如果能夠預防故障進入軟件,則可以減去排除它們的工作量,從而提高質量和生產率。項目管理與CMM5KPA第5級上的3個KPA重點強調過程能49軟件項目管理建議執行一個項目的全部責任由項目經理負責。他必須確保項目團隊在規定的成本內按時將高質量的軟件交付給客戶。為了幫助項目經理實現這一責任,必須得到組織的支持(權力下放)。軟件項目管理建議執行一個項目的全部責任由項目經理負責。50SoftwareEngineeringProcessGroup軟件企業應該設立質量部門,其下轄一個軟件工程過程小組(softwareengineeringprocessgroup,簡稱SEPG)。SEPG負責協調所有過程任務,包括過程定義、過程改進以及過程部署。它還管理所有與過程使用相關的信息和數據(諸如過程數據庫和過程能力基準)提交產品的全部責任(包括質量)屬于項目團隊,但是SEPG使得項目團隊能夠輕松地遵循正確的過程。SoftwareEngineeringProcessG51SEPG對項目的支持SEPG還形成了一個獨立地監督過程問題和質量問題的渠道,并通過這個渠道向高級管理層報告這些問題。因為“過程不能依靠過程本身得到堅持”,所以SEPG有助于確保已義的過程得以實現并成為標準的實踐。SPEG要制定定期獨立審計的計劃,并對它們進行管理,以確保已定義的過程和標準得以遵守。SEPG對項目的支持SEPG還形成了一個獨立地監督過程問題和52SoftwareQualityAdvisorSEPG除了提供過程培訓外,還提供了一個與項目相關的成員,稱為軟件質量顧問(softwarequalityadvisor)。質量顧問幫助定義過程和遵循過程,確保過程得以遵守,幫助分析數據,并提供任何需的過程培訓。因為顧問非常精通于項目過程、指南等等,所以顧問的主要幫助在對項目規劃的過程中。顧問還評審目計劃,以確保它包含了全部的關鍵要素。

SoftwareQualityAdvisorSEPG除了53軟件項目管理過程項目經理執行的一系列任務可以在項目管理(projectmanagement)過程中加以規定。這是一個非常標準化的過程,有五個主要階段:項目啟動項目規劃項目執行項目監控項目收尾軟件項目管理過程項目經理執行的一系列任務可以在項目管理(pr54項目啟動和規劃階段●執行項目啟動和管理任務

●制定一個包含進度的項目計劃

●執行項目計劃和進度計劃的評審

●獲得高級管理人員的授權

●定義和評審配置管理計劃

●使項目團隊適應項目管理計劃●牽涉到客戶、一個SEPG代表以及項目的業務經理●開始的標志是簽定了項目合同或者得到了項目授權。而收尾的標志是已經用文檔記錄了項目計劃,并且小組對它們進行了評審項目啟動和規劃階段●執行項目啟動和管理任務

●制定一55項目執行,監控階段在這一階段團階的其他成員也要參與。開始的標志是項目計劃已經完成并得到了批準,而結尾的標志是所有交付的工和產品為客戶所接受。項目執行,監控階段在這一階段團階的其他成員也要參與。56項目收尾階段主要是在客戶接受工作產品之后對項目進行系統的總結。這里的主要目標是從經驗中進行學習,以便能夠改進過程,項目完成后的數據分析構成了這一階段的主要任務;對度量標準進行了分析,過程資源(諸如模板和指南等材料可用于幫助管理過程本身)被收集起來供以后使用,并記錄有關的經驗教訓。項目收尾階段主要是在客戶接受工作產品之后對項目進行系統的總結57軟件項目管理公共知識庫軟件配置管理工作量與進度估算質量規劃風險控制項目啟動項目計劃項目評審項目監控項目收尾軟件項目管理公共知識庫58問題每個項目經理都在他自己的領域內努力工作,力爭建立最優的項目過程來執行其項目和產生他能夠實現的估計盡管其他團隊在早些時候已經執行過類似的項目,并且他們的經驗和數據能夠極大地減輕項目經理的痛苦。但項目經理們不僅從頭開始重新投資他們的規劃工作,而且他們“計劃”重蹈他們之前的項目經理犯過的同樣的錯誤問題每個項目經理都在他自己的領域內努力工作,力爭建立最優的項59解決方案建立一個所有項目的管理人員都能夠訪問的公共知識庫(institutionalmemory)過程數據庫(processdatabase,PDB)保存已完成項目的績效數據。過程能力基準(processcapabilitybaseline,PCB)概括各個項目的績效,定量地規定遵循過程所能達到的結果范圍。如果遵循相同的過程,就可以預測出項目的結果范圍。過程資源(processasset)文檔,諸如檢查表、模板、方法以及所吸取的經驗教訓——即總結以往經驗的材料,它們能幫助項目經理和工程師有效地使用過程解決方案建立一個所有項目的管理人員都能夠訪問的公共知識庫(i60PDB中保存的數據項目特征名稱、項目經理、業務部門、遵循的過程應用領域、平臺、編程語言、DBMS目標、風險、團隊規模項目進度和工作量項目規模代碼行數(LineOfCode,LOC);復雜度(簡單/中等/復雜);功能點(FunctionPoint)故障在各種故障檢測任務中發現的故障數量在不同階段增加的故障數從需求評審、設計評審、代碼評審到單元測試及其他階段中發現的故障數備注關于估計的備注(如:將程序分類成簡單/中等/復雜三類的指標)關于風險管理的備注(如:風險認識在項目執行過程中的變化)PDB中保存的數據項目特征61過程能力基準(PCB)過程的能力是指在遵循過程的情況下可對項目期望的結果范圍;一個穩定的過程的能力可以由過程以往的績效所決定。過程能力基準表示在某些時間點上過程能力的量化瞬態圖軟件質量;生產率;進度計劃;工作量分布;故障引入率/排除率;質量成本過程能力基準(PCB)過程的能力是指在遵循過程的情況下可對項62過程資源指南、檢查表和模板簡化過程使用,減少工作量,提高生產率知識庫項目管理計劃,配置管理計劃,進度計劃,培訓材料等需求設計編碼規范評審、檢查和測試質量保證和生產率過程資源指南、檢查表和模板63軟件配置管理(CM)對變更進行系統地控制管理計算機軟件產品的進化的紀律給出程序的狀態:何時開始測試或發行?處理并發變更;取消變更;防止未授權變更或刪除提供需求變更申請和程序變更之間的可跟蹤性取消需求變更;顯示相關變更收集當前系統的所有源代碼、文檔和其他信息軟件配置管理(CM)對變更進行系統地控制64配置管理機制文件命名約定版本控制變更申請跟蹤訪問控制變更協調變更登記配置管理機制文件命名約定65配置管理過程配置管理規劃狀態轉移管理變更申請管理狀態監督配置審計配置管理過程配置管理規劃66配置項需求規范、設計文檔、源代碼、測試計劃、測試腳本、測試程序、測試數據、項目使用的標準(諸如編碼標準和設計標準)、驗收計劃CM計劃和項目計劃等文檔用戶手冊等用戶文檔培訓材料等文檔合同文件(包括支持工具,諸如編譯器或者內部工具)質量記錄(評審記錄、測試記錄)CM記錄(版本記錄、狀態跟蹤記錄)客戶提供的任何產品或者購買的任何東西(如果將要成為發布的軟件的一部分)配置項需求規范、設計文檔、源代碼、測試計劃、測試腳本、測試程67配置管理規劃確定配置項和規定用來控制和實現其變更的程序定義命名機制和編碼機制,目錄結構,訪問限制,變更控制過程定義CC或CCB的責任和權限,配置項狀態的跟蹤方法,將配置項移入基準庫的時機配置管理規劃確定配置項和規定用來控制和實現其變更的程序68狀態轉移管理正在開發-〉正在評審-〉基線狀態在狀態變更時將配置從一個目錄移到另一個目錄,然后在完成變更后建立新版本。狀態轉移管理正在開發-〉正在評審-〉基線狀態69變更申請管理●接受變更申請(影響分析之后)

●建立一種跟蹤機制

●檢查需要進行變更的配置項

●執行變更

●注冊配置項

在項目的整個生命期內維護該項目變更申請管理●接受變更申請(影響分析之后)

●70狀態監督與配置審計狀態監督除了檢查配置項的狀態外,項目還必須檢查變更申請的狀態。配置審計的目的是確保項目執行確實遵循CM過程。狀態監督與配置審計狀態監督除了檢查配置項的狀態外,項目還必須71工作量與進度估算

項目工作分解結構(WBS)工作量估計進度估計進度計劃工作量與進度估算

項目工作分解結構(WBS)72項目工作分解結構(WBS)將項目及其主要交付結果層層分解,劃分成一些較小、更容易安排時間與費用等單元活動,這種方法稱之為項目工作分解結構。項目工作分解結構有兩種表達方式:圖形式和清單式。項目工作分解結構(WBS)將項目及其主要交付結果層層分解,劃73項目工作分解結構的方法·按項目的主要交付結果分;·按產品本身的結構分;·按實施項目的時間順序分;·按組織的職責分;項目工作分解結構的方法·按項目的主要交付結果分;74工作量估計用多種方法進行估計,驗證主要估計方法的正確性,減少風險自底向上估計方法自頂向下估計方法用例點方法工作量估計用多種方法進行估計,驗證主要估計方法的正確性,減少75自底向上估計方法找出程序,并將程序分為簡單(S)、中等復雜(M)和復雜程序(C)根據PCB求得S/M/C程序的構建工作量。用PDB中類似項目的數據定主S/M/C程序的構建工作量。用PCB中S/M/C程序的平均構建工作量。用項目特有因素優化S/M/C程序的構建工作量。用S/M/C程序的工作量及其程序數求得總的構建工作量。用PCB給定的工作量分布情況或者PCB中給定的類似項目,估計其他任務工作量和總工作量。基于項目特有的因素優化估計。自底向上估計方法找出程序,并將程序分為簡單(S)、中等復雜76自頂向下估計方法求以功能點為單位的軟件的總規模。用項目專用能力基準、基本過程能力基準或同類項目的生產率數據,確定項目的生產率水平。根據生產率和規模估計求總工作量估計。使用過程能力基準或者同類項目中的工作量分布數據估計各階段的工作量。考慮項目特有的因素,優化工作量估計。自頂向下估計方法求以功能點為單位的軟件的總規模。77用例點方法事務定義為任務的原子集,要么全部執行,要么不個都不執行。根據包含事務數將用例分為簡單用例(1-3)、中等復雜用例(4-7)和復雜用例(7+)。簡單用例分配因子為5,中等復雜用例分配因子為10。而復雜用例分配因子為15。根據應用中用例因子的加權和求得總的未經調整的用例點(unadjustedusecasepoint,簡稱UUCP)用例點方法事務定義為任務的原子集,要么全部執行,要么不個都不78用例點方法根據技術因素及其權重表調整原始UUP以反映項目的復雜性和項目工作人員的經驗(技術復雜性因子TCF)。根據團隊的環境因素及其權重表,并用0~5評定每個因素,計算出環境因子(EF)最終的用例點(usecasepoint,簡稱UCP):

UCP=UUCP×TCF×EF用例點方法根據技術因素及其權重表調整原始UUP以反映項目的復79技術因素及其權重表TCF=0.6+(0.01×TFactor)

技術因素及其權重表TCF=0.6+(0.01×TFactor80環境因素及其權重表EF=1.4+(-0.03×EFactor)

環境因素及其權重表EF=1.4+(-0.03×EFactor81環境因素及其權重對于經驗有關的因素,0表示沒有該主題的經驗,5表示專家水平,而3則表示平均水平。對于積極性,0表示沒有項目積極性,5表示積極性高。而3則表示平均水平。對于需求的穩定性,0表示非常不穩定的需求,5表示不變的需求,而3則表示中等穩定程序。對于兼職型工作人員,0表示兼職型技術人員,5表示全職工作人員,而3則表示平均值。對于編程語言的難度,0表示易掌握的編程語言,5表示非常難的編程語言,而3則表示一般難度的編程語言。環境因素及其權重對于經驗有關的因素,0表示沒有該主題的經驗,82用例點方法進行工作量估計時,一般在整個生命期中為每個UCP分配20人時,由此得出的估計是很粗的。需要對它按如下步驟做進一步精化。計算有多少個因素的值小于3,有多少個因素的值大于3。如果值小于3的因素總數很少,則每個UCP分配20人時是合適的。如果有很多,則每個UCP分配28人時。換句話說,每個UCP分配20~28人時,而項目經理可以根據各種因素決定使用哪個值。

用例點方法進行工作量估計時,一般在整個生命期中為每個UCP分83進度估計即估算完成各個活動所需的時間。影響活動工期的因素有:——意外事件——小組成員的工作熟練程度與工作效率——資源供應情況活動歷時估算方法——類比法——專家判斷法——資料統計法資料嚴重不足時,可用經驗公式估算大概的工期:(樂觀的估計+4*最有可能的估計+最悲觀的估計)/6進度估計即估算完成各個活動所需的時間。84繪制優先網絡圖·召集項目組的主要成員參加,集體繪制;·確保每一個活動都有前任活動與后續活動;·暫時不要考慮活動需要多長時間;·用及時貼、膠帶紙或磁鐵卡片等既可固定又可方便移動的道具。繪制優先網絡圖·召集項目組的主要成員參加,集體繪制;85關鍵路徑在項目網絡圖中,從左到右把時間相加,時間最長的那條路徑就是關鍵路徑,它表明了完成項目所需的最短時間關鍵路徑在實施項目的不同線路上通過順推(左到右)和逆推(右到左)兩種方式來確定在非關鍵路徑上的活動,在其最晚的完成時間,也就是及時貼右下角的數字大,它們之間的差即為浮動時間。關鍵路徑上的任務分配給最能干、最負責任的人員;有浮動時間的活動,訓練新人,運用新技術在項目進行過程中,關鍵路徑有可能由于活動的推遲而發生變化關鍵路徑在項目網絡圖中,從左到右把時間相加,時間最長的那條路86進度計劃建議的進度應當在以人月為單位的總工作量的平方根左右;例如,如果估計的工作量為50人月,則一個由7~8個專職工作7~8個月的進度計劃比較合適。一般來說,設計大概占進度的40%(20%用于概要設計,20%用于詳細設計),構建占40%,而集成和系統測度占20%。設計、構建、集成和測試階段的人力分配分別是1:2:1(因此這些階段的工作量分配為1:2:1)。進度計劃建議的進度應當在以人月為單位的總工作量的平方根左右;87質量規劃軟件質量:已交付軟件中每個單位規模的故障數。軟件故障:某種使軟件表現出與客戶的要求或者需要不一致的方式進行運轉的問題故障可以在軟件過程的任何階段引入;故障排除成本與故障潛伏時間成正比;在每個可引入故障的階段之后執行質量控制故障排除任務包括需求評審、設計評審、代碼評審、單元測試、集成測試、系統測試和驗收測試質量規劃軟件質量:已交付軟件中每個單位規模的故障數。88質量管理的量化故障排除效率(defectremovalofficiency,簡稱DRE):QC任務檢測到的故障數占現有總故障數的百分比。故障預測(defectpredition)。這種方法根據已交付軟件的故障密度設定質量目標。質量管理的量化故障排除效率(defectremovalo89CMM與項目管理

-CMM與項目管理研討會心得交流第二事業部寇東CMM與項目管理

-C90概要CMM簡介項目管理簡介軟件項目管理軟件工程需求工程軟件測試概要CMM簡介91問題主管在項目在進行過程中詢問項目的進展情況,你撓撓頭皮:設計做的差不多了,一部分已經開始編碼了。主管不滿意了:什么時候能交活?你有些底氣不足:至少還得一個多月的時間。主管著急了:就剩兩周的時間了,你要花一個月,上一周你還答應可以在三周內完成。六周過去了,你的項目組還在測試,還在修改代碼。兩個月過去了,項目終于完成了。盡管客戶有不少抱怨,但總算做了驗收。 下一個項目會怎樣?問題主管在項目在進行過程中詢問項目的進92SEI的解決方案設定目標度量與跟蹤預測與糾正計劃與評審理性管理4312理性管理度量與跟蹤要求有紀律的工作要求具體的計劃計劃評審和協商設定具有短期目標和目的目標的評審和跟蹤預測并糾正問題監督經營業績SEI的解決方案設定目標度量與跟蹤預測與糾正計劃與評審理性93SEI的解決方案軟件項目管理的重要原則:—重視軟件質量—始終如一地強調有紀律的工程工作理性管理的四要素CMM/CMMI/PSP(PersonalSoftwareProcess)/TSP(Team

SoftwareProcess)SEI的解決方案軟件項目管理的重要原則:94軟件流程

Asoftwareprocesscanbedefinedasasetofactivities,methods,practices,andtransformationsthatpeopleusetodevelopandmaintainsoftwareandtheassociatedproducts(e.g.,projectplans,designdocuments,codes,testcases,andusermanuals)。如何工作(軟件開發和維護)軟件流程

Asoftwareprocesscanbe95軟件流程能力

softwareprocesscapability遵循這樣的軟件流程,有多大可能可以達到預計的結果。軟件流程能力提供了一種有效的手段,可以預計軟件組織承擔某個項目最有可能的結果是什么樣的。軟件流程能力

softwareprocesscapabi96軟件流程性能

softwareprocessperformance代表了遵循這樣的軟件流程,真正達到的結果是怎樣的。軟件流程能力表述的是期望的結果,而軟件流程性能表述的是實際的結果。軟件流程性能

softwareprocessperfor97軟件組織成熟度不成熟的組織最大的特征就是“救火”,只顧、也只能忙于解決眼前的問題,而眼前的問題又往往一個接一個。成熟的組織要有序得多,力圖預防問題,而非應付問題,雖然也可能出現意外情況,但對此是早有防范的,是有準備的。成熟與否導致的最終結果就是客戶對其能否勝任軟件項目的信心有所不同不同。軟件組織成熟度不成熟的組織最大的特征就是“救火”,只顧、也只98軟件流程成熟度

softwareprocessmaturity一個特定的流程在多大程度上被明白無誤的定義、管理、衡量和控制,以及有多有效。軟件組織的軟件流程成熟度預示著它的軟件流程能力有多大的發展潛力,這不僅指它的軟件流程有多豐富,多完備,而且指這些軟件流程在最大程度上是一致的,在整個組織范圍內,在任何一個項目中,都是被很好的了解和貫徹。軟件流程成熟度

softwareprocessmatur99CMM概貌CMM是一個階梯式的模型它根據軟件組織的流程成熟度高低分成了5個級別(level),從第一級的初始級一直到第五級的優化級初始級可重復級已定義級可管理級優化級紀律化標準化可預測持續改進CMM概貌CMM是一個階梯式的模型初始級可重復級已定義級可100指導軟件組織逐步成熟的框架任何一個軟件組織,在某個時刻,都可以依據一定的標準來被劃定處于哪個級別。這個組織就可以知道,它下一步要爭取的級別是哪一級。CMM可以說是一個指導軟件組織如何一步一步的走向成熟的框架。每一個低的級別都是向更高級別邁進的基礎。指導軟件組織逐步成熟的框架任何一個軟件組織,在某個時刻,都可101KPA(KeyProcessArea)

—劃定組織流程成熟度級別的依據除了初始級外,每個級別都包括若干個KPA,每個KPA又設定了2至4個目標。當某個KPA的所有目標達到時,就可以說該KPA被滿足了;當某個級別的所有KPA(除了極個別KPA不是必須的)都被滿足時,我們就可以說,已經達到該級別了。KPA(KeyProcessArea)

—102KPA歸類

類別等級管理類組織類工程類優化級技術更新管理過程變更管理缺陷預防可管理級量化過程管理軟件質量管理已定義級集成軟件管理組間協調組織過程焦點;組織過程定義;培訓大綱軟件產品工程;同級評審可重復級需求管理;軟件項目計劃;軟件項目跟蹤與監督;軟件子合同管理;軟件質量保證;軟件配置管理初始級KPA歸類類103CMMKPA應用既要利用KPA有重點、有次序的指導流程改進,也不要眼里只有KPA,忘記了現實的狀況。有關鍵流程區,當然還有非關鍵流程區;所以,千萬不要以為,處于某個級別的組織,所要面對的流程只是那幾個KPA;要做的流程,其實遠遠不止這些。可重復級只有6個KPA,沒有涉及基本的軟件工程活動(如系統設計、軟件測試),也沒有涉及項目資源(如必須的軟硬件和其他設備)采購、客戶交流等等,而這些對于做好項目(更不要說要可重復了)也是非常重要的。CMM沒有涉及這些流程,是因為它把這些流程歸結為“非關鍵”的,但“非關鍵”并不等同于可忽略的。CMMKPA應用既要利用KPA有重點、有次序的指導流程改104CMM

內部結構關鍵過程區表明關鍵過程的實施和制度化CMM

內部結構關鍵過程區表明關鍵過程的實施和制度化105共有特性(commonfeature)

與關鍵實踐(keypractice)每個KPA都包含了相關的一系列KP,這些KP提供了達到KPA目標的一個指導。是指導,而非必須。正所謂“條條大路通羅馬”,我們完全可以采取其他的做法(Practice)來滿足目標,甚至可以是CMM沒有提到的Practice。每個KPA的所有KP都按照共有特性(commonfeature)歸類將KPA的KP按照共有特性組織起來,完全是為了方便共有特性(commonfeature)

與關鍵實踐(key106KP共有特性(commonfeature)實施承諾(commitmenttoperform)實施承諾通常包括是否建立了相關的制度,管理層是否支持等等。實施能力(abilitytoperform)包括諸如是否有足夠的人力資源、培訓等等實施活動(activitiesperformed)度量和分析(measurementandanalysis)實施驗證(verifyingimplementation)KP共有特性(commonfeature)實施承諾(co107CMM強調KPA達成目標的一貫性和有效性,而不是今天能達到,明天就很難說。CMM強調KPA達成目標的一貫性和有效性,而不是今天能達108CMM第一級:初始級特點:項目的成功與否不是靠合理有效的軟件流程來保證的,而是靠個人能力來保證的。無論組織內部的管理高層,還是外部的客戶,都無法預見其項目的前景和結果,更不要說將結果控制在預算和進度之內。要求:初始級沒有任何KPA,這一點與其他各級不同。在CMM中,只要從事軟件生產和維護,該軟件組織就自動達到第一級。而再往上就要經過CMM評估了。注意:不要把未經CMM評估與處于初始級兩者混淆,有些軟件組織雖然沒有經過CMM評估,但以CMM的要求看,也許遠遠超出初始級的標準。CMM第一級:初始級特點:項目的成功與否不是靠合理有效的軟件109CMM第二級:可重復級軟件組織能力不再受制于個人,但是也非組織擁有,而是依賴于項目組。項目組從以往的類似項目中歸納成功經驗和失敗教訓,并以此作為指導新項目開展的依據,從而在很大程度上,可以保證類似項目的再次成功。用一個詞來概括,那就是“有紀律的”。項目組在其范圍內,實施基本的項目管理,并對進度、預算和產品功能進行計劃和跟蹤,這樣,項目的進展處于一種基本可控的狀態。一個軟件項目不再是一個“魔術般”的黑箱子,而是一些連續的黑箱子。CMM第二級:可重復級軟件組織能力不再受制于個人,但是也非組110實施CMM2管理層的表率作用。管理層人員必須首先注重自身流程的紀律化。有些項目經理或者質量管理人員,往往首先看到的是“程序員”的自由散漫,一要流程改進,就要求“程序員”遵循這個規矩那個條例,就要寫文檔,開大會;這不僅違背了CMM的初衷,更敗壞了流程改進的名聲缺乏群眾基礎的流程改進,無法取得實效實施CMM2管理層的表率作用。管理層人員必須首先注重自身流程111CMM2KPA需求管理(RequirementManagement)軟件項目計劃(SoftwareProjectPlanning)軟件項目跟蹤和監控(SoftwareProjectTrackingandOversight)軟件轉包合同管理(SoftwareSubcontrackManagement)軟件質量保障(SoftwareQualityAssurance)軟件配置管理(SoftwareConfigurationManagement)。CMM2KPA需求管理(RequirementMana112CMM第三級:已定義級是在整個組織范圍內,開發和維護軟件的流程,包括管理的和工程的,以及這些流程的集成,已被明確地書面定義。各個項目就可以依據這一流程標準進行裁剪,明確其中每一項具體任務和工作的輸入、輸出、開始和完成的判斷標準和條件、操作過程、以及驗證措施等等。已定義級不再是一些連續的黑盒;由于每一項具體任務和工作都是可見的,因此外部人員可以隨時深入到“黑盒”中,了解項目內部的進展情況,從而也使項目的及時調整和降低風險成為可能。CMM第三級:已定義級是在整個組織范圍內,開發和維護軟件的流113CMM3特點不同項目和歷史項目的成功經驗和失敗教訓可以相互比較已定義級組織的能力是屬于組織的,而不是項目團隊的,更不是成員個人的。為了保證整個組織流程的標準和一致性,通常會有一個跨項目的團隊,比如SEPG(SoftwareEngineeringProcessGroup)負責整個組織的流程活動。為了使組織內每一個人明確自己的角色和權責,并能有效實施,整個組織范圍內的培訓是必不可少的。要建立起這樣的流程,對個人的工作要授權,不要過分刻板。常有人把CMM解釋為刻板的文檔和僵硬的工作規范,這樣的理解至少是極端化的。刻板僵硬,以及隨之而來的官僚作風,并不是CMM天生使然,而是對CMM的曲解和誤用。CMM3特點不同項目和歷史項目的成功經驗和失敗教訓可以相互比114CMM3KPA組織過程焦點(OrganizationProcessFocus)組織過程定義(OrganizationProcessDefinition)培訓大綱(TrainingProgram)集成軟件管理(IntegratedSoftwareManagement)軟件產品工程(SoftwareProductEngineering)組間協調(IntergroupCoordination)同級評審(PeerReviews)CMM3KPA組織過程焦點(OrganizationPr115CMM第四級:受管理級定性的比較發展為定量的比較,從而使得人們(無論是內部的,還是外部的)可以更加科學、客觀的預測軟件項目的進度、預算和質量。定量是指在一定的概率內使結果誤差控制在一定的范圍內。如:存在90%的可能,進度誤差不超過20%。處于受管理級的組織能及時采取糾正和彌補措施。確定要度量些什么。依靠收集和挖掘自身歷史數據進行軟件度量。CMM第四級:受管理級定性的比較發展為定量的比較,從而使得人116CMM4KPA量化過程管理(QuantitativeProcessManagement)軟件質量管理(SoftwareQualityManagement)CMM4KPA量化過程管理(QuantitativePr117CMM第五級:優化級重點從“建立”進一步轉移到“優化”上。優化靠自己的積累、嘗試和總結經驗教訓。具備了自我改進的基礎架構和實現系統。盡管組織的內部情況會變化,外部環境和要求也會不同,但組織都可以在原有的基礎上進行可控可測的流程優化,因為流程的每一個環節都是可見的、可客觀評價的CMM第五級:優化級重點從“建立”進一步轉移到“優化”上。118CMM5KPA缺陷預防(DefectPrevention)技術更新管理(TechnologyChangeManagement)過程變更管理(ProcessChangeManagement)CMM5KPA缺陷預防(DefectPrevention119CMM各級別關系CMM高級別和低級別之間是存在很強的依賴性的,這樣的依賴性不是強加的,而是自然的,符合邏輯和實踐檢驗的。跳躍式前進的結果只能是拔苗助長,導致生產率和質量的下降。不僅成熟度級別之間存在嚴格的先后關系,在各個KPA之間,即使在同一級別內,也存在嚴格的先后關系。例如,需求管理是項目計劃的基礎,而項目計劃又是項目跟蹤與監控的前提。CMM各級別關系CMM高級別和低級別之間是存在很強的依賴性的120項目的基本概念項目是一個組織為實現自己既定的目標,在一定的時間、人員和資源約束條件下,所開展的一種具有一定獨特性的一次性工作。PMI的定義: Atemporaryendeavorundertakentocreateauniqueproductorservice. 在一段時間內為完成某一獨特的產品或提供獨特的服務所進行努力的過程。項目的基本概念項目是一個組織為實現自己既定的目標,在一定的時121現代項目管理知識體系1.項目集成管理

確保各種項目工作和項目的成功要素能夠很好的協調與配合,以及相應的管理理論、方法、工具。2.項目范圍管理

計劃和界定一個項目或項目階段需要完成的工作和必須要完成的工作的管理工作的理論、方法、工具。3.項目時間管理

又叫項目工期進度管理,是有關如何按時完成項目工作的理論、方法、工具。4.項目成本管理

又叫項目選價管理,是如何在不超出項目預算的情況下完成整個項目工作,所需的管理理論、方法、工具。5.項目質量管理

如何確保項目質量,以及保證項目質量所需的管理理論、方法、工具。現代項目管理知識體系1.項目集成管理122現代項目管理知識體系6.項目人力資源管理

如何更有效地利用項目所涉及的人力資源,以及在項目人力資源管理方面所需的管理理論、方法、工具。7.項目溝通管理

如何有效、及時地生成、收集、儲存、處理和最有效的使用項目信息,以及在項目信息和溝通管理方面所需的管理理論、方法、工具。8.項目風險管理

如何識別項目風險、分析項目風險和應對項目風險,以及項目風險管理所需的管理理論方法、工具。9.項目采購管理

也叫做項目獲得管理,是有關從項目組織外部尋求和獲得各種商品與勞務的管理,以及這一管理所需的理論、方法、工具。許多項目涉及到承包商為購買方工作的情況。在這種情況下,購買方提供最初的產品描述,也成為工作說明(SOW)現代項目管理知識體系6.項目人力資源管理123項目管理的過程

現代項目管理理論認為任何項目都是由兩個過程構成:其一是項目的實現過程其二是項目的管理過程現代項目管理將整個項目的全部工作看成是由一系列項目階段構成的一個完整的項目生命周期。項目管理的過程

現代項目管理理論認為任何項目都是由兩個過程構124項目工作階段項目的定義與決策階段項目的計劃和設計階段工期計劃、成本計劃、質量計劃、資源計劃和集成計劃項目的實施與控制階段項目的完工與交付階段項目工作階段項目的定義與決策階段125項目管理過程一個項目的全過程或項目階段都需要有一個相對應的項目管理過程。這種項目管理過程一般由五個不同的管理具體工作過程構成。起始過程計劃過程實施過程控制過程收尾過程項目管理過程一個項目的全過程或項目階段都需要有一個相對應的項126管理過程間相互關系起始過程各管理工作過程之間的相互聯系結束過程控制過程實施過程過程計劃過程起始過程計劃過程實施過程控制過程管理過程間相互關系起始過程各管理工作過程之間的相互聯系結束過127管理過程間交叉重疊關系控制過程計劃過程實施過程結束過程起始過程活動過程階段始點階段終點時間一個項目階段中管理工作過程的交叉、重疊關系圖示管理過程間交叉重疊關系控制過程計劃過程實施過程結束過程起始過128項目階段間管理過程關系(前面的階段)(后面的階段)項目階段之間的管理工作過程間的相互作用項目設計階段項目實施階段起始過程起始過程計劃過程計劃過程實施過程控制過程結束過程結束過程實施過程控制過程項目階段間管理過程關系(前面的階段)(后面的階段)項目階段之129如何執行項目必須遵循那些經試驗證明效果良好的方法謹慎地執行每個工程任務必須用文檔正確地記錄工作產品,以便其他人員能夠查閱它們。項目任務必須經過仔細規劃,并將它們分配給執行項目的人員,然后在項目執行的同時對它們進行跟蹤。換句話說,要成功地執行較大規模的項目,必須在軟件工程和項目管理這兩方面增強正規程度和嚴格程度。如何執行項目必須遵循那些經試驗證明效果良好的方法謹慎地執行每130軟件項目的管理過程軟件項目主要涉及兩方面的任務:軟件工程和項目管理。軟件工程方面涉及系統的建立,并重點關注如何分析需求、設計、測試、編碼等問題。項目管理方面涉及如何設置里程碑、組織全體人員、管理風險、監督進展等規劃和控制軟件工程的行為,以滿足項目在成本、進度和質量方面的目標。

軟件項目的管理過程軟件項目主要涉及兩方面的任務:軟件工程和項131過程的定義從技術上講,對于某個任務的一個過程,它由執行該任務時應當遵循的一個步驟序列組成。對一個組織而言,它建議其工程師和項目經理使用的過程就遠非一個步驟序列了;它們涵蓋了工程師們和項目經理所掌握的成功地執行項目的實踐。通過過程就可能將好的經驗同所有人共享,包括公司中新來的員工。這些過程有助于管理人員和工程師借鑒過去的成功經驗,從而避開導致失敗的陷阱。過程的定義從技術上講,對于某個任務的一個過程,它由執行該任務132為什么必須遵循過程過程代表著集體的智慧,使用它們可以增加成功的機會。過程可能會包含一些多余的步驟,但是你事先不可能完全知道哪些步驟是不必要的,因些捷徑可能會增加風險。如果沒有采用過程,你就不能很好好預測項目的結果。

如果沒有定義過程,你和組織就不能進行有效地學習。而學習和提高是當今知識世界必有可少的事情。過程減少了你須考慮的問題。檢查表(checklist)必須會涵蓋80%要做的事情,大大地減少了你的任務,因而你只須完成剩下的20%。為什么必須遵循過程過程代表著集體的智慧,使用它們可以增加成功133項目管理與CMM

有效的過程有助于成功地執行一個項目軟件CMM提出了有效過程特征的框架。CMM是目前使用最為普遍的軟件過程改進框架之一(現在其他常用框架有ISO9001)。項目管理與CMM

有效的過程有助于成功地執行一個項目134項目管理與CMM2KPA第2級(可重復等級)KPA的目標————明確地表明第2級的重點幾乎全部在項目管理上。在這些目標指導下,你建立一個項目計劃并用文檔記錄它,根據計劃評估正在進行的項目的績效,并在實際績效明顯地偏離計劃時采取相應的措施。需求用文檔正確地記錄下來,并對需求的變更進行正確的管理。所有工作產品都在控制之中,并根據一個事先制定好的配置管理計劃正確地管理對產品的變列。執行評審與審計。確保遵循計劃的過程和標們標準。如果項目的某些部分被轉包給其他軟件開發商,則也要對被轉包的工作進行正確地監督。項目管理與CMM2KPA第2級(可重復等級)KPA的目標—135項目管理與CMM3KPA第3級(已定義級)中3個KPA的目標——重點強調組織管理和過程管理問題。對于達到第3級能力成熟度的組織中的項目,它使用專用型的標準過程,并重用以往項目的資源、數據和經驗進行規劃。執行項目的各小組通過良好定義的接口和機制進行愉快地合作。正確地執行評審以標識出工作產品中存在的缺陷,并為執行評審和隨后的任務提供充分的支持。項目管理與CMM3KPA第3級(已定義級)中3個KPA的目136項目管理與CMM4KPA第4級(已管理級)上KPA的目標——在第4級上,組織的過程能力用量化術語表示,過程能力用于設定一個項目的量化目標。有關項目績效方面的數據在當前的基礎之上進行收集并與以往的績效進行比較;如果覺察到明顯的偏差,則采取正確的行動恢復對項目的控制。第4級的一個關鍵特點是在當前基礎上使用統計過程控制技術,以便在需要時可以評估每種任務并采取正確的行動。項目管理與CMM4KPA第4級(已管理級)上KPA的目標137項目管理與CMM5KPA第5級上的3個KPA重點強調過程能力的改進。在這3個KPA中,故障預防KPA對項目管理影響最大。這個KPA要求通過系統地分析故障的原因,然后消除那原因,從而前瞻性地預防故障。如果能夠預防故障進入軟件,則可以減去排除它們的工作量,從而提高質量和生產率。項目管理與CMM5KPA第5級上的3個KPA重點強調過程能138軟件項目管理建議執行一個項目的全部責任由項目經理負責。他必須確保項目團隊在規定的成本內按時將高質量的軟件交付給客戶。為了幫助項目經理實現這一責任,必須得到組織的支持(權力下放)。軟件項目管理建議執行一個項目的全部責任由項目經理負責。139SoftwareEngineeringProcessGroup軟件企業應該設立質量部門,其下轄一個軟件工程過程小組(softwareengineeringprocessgroup,簡稱SEPG)。SEPG負責協調所有過程任務,包括過程定義、過程改進以及過程部署。它還管理所有與過程使用相關的信息和數據(諸如過程數據庫和過程能力基準)提交產品的全部責任(包括質量)屬于項目團隊,但是SEPG使得項目團隊能夠輕松地遵循正確的過程。SoftwareEngineeringProcessG140SEPG對項目的支持SEPG還形成了一個獨立地監督過程問題和質量問題的渠道,并通過這個渠道向高級管理層報告這些問題。因為“過程不能依靠過程本身得到堅持”,所以SEPG有助于確保已義的過程得以實現并成為標準的實踐。SPEG要制定定期獨立審計的計劃,并對它們進行管理,以確保已定義的過程和標準得以遵守。SEPG對項目的支持SEPG還形成了一個獨立地監督過程問題和141SoftwareQualityAdvisorSEPG除了提供過程培訓外,還提供了一個與項目相關的成員,稱為軟件質量顧問(softwarequalityadvisor)。質量顧問幫助定義過程和遵循過程,確保過程得以遵守,幫助分析數據,并提供任何需的過程培訓。因為顧問非常精通于項目過程、指南等等,所以顧問的主要幫助在對項目規劃的過程中。顧問還評審目計劃,以確保它包含了全部的關鍵要素。

SoftwareQualityAdvisorSEPG除了142軟件項目管理過程項目經理執行的一系列任務可以在項目管理(projectmanagement)過程中加以規定。這是一個非常標準化的過程,有五個主要階段:項目啟動項目規劃項目執行項目監控項目收尾軟件項目管理過程項目經理執行的一系列任務可以在項目管理(pr143項目啟動和規劃階段●執行項目啟動和管理任務

●制定一個包含進度的項目計劃

●執行項目計劃和進度計劃的評審

●獲得高級管理人員的授權

●定義和評審配置管理計劃

●使項目團隊適應項目管理計劃●牽涉到客戶、一個SEPG代表以及項目的業務經理●開始的標志是簽定了項目合同或者得到了項目授權。而收尾的標志是已經用文檔記錄了項目計劃,并且小組對它們進行了評審項目啟動和規劃階段●執行項目啟動和管理任務

●制定一144項目執行,監控階段在這一階段團階的其他成員也要參與。開始的標志是項

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論