360 likes | 757 Views
軟體流程改善 與 CMMI 簡介. 大綱. 軟體流程改善 (Software Process Improvement) CMMI 模型簡介 緣起與演進 系列產品 導入與評鑑 架構介紹 流程領域及分類 成熟度層級 導入效益. Quality Leverage Points. ...even our finest people can’t perform at their best when the process is not understood or operating “at its best.”.
E N D
大綱 • 軟體流程改善(Software Process Improvement) • CMMI模型簡介 • 緣起與演進 • 系列產品 • 導入與評鑑 • 架構介紹 • 流程領域及分類 • 成熟度層級 • 導入效益
Quality Leverage Points • ...even our finest people can’t perform at their best when the process is not understood or operating “at its best.” Everyone realizes the importance of having a motivated, quality work force but... PEOPLE TECHNOLOGY PROCESS Major determinants of product cost, schedule, and quality
Why focus on process? • Process provides a constructive, high-leverage focus... • as opposed to a focus on people • Your work force is as good as it is trained to be. • Working harder is not the answer. • Working smarter, through process, is the answer. • as opposed to a focus on technology • Technology applied without a suitable roadmap will not result in significant payoff. • Technology provides the most benefit in the context of an appropriate process roadmap. Bahill
SEI 的CMM • CMM(Capability Maturity Model) • 1986 年11 月開始發展,1987 年9 月發表成熟架構與調查表,1993年以後發展完整改進版。 • 是國際軟體業界通行的一種標準軟體開發的成熟模型。 • 規定了組織性成熟的階層式架構,以及如何判斷軟體開發所處的成熟程度。 • 用來協助軟體開發的團隊或組織,找出現有開發流程和軟體品質中最需要改進的地方,並提出一些指導方針,來幫助軟體開發的團隊或組織達到良好的流程管理和團隊開發的文化。
CMMI 專案的成立 • 旨在整理出使用多種CMM 家族所產生的問題。 • 專案任務是合併三個來源的模式: • 1. 使用於軟體的能力成熟度模式(SW-CMM V2.0 草案) • 2. 電子工業協會過度期標準(EIS/IS)731 • 3. 整合的產品發展能力成熟度模式(IPD-CMM)V0.98
CMMI 的架構 • 主要是由成熟度等級向下展開成流程領域,並依流程領域找出特定目標和一般目標,並詳述其執行方法
導入CMM(I)方法(IDEAL 模式) • 在一個組織內,要進行以CMMI 為基礎的變善工作,一般都使用SEI 所公佈的IDEAL 模式。 • 提供一個淺顯易懂的方法,它詳細描述建立成功改善方案的步驟,使組織能建立一個長期的流程改善制度。 • 包含五個階段 • 起始階段(Initiating) • 診斷階段(Diagnosing) • 建立階段(Establishing) • 行動階段(Acting) • 檢討階段(Learning)
IDEAL 模式-起始階段(Initiating) • 組成改善計畫的基礎架構,定義組織內每個士色及其職掌,根據組織的願景,策略,及過去的經驗,擬定改善的計畫。 • (1) 改革的刺激(Stimulus for Change) • (2) 設定工作內容(Set Context) • (3) 高層的支持(Build Sponsorship) • (4) 建立基礎架構(Charter Infrastructure)
IDEAL 模式-診斷階段(Diagnosing) • 診斷目前的工作模式,並界定未來的目標。 • 首先確定需要執行的基準評鑑項目及種類,以確保軟體流程改善計畫的要點與組織的經營需求是一致的。 • 然後規劃並收集所得的實際資訊,最後製作調查結果及建議報告。 • (1) 瞭解目前的狀況及期望的目標(Characterize Current & Desired Status) • (2) 發展建議方案(Develop Recommendations)
IDEAL 模式-建立階段(Establishing) • 擬定一個計劃,說明需如何達到目標。 • 在此階段組織需決定改善的行動和其優先順序,並尋找適當的解決方案,轉換在起始階段所定義的一般流程改善目標為可度量的目標,並製作監控基準,建立組織全體的共識,核准軟體流程改善的策略計畫,並配置行動所需的資源。 • (1) 設定優先順序(Set Priorities) • (2) 研究可行方法(Develop Approach) • (3) 規劃行動方案(Plan Actions)
IDEAL 模式-行動階段(Acting) • 根據計畫,確實執行。 • 此時完成改善的細部計畫,處理診斷階段所發現的問題,並提出解決方案。試行可能的解決方案後,選出最適合組織需要的,然後將經過證實的解決方案推廣至全組織。 • (1) 提出解決方案(Create Solution) • (2) 試行可能的解決方案(Pilot/Test Solution) • (3) 修正解決方案(Refine Solution) • (4) 推展解決方案(Implement Solution)
IDEAL 模式-檢討階段(Learning) • 從經驗中學習並改善自我能力,吸收更新技術。 • 進行IDEAL 模式下一個循環時,收集先前的各項學習心得,確保所使用的策略、方法,及組織架構是最佳的,修正或調整,使下一循環的軟體流程改善更有率。 • (1) 分析與驗證(Analyze and Validate) • (2) 提出未來行動建議(Propose Future Actions)
CMM(I)的評鑒 • 按照規定必須由經過SEI 授權的首席評估員(Lead Assessor)主持評估而過程包括準備,實施和報告階段。 • 先進行初始階段流程
CMM(I)的評鑒 • 再進行現場和報告階段流程
CMMI流程領域(Process areas, PA) • A process area (PA) is a cluster of related practices in an area that, when performed collectively, satisfy a set of goals considered important for making significant improvement in that area. • Practices are actions to be performed to achieve the goals of a process area. • All CMMI process areas are common to both continuous and staged representations. • A process area is NOT a process description. Bahill
CMMI流程領域(PA)分類 • 分成四類,以專案管理為基礎而工程進行研發,並進行流程管理而以支援流程輔助全部。四類又各分基礎及進階兩部分。
專案管理類PA • 包含專案管理活動有關規劃、監督與控制專案。 • (1) 專案規劃(Project Planning) • (2) 專案監控(Project Monitoring and Control) • (3) 供應商協議管理(Supplier Agreement Management) • (4) 整合的專案管理(Integrated Project Management (IPPD) • (5) 風險管理(Risk Management) • (6) 整合團隊(Integrated Teaming) • (7) 數量化專案管理(Quantitative Project Management)
工程流程類PA • 包含發展與維護的執行方法,所有的工程專業領域皆可共用該執行方法。 • 六個工程流程領域有相互關係,這些相互關系源於應用產品發展流程,而不是特定的專業領域(例如軟體工程或系統工程)。 • (1) 需求發展(Requirements Development) • (2) 需求管理(Requirements Management) • (3) 技術解決方案(Technical Solution) • (4) 產品整合(Product Integration) • (5) 驗證(Verification) • (6) 確認(Validation)
流程管理類PA • 包括整個專案執行方法相關的定義、規劃、資源分配、推展、實行、監督、控制、驗證、度量與改善流程。 • (1) 組織流程焦點(Organizational Process Focus) • (2) 組織流程定義(Organizational Process Definition) • (3) 組織訓練(Organizational Training) • (4) 組織流程績效(Organizational Process Performance) • (5)組織創新與推展(Organizational Innovation and Deployment)
支援流程類PA • 主要是包含支援產品發展與維護之執行方法及建立與維護工作環境。 • 工作環境幫助和鼓勵產品整合,並使管理人員能夠有整合的行為。 • (1) 建構管理(Configuration Management) • (2) 流程與產品品質保證(Process and Product Quality Assurance) • (3) 度量與分析(Measurement and Analysis) • (4) 整合人員與組織環境(Organizational Environment for Integration) • (5) 決策分析與解決方案(Decision Analysis and Resolution) • (6) 原因分析與解決方案(Causal Analysis and Resolution)
CMMI 的能力成熟度等級 • 成熟度 • 提供的是建議性的順序,以分階段的方式來達成流程改善。 • 此建議性的階層能讓組織將改善的工作,專注於少數對組織有利的關鍵性流程。 • 每一成熟度階段也為下一階段成熟度建立起基礎。 • 成熟度第一級:初始 (Initial) • 成熟度第二級:管理 (Managed) • 成熟度第三級:定義 (Defined) • 成熟度第四級:數量化管理 (Quantitatively Managed) • 成熟度第五級:最佳化 (Optimizing)
Categories of benefits • Process improvement benefits fall into these general categories: • improved schedule and budget predictability • improved cycle time • increased productivity • increased customer satisfaction • improved employee morale • increased return on investment • improved quality (as measured by defects) • decreased cost of quality Bahill
140% . Over/Under Percentage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .... .. . .. . .. . . . . . . . . . . . . 0 % . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -140% Without Historical Data With Historical Data Variance between + 20% to - 145% Variance between - 20% to + 20% (Mostly Level 1 & 2) (Level 3) (Based on 120 projects in Boeing Information Systems) Improved schedule and budget predictability Results: Boeing Effort Estimation Reference: John D. Vu. “Software Process Improvement Journey:From Level 1 to Level 5.” 7th SEPG Conference, San Jose, March 1997. Bahill
Improved cost & cycle time Bahill
Increased productivity and quality Lockheed Martin Naval Electronics & Surveillance Systems (NE&SS) - Radar Systems - Syracuse Bahill
Measurable return on investment • Return on software improvement investment was reported to be between 5:1 and 8:1. • (Herbsleb 94) Process improvement provides measurable return on investment. Bahill
Improved program performance • Performance to contract • Cost at Completion = Budget • Increases in productivity • 150% over 5 years • Industry Cost / Schedule Estimation Tool (COCOMO) projects 20% reduction in effort for 1 level improvement • Decreases in Cost of Nonconformance • 40% down to 10% • Increased customer satisfaction • ROI 5:1 and greater Raytheon Missile Systems Software Center Bahill