1/45軟體工程課程聯盟/軟體專案管理課程第十九章軟體專案的標準與發展簡介執行單位:國立臺灣科技大學軟體工程學程中心2/45軟體工程課程聯盟/軟體專案管理課程大綱(1/2)CMM與CMMI簡介CMMI模型、CMMI的兩個構面CMMI五個成熟度等級評鑑方式與現況PMI與PMBOK專案管理的過程PMBOK與PMP認證的特點3/45軟體工程課程聯盟/軟體專案管理課程大綱(2/2)ISO/IEC12207簡介ISO/IEC12207的架構主要生命週期作業支援性生命週期作業機構生命週期作業4/45軟體工程課程聯盟/軟體專案管理課程學習目標認識CMMI、PMBOK、ISO/IEC12207的主要架構及規範事項。學習如何將上述標準應用在軟體專案管理活動中。5/45軟體工程課程聯盟/軟體專案管理課程導論由於跨組織間的專案合作日益頻繁,一個有效的管理標準是組織間共同溝通橋樑。參與國際標準的認證能提高組織爭取專案的競爭力;就公司層面而言,即增加了再市場上有力武器。對於內部的開發流程,遵循標準有利於經驗的累積與知識傳遞。6/45軟體工程課程聯盟/軟體專案管理課程CMM與CMMI簡介(1/2)CMM(CapabilityMaturityModel)一個可幫助軟體開發者改善軟體流程的流程成熟度架構。由美國卡內基美隆大學(CMU)的軟體工程學院(SEI)受美國國防部委託,於1986年開始發展。7/45軟體工程課程聯盟/軟體專案管理課程CMM與CMMI簡介(2/2)CMMI(CMMIntegration)CMMI1.1版於2001年12月發布,並於2002年8月發布修正版;範圍涵蓋軟體工程:SW-CMMV2C系統工程:EIA731,SECM產品整合:IPD-CMM供應商供應(SS)2003年底起,SEI取消於網站公佈通過CMM的企業名單;轉向推廣CMMI。8/45軟體工程課程聯盟/軟體專案管理課程CMMI模型SourceModels•CapabilityMaturityModelforSoftwareV2,draftC(SW-CMMV2C)•EIA731,SystemEngineeringCapabilityModel(SECM)•IntegratedProductDevelopmentCapabilityMaturityModel,draftV0.98(IPD-CMM)SoftwareEngineeringmodel–Meetstheneedsofsoftwaredevelopmentandmaintenanceorganizations–Meetstheneedsofinformationtechnologyorganizations–Benefitsfrombestpracticescontributedfromallthreesourcemodels9/45軟體工程課程聯盟/軟體專案管理課程CMMI的兩個構面10/45軟體工程課程聯盟/軟體專案管理課程CMMI五個成熟度等級(1/4)11/45軟體工程課程聯盟/軟體專案管理課程CMMI五個成熟度等級(2/4)Level1:初始階段不確定的工作方式沒有固定流程,無法提供穩定環境、資源,經常超出專案時程及預算。成功經驗無法重複,大多依賴少數有經驗者偶而獲得成功。Level2:管理階段建立基本專案管理流程,依據專案進度表進行開發。能重複利用先前的經驗,開發類似的專案。12/45軟體工程課程聯盟/軟體專案管理課程CMMI五個成熟度等級(3/4)Level3:定義階段具備標準化的工程活動和管理活動。軟體的開發與維護皆照此標準基礎進行。Level4:數量化管理階段對於產品成果與開發過程能以數量化的方式控制。界定流程變異的起因,並適當矯正防止再度發生。強調對軟體發展過程級產品品質的定管理。13/45軟體工程課程聯盟/軟體專案管理課程CMMI五個成熟度等級(4/4)Level5:最佳化階段經由開發過程的定量反饋機制,不斷產生新的思想,並研擬新的技術來最佳化相關流程。組織及專案必須追求持續、可度量的過程改進。包括缺陷預防、技術更新管理與流程改造管理。14/45軟體工程課程聯盟/軟體專案管理課程CMMI的效益根據SEI對「高成熟度公司」的訪查結果專案時程與預算預估能力提昇40%以上。每年約10%到20%的生產力提昇。增加客戶滿意度降低開發成本;每提昇一級約可降低5%到10%的開發成本。LockheedMartin公司在連續五年改善軟體開發流程後,軟體瑕疵數降低90%,上市時間增快40%,開發成本降低75%。15/45軟體工程課程聯盟/軟體專案管理課程CMMI的現況(1/3)印度:直到2003年4月,印度共有238家公司參與CMM評估,位列世界第二。在全球98家獲得CMMILevel5的公司中,一半以上來自印度,位列世界第一。16/45軟體工程課程聯盟/軟體專案管理課程CMMI的現況(2/3)中國:直到2003年4月,中國已有73家企業通過CMM認證。國家頒布鼓勵軟體產業政策中,「鼓勵軟件出口型企業通過CMM認證。其認證費用由中央外貿發展基金予以支援」。北京、珠海、深圳給予通過認證的企業不同金額的獎勵。17/45軟體工程課程聯盟/軟體專案管理課程CMMI的現況(3/3)台灣:建立與SEI的合作關係組織SPIN-TaiwanSPIN:SoftwareProcessImprovementNetwork出版CMMI導入指引建立誘因以鼓勵軟體流程改善目前(~Feb,2005)已取得認證的機構:Level3:資策會資訊工程研究所、凌群電腦、緯創軟體。Level2:資策會電子商務研究所、網路多媒體研究所、漢龍資訊、漢康科技、星動科技等十三家。18/45軟體工程課程聯盟/軟體專案管理課程CMMI評鑑方式(1/2)A級評鑑SCAMPI:StandardCMMIAppraisalMethodforProcessImprovement完整詳盡、涵蓋全部模式,提供正式成熟度等級評鑑。B級評鑑完整詳盡度較低,成本也較低。不提供正式的成熟度等級評鑑C級評鑑僅作快速檢視,檢查特定風險領域。19/45軟體工程課程聯盟/軟體專案管理課程CMMI評鑑方式(2/2)特徵ClassAClassBClassC所需蒐集的客觀證據數量(相對)多中少評定等級的產生有無無所需資源(相對)多中少評鑑小組規模大中少評鑑天數4~10天1~3天1天資料來源問卷、文件審查、訪談三者一定要有訪談,問卷、文件二選一問卷、文件審查、訪談三者之一主評鑑員的資格CMMI主評鑑員CMMI主評鑑員或經過訓練且有經驗的人員經過訓練且有經驗的人員20/45軟體工程課程聯盟/軟體專案管理課程PMI與PMBOK(1/3)PMI(ProjectManagementInstitution)成立於1966年,目前是全球最具影響力的專案管理研究機構。在1987年推出PMBOK1.0(ProjectManagementBodyofKnowledge)專案管理人員可透過考試認證成為PMP(ProjectManagementProfessional),提供了一個客觀的標準得以衡量專案管理人員。21/45軟體工程課程聯盟/軟體專案管理課程PMI與PMBOK(2/3)認證過程中,特別強調專案管理人員的實際參與經驗;有效地將專案管理學科與具體的專業知識作結合。PMBOK九個知識領域:範圍、時間、成本、品質、人力資源、溝通、風險、採購、綜合管理。每個知識領域各包含數量不等的專案管理過程。五個管理過程:啟動、計畫、執行、控制、結束。22/45軟體工程課程聯盟/軟體專案管理課程PMI與PMBOK(3/3)PMBOK涵蓋了專案管理實施時基本的管理過程;藉由與實際的產出相結合,才能完成整個專案的行為。在軟體專案管理中,可將PMBOK的部分視為骨架,而實質內涵可以是CMM。23/45軟體工程課程聯盟/軟體專案管理課程專案管理的過程(1/2)啟動計畫執行控制結束整體管理專案計畫制定專案計畫執行整體變更控制範疇管理啟動範疇規劃與定義範疇審核與變更控制時間管理活動定義與排序、週期估計、進度安排進度控制成本管理資源計畫、成本估計成本控制管理過程知識領域24/45軟體工程課程聯盟/軟體專案管理課程專案管理的過程(2/2)啟動計畫執行控制結束品質管理品質計畫品質保證品質控制人力資源管理組織計畫、人員獲取團隊建設溝通管理溝通計畫訊息傳達成效匯整專案結束風險管理風險管理計畫、辨識、量化分析、影響評估風險控制採購管理採購計畫、招標計畫招標、選擇招標對象、合約管理合約結束執行過程知識領域25/45軟體工程課程聯盟/軟體專案管理課程PMBOK與PMP認證的特點不專注於專案管理學科上的概念。重點有:專案生命週期階段各階段的主要活動、階段目標與責任。專案管理組織模式各種模式的差異、優缺點所在。專案的目標管理專案經理的主要工作與責任。26/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207ISO/IEC12207簡介ISO/IEC12207的架構主要生命週期作業支援性生命週期作業機構生命週期作業27/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207簡介(1/5)由企業層級依據企業流程,律定標準作業程序,明訂實務工作範圍,進而產生企業共同遵循的作業樣版或模範,目的在於使專案作業流程得以再使用、改良及整合,縮短專案開發時程,且企業資源得以有效協調分配,流通性強,預期遭遇的阻力與風險亦隨之降低。28/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207簡介(2/5)國際標準組織(ISO)及國際電工學委員會(IEC)亦於1995年發表ISO/IEC12207,以規範軟體生命週期的程序應做什麼(WHAT)。1998年IEEE和EIA聯合發展出IEEE/EIA12207標準(本標準包括IEEE/EIA12207.0,IEEE/EIA12207.1及IEEE/EIA12207.2等三部分),作為業界軟體發展實務的基礎(HOW)。面對軟體工程之國際標準不斷演進,我們亦應及早著手發展與國際標準同步的相關規範。29/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207簡介(3/5)傳統專案層級所遵循之標準傳統專案層級所遵循之標準軟體工程標準企業層級專案層級企業流程程序、實務、樣版等專案流程程序、實務、樣版等專案要求遵循相關標準每個專案採用唯一的程序集合等引發的課題:引發的課題:SWSW工程標準對一個組織的能量工程標準對一個組織的能量與成熟度而言是不相關的與成熟度而言是不相關的30/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207簡介(4/5)傳統專案層級遵循之標準與企業層級的企業流程無關,軟體工程標準係以專案的屬性或主持人專精熟稔的相關軟體工程標準為遵循依據從短期來看,專案的發展能順應主持人所熟悉的軟體工程標準,提高軟體品質並縮短發展時程,節省不必要的資源浪費從長遠來看,企業缺乏統一遵循的軟體工程標準,各資訊系統間整合困難,相容性低,維護成本高,面對風險的抗壓性低。31/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207簡介(5/5)企業層級所應採取之方式企業層級所應採取之方式軟體工程標準企業層級專案層級企業流程程序、實務、樣版等專案流程程序、實務、樣版等企業要求遵循此標準每個專案得以使用企業之程序等引發的課題:引發的課題:SWSW工程標準為實施可重複及可工程標準為實施可重複及可改良之作業流程基礎改良之作業流程基礎專案遵循企業之流程32/45軟體工程課程聯盟/軟體專案管理課程ISO/IEC12207的架構(1/2)ISO/IEC12207可分成四個部分範圍:包括標準的制定目的、應用領域、裁適、如何遵循以及限制。參考範例:列出標準制定參考的範例。定義:對標準中所使用的術語清楚的定義或是加以解釋。生命週期作業五項主要生命週期作業八項支援生命週期作業四項機構生命週期作業33/45軟體工程課程聯盟/軟體專案管理課程主要生命週期作業(1/5)(5)主要生