第一章 CMMI Overview 南台科技大學 資管系 陳炳文、吳敏南 編 Table of Contents • • • • • 流程與流程改善 CMMI 的基本認知 CMMI 的誤解 台灣現況與建議 Q&A 流程與流程改善 What Is a Process? • A process (流程 or 過程) is a set of practices ( or a sequence of actions) performed for a given purpose. – Integrating people, procedures & methods, and tools together. – Example? Defining a Process • A mature process is documented with process notations, e.g., data flow diagrams, activity diagrams, check lists, flowchart. • Activity details: – Purpose, participants, inputs, entry criteria, work products, outputs, exit criteria, performance measure, sub-practices, and work items. What Is a Software Process? • A software process is a set of activities, methods, practices, tools, and transformations that people employ to develop and maintain software. – The associated products include project plans, design documents, code, test cases, user manuals, … What Is a Process Model? • A process model is – a common set of process requirements, capturing best practices, practical knowledge to guide priorities. – a structured collection of elements that describe characteristics of effective processes. • A process model is used – as a guide to modify or create processes using practices that have been proven to increase process capability. – to assess process capability for two purposes: • Establish a baseline for improvement. • Measure progress as improvement activities proceed. Modeling the Software Process • Decomposing the software process, it can be viewed as a set of defect injection and defect removal activities. Defects injected Software Requirements Defects injected Defects injected Design Implementation Integration Defects removed Req. Review Design Review Code Review Defects removed Defects removed Defects removed Transition To Customer Defects removed Fielded Defects removed Will Hayes Quality Manager, SEI Appraisal Program Defect Estimating Estimating Injection & Removal 300 250 200 150 100 50 0 SW Requirements Design Implementation Integration Transition to Customer Fielded Benefits of Process Improvement • Process improvement is aimed at increasing the capability of work processes. – Process capability: the inherent ability of a process to produce planned results. – As process capability increases, • it becomes predictable and measurable. • major causes of poor quality and productivity are controlled or eliminated. Model-Based Process Improvement • Process improvement (流程改善) cycle – Management commitment and an assessment. – The findings from assessment to feed action plans. – Plans complete, perform further assessments. The cycle continue. A Process Improvement Approach by SEI: IDEAL Model Learning Propose Future Actions Analyze and Validate Implement Solution Initiating Stimulus for Change Set Context Build Sponsorship Refine Solution Charter Infrastructure Pilot/Test Solution Characterize Current and Desired States Create Solution Plan Actions Diagnosing Develop Recommendations Set Priorities Develop Approach Establishing Acting A Process Improvement Approach by SEI: IDEAL Model (2) • Initiating – Set context, Build sponsorship, charter infrastructure • Diagnosing – Characterize current & desired states, Develop recommendations • Establishing – Set priorities, Develop approach, Plan actions • Acting – Create solution, Pilot/test solution, Refine solution, Implement solution • Learning – Analyze and validate, propose future actions CMMI 基本的認知 CMM 和 CMMI 的演進 • • Carnegie Mellon University – USA DOD Supported Software Engineering Institute (SEI) 1987 – First CMM (Capability Maturity Model) published as a technical report • 1989 – Book on the software maturity framework published • 1991 – CMM V. 1.0 for software published • 1993/1994 – CMM V. 1.1 for software published – PSP (Personal Software Process) developed by the SEI • 1995 – New specialized CMM published by the SEI , including CMM’s for software acquisition (SA-CMM), system engineering (SECMM), integrated product development (IPD-CMM) and human resource management (People-CMM) CMM 和 CMMI 的演進 (2) • 1996 – TSP (Team Software Process) developed by the SEI • 1997 – New Quality Standards continue to emerge, such as EIA/IS 731, CMMI (Capability Maturity Model Integration) project by the USA DOD. • 12/2000 – CMMI V. 1.02 Published (Translation of Chinese Version by III 資 策會) • 12/2001 – CMMI V. 1.1Pulblished • 2003 – The SEI has announced - SEI will discontinue any support of CMM after December 2005. A Proliferation of Models and Standards CMMI的發展 • Sponsored by the US Department of Defense (DOD) and National Defense Industrial Association (NDIA) • Collaborative endeavor, over 100 people involved from – Software Engineering Institute (SEI) – Government – Industry The Three Source Models in CMMI Numbers of Process Areas Four Disciplines of CMMI • CMMI-SW/SE/IPPD/SS includes four disciplines: Bodies of knowledge – System engineering – Software engineering – Integrated product and process development – Supplier sourcing Four Disciplines of CMMI (2) • System engineering focus on transforming customer’s needs, expectations, and constraints into products and supporting these products through their life. • Software engineering focus on applying systematic, disciplined and quantifiable approaches to the development, operations, and maintenance of software. Four Disciplines of CMMI (3) • Integrated Product and Process Development (IPPD) is a systematic approach that achieves a timely collaboration of relevant stakeholders throughout the life of the product to satisfy customers’ needs, expectations, and requirements. – Must select one or more disciplines in addition to IPPD. • Supplier Sourcing covers the acquisition of products from suppliers. – Must select one or more disciplines in addition to SS. CMMI 模式的表述 • CMMI 提供兩種流程改善的方法 – 組織成熟(maturity)方法: Staged representation (階段 式表述 ) uses predefined sets of process areas to define an improvement path for an organization and is described by a model component called a maturity level. – 流程能力(capability)方法: Continuous Representation (連續式表述) uses capability levels to characterize improvement relative to an individual process area. CMMI 模式的表述 (2) • Staged representation (階段式表述 ) : – – – – – ML 1. Initial ML 2. Managed ML 3. Defined ML 4. Quantitatively Managed ML 5. Optimizing ML: Maturity Level • Continuous representation (連續式表述) : – – – – – – CL 0. Incomplete CL 1. Performed CL 2. Managed CL 3. Defined CL 4. Quantitatively Managed CL 5. Optimizing. Capability Level 模式表述的比較 連續式 Capability 階段式 Maturity ML5 ML4 ML3 ML2 ML 1 PA PA PA Process Organization 階段式改善層級 連續 改善 流程 最佳化層 量化管理層 可預測的 流程 標準, 一致 流程 定義層 管理層 訓練 流程 初始層 未執行 (0) (1) (2) (performed) (3) (4) (5) (measured) (standard) (planned and tracked) CMMI Maturity Levels Level Focus Staged Organization of 25 PAs 5 最佳化層 連續流程 改善 4 量化管理層 量化管理 組織流程績效 (OPP) 量化專案管理 (QPM) 3 定義層 流程標準化 需求發展 (RD) 技術解決方案 (TS) 產品整合 (PI) 驗證 (VER) 確認 (VAL) 組織流程專注 (OPF) 組織流程定義 (OPD) 組織訓練 (OT) 整合的專案管理 (IPM) 風險管理 (RSKM) 整合團隊合作 (IT) 整合的供應商管理 (ISM) 決策分析與解決方案 (DAR) 適於整合之組織環境 (OEI) 2 管理層 基本的 專案管理 1 初始層 組織創新與推展 (OID) 原因分析與解決方案 (CAR) 需求管理 (REQM) 專案規劃 (PP) 專案監控 (PMC) 供應商協議管理 (SAM) 度量與分析 (MA) 流程與產品品質保證 (PPQA) 建構管理 (CM) 階段式表述的Model Components 連續式表述的Model Components CMMI 評鑑的方法 • ARC, V1.0 Appraisal Requirements for CMMI Version 1.0 • SCAMPI Method – Standard CMMI Assessment Method for Process Improvement (SCAMPI) Method Definition Document (MDD) CMMI 評鑑方法等級 Summary Characteristic SCAMPI A Class B Class C ARC requirements applicable All Most Some Amount of objective evidence gathered High Medium Low Ratings generated Yes NO No Resource needed High Medium Low ISO 15504 conformance Yes Partial No Team size Large (4-9) Medium (2) Small (1) 評鑑目的 • • • • 為確認「目前的實力」和「改善的機會」。 建立組織目前存在的「基線」(Baseline)。 確認目前階段與目的階段之間狀況的差距。 評鑑結果可做為流程改善活動的需求。 評鑑原則 • • • • 使用 SACMPI reference model for CMMI。 使用一個正式的評鑑流程。 以高階主管作為評鑑發起人。 Focus the appraisal on the sponsor’s business goals. • Observe strict confidentiality and nonattribution of data. • Focus actions and decisions from appraisal results. 執行方法實施的評鑑 Appraisal of Practice Implementation • 三種指標類型 – 直接成果 (Direct Artifacts) – 間接成果 (Indirect Artifacts) – 證實 (Affirmations) 指標一:直接成果 指標類型 描述 例子 1. 直接成果 執行 CMMI 一般或 特定執行方法 (specific or generic practices)的產出。 CMMI執行方法 (practices)列出的 典型工作產品、文 件、交付客戶的項 目、訓練資料等。 指標二:間接成果 指標類型 描述 例子 2. 間接成果 一般或特定執行方 法的產出,但該產 品非執行方法的目 的。當懷疑一執行 方法的目的是否有 達成,這些是有用 的。 CMMI執行方法列 出的典型工作產品、 會議記錄、審查結 果、狀況報告、績 效度量等。 指標三:證實 指標類型 描述 例子 3. 證實 口頭或書面的聲明, 問卷的回應、訪談、 用以證實一般或特 簡報等。 定執行方法的實施。 經常由執行方法的 實施者、顧客或其 他相關人士。 Organization Size Number of CMMI Appraisal by Country March 2005 • Taiwan – 13 • China – 34 • Japan – 77 • India – 70 • USA – 280 • United Kingdom – 25 • Korea - 23 September 2005 • Taiwan – 18 • China – 62 • Japan – 100 • India – 104 • USA – 365 • United Kingdom – 29 • Korea - 30 Move to the Higher Level • For organizations that began their CMMbased SPI effort in 1992 or later, the median time to move from: – maturity level 1 to 2 is 22 months – maturity level 2 to 3 is 19 months – maturity level 3 to 4 is 25 months – maturity level 4 to 5 is 13 months CMMI 的誤解 CMMI 的誤解 1. Creativity vs. Process • Creativity is one of the important themes for National scale projects. – One common misperception is that process is somehow the enemy of creativity. This is wrong. Process is not the opposite of creativity; it is the opposite of chaos. • Process creates discipline and repeatability by putting individual activities into a precise framework. • When organizations have process perspective, they can focus their creativity where it belongs in the content of their work rather than on the structure of their work. CMMI 的誤解 (2) 2. Moving from ML 1 to ML 3 - Skip ML 2 • • • At level 2, the focus is on projects. At level 3, two additional generic practices are implemented by level 2 process area – GP3.1 Establish a Defined process – GP3.2 Collect Improvement Information At level 3, the emphasis shifts to the organization. – Best practices are gathered by MA (a long period) across the organization (ML 2). – Processes are tailored as appropriate. – Engineering (RD, TS, PI, VER, VAL), Infrastructure (OPF, OPD, OT), Project (RSKM, IPM), Support (DAR) – The organization supports the projects by establishing: • Common processes -Common processes does not necessarily mean one process. (Menu of Processes) • Common measurements • Training CMMI 的誤解 (3) 3. Moving from ML 3 to ML 5 - Skip ML 4 • ML4: Organizational Process Performance (OPP) and Quantitative Project Management (QPM) • GG 4: Institutionalize a Quantitatively Managed Process – GP 4.1: Establish Quantitative Objectives for the Process. – GP 4.2: Stabilize Subprocess Performance. • The process Performance Baselines include: – Individual process elements (ex. Rest-case inspection element, ML 2 and ML 3 ) – Sequence of connected processes – Processes that cover the entire life of the project (Req. Management) – Process for developing individual work products CMMI 的誤解 (4) 4. CMMI for ODM/OEM (e.g., India) – Japan is the Model – Better Quality, International Business,... 5. Small Organization – – – – CMMI fits in the Small Organization Tailoring Collaboration of Companies See SEI Report – Organization Size CMMI 的誤解 (5) 6. CMMI Appraisals Status Misconception Branch Achieved CMMI ML 2 Only organization Announce: The Whole Company Achieved CMMI ML 2. CMMI 的誤解 (6) 7. SCAMPI Practices Implementation Indicator (PII) e.g., Affirmations – It is not answers to a pre-defined questions. – How CMMI work was done in the Organization Unit (OU) rather than the correct answers to the CMMI questions. – CMMI Practices CMMI 的誤解 (7) 8. Tools vs. 通過 CMMI 評鑑 • • • Collect “process requirements” for support tools and investigate possible short-term and long-term tool solutions. 工具是配合各流程使用,僅是『輔助』工作, 流程的制定、產品開發設計能力的培養更為重 要。 Tools are neither a necessary conditions nor a sufficient conditions for 通過 CMMI 評鑑。 For More Information about CMMI • SEI CMMI Web site http://www.sei.cmu.edu/cmmi • System Engineering Web Site http://sepo.spawar.navy.mil/ 台灣現況與建議 台灣資訊產業特性 • 我國資訊國力 硬體強 軟體差 【聯合新聞網 記者祁安國/報導】 IDC昨日公布 今年最新的全球「資訊社會指標」 (Information Society Index),我國在全球排名第20,但在亞 太地區不如香港、新加坡、韓國,我國號稱是資 訊大國,可是這次公布的排行榜,透露出台灣只 靠「硬」、欠缺「軟」,資訊教育和普及率在亞 洲四小龍中敬陪末座。 台灣資訊產業特性 (2) • Small Companies – NO CM, QA, M&A, Training,... • Information Service Companies : 5385 * Employee 500+ * Employee 100-499 * Employee 100* Employee 5- 6 63 5316 (98.7%) 3393 (66.3%) 台灣系統生命週期特性 Planning Requirements Design Quality Assurance Build TAIWAN USA System Integration Change Control Release Control Version Control Maintenance 國內 CMMI 推動情形 中華民國資訊軟體協會受經濟部工業局「軟體工業五 年發展推動計畫」委託執行「軟體工業生產力提升計 畫」,特成立「軟體產業服務團」,輔導軟體產業項 目包括 『CMMI 軟體品質技術輔導』。 資訊工業策進會受經濟部技術處委託執行『 CMMI能 力建立先期規劃計畫』及 『先進資訊技術引進計畫』 等科專計畫,積極輔導軟體業界導入CMMI模式。 中華民國資訊軟體品質協會成立於2003年1月,成立 宗旨為推廣資訊軟體品質觀念、加強資訊軟體品質教 育、協助各界提升資訊軟體品質及促進資訊軟體品質 產、學、研合作。 國內 CMMI 推動情形 (2) 行政院科技顧問組於『推動台灣策略性服務產業策略 規劃會議』第二次策略規劃會議結論: 提出「推廣CMMI認證制度,提升資訊服務業者之服務品質」-- 鼓勵廠商建立制度提升服務規模與品質 2007年促成 LEVEL-3廠商達50家 2008年促成 LEVEL-3廠商達70家及LEVEL-5廠商達5家 2008年起大型政府e化專案採購及旗艦計劃之補助,廠商需 達CMMI Level-3以上方可參與 國內 CMMI 推動情形 (3) •行政院科技顧問組於『推動台灣策略性服 務產業策略規劃會議』第二次策略規劃會議 結論:BEST旗艦計畫執行策略。 轉化國內產業 應用典範為產 品或服務 運用垂直分工水 平整合建構資訊 服務業合作體系 BEST計畫 集中資源扶植 重點旗艦業者 提升資訊服務業 國際市場拓展能力 國內導入 CMMI 的軟體公司 已通過 CMMI Level 2 評鑑的機構 --- 18 資策會-資訊系統實驗室 (2002.10.11) - 洪肇奎博士輔導 碩網資訊 (2002.10.25) – Reuters Ltd.認證 三商電腦-公共事業部 (2003.04.18) – 寶發科技顧問公司輔導 工研院電通所-K組 (2003.09.04) – 洪肇奎博士輔導 漢龍科技 (2004.7.16) – 洪肇奎博士輔導 漢康資訊(2004.7.23) – 洪肇奎博士輔導 中冠資訊(2004.7.30) – 洪肇奎博士輔導 和平整合資訊 (2004.8.12) – 寶發科技顧問公司輔導 中華電信研究所-IVAT (2004.10.20) – 洪肇奎博士輔導 騰蒙科技(2004.11.26) – 寶發科技顧問公司輔導 國內導入 CMMI 的軟體公司 (2) 中山科學研究院資訊管理中心(2004.12.10) -台灣應用軟件公司輔導 資策會-電子商務實驗室 (2004.12.10) – TCS(TATA)顧問公司輔導 星動科技股份有限公司 (2004.12.27) - 寶發科技顧問公司輔導 資策會-網路及多媒體實驗室 (2004.12.20) - TCS(TATA)顧問公司輔導 工研院電通所網際網路軟體技術組與通訊系統組及資訊系統部 (2005.1)–洪肇奎博士輔導 新鼎系統股份有限公司(2005.7.21) - 寶發科技顧問公司輔導 鼎升數位科技(2005.8)–洪肇奎博士輔導 哈瑪星科技(2005.8) –洪肇奎博士輔導 啟台國際資訊 (2005.8) –洪肇奎博士輔導 中華電信數據分公司-GEIS (2005.9.16) –洪肇奎博士輔導 國內導入 CMMI 的軟體公司 (3) 已通過 CMMI Level 3 評鑑的機構 --- 5 資策會-資訊工程研究所 (2004.6.11) - 洪肇奎博士 輔導 凌群電腦 (2004.6.25) – Trimentus Technologies公 司輔導 神通資訊 碩網資訊 (2005.11) - 鈺新科技輔導 精業電腦(2005.12.29) - 寶發科技顧問公司輔導 Government Source Selection and Contract Process Monitoring Overview (政府委外作業與合約流程監控概觀) 政府 (甲方) 採購計畫 供應商選擇與協議 軟體招標需求書 (Request for Proposals, RFP) * 需求, 成本, 時程 供應商 (乙方) 準備需求 規劃書 供應商 協議 合約 追蹤與監控 狀態回報 里程碑審查 問題清單 矯正措施 接受交付與結案 客戶需求 接受測試準則 •Development •確認(Validation) •驗證(Verification) •Acceptance Tests •Progress Reviews •交付 •Milestone Reviews 台灣採購流程的特性 • • • • 軟體招標需求書(Request for Proposal, RFP) 不明確。 軟體招標需求書的成本和時程不合理。 專案執行追蹤、監控與驗收的問題。 政府與供應商 雙方損失 (Government and Suppliers Both Failure)。 建議 1. Establish & Maintain Government Source Selection and Contract Process Monitoring • • • • 成立專家團隊發展 Light-Weight CMMI 的委外 作業與合約流程監控指引 (Real-Life Example : NASA JPL Template) 對政府採購人員提供了解CMMI 的訓練 選擇並執行先導計畫以獲得得執行 Light-Weight CMMI 委外作業與合約流程監控的經驗 建立與執行知識有價 建議 (2) 2. Establish and Maintain Taiwan Software Profile. Industry Projects Academic Technical Support Academic Analysis & Packaging 建議 (3) 3. 垂直分工 & 水平整合 *CMMI Promotion & *BEST Company #1 Company #2 . Company #N •CMMI評鑑輔導 – SEI SCAMPI •BEST •For Small Companies integrating for CMMI Promotion 建議 (4) 4. 加強國際化,引進國外計畫讓臺灣具有 CMMI認證的公司能夠有機會接受案子。 – E.g. Promote Out-Sourcing Opportunity from USA to Taiwan’s CMMI認證的公司。 – III, ITRI and Chunghwa Telecom. should provide the driving forces, e.g., any project 60% outsourcing to industry • 專業分工 • Provide Products and Services Quality Control with CMMI Standard 解決方案 – CMMI Win-Win 規劃 需求 設計 品質保證 發展 測試 變更控制(Control Change) 發行控制(Release Control) 版本控制(Version Control) 維護 CMMI的目標是提升軟體工程的執行, 使得專案能更有效的完成和交付 Taiwan CMMI相關網站 • SPIN-Taiwan: (CMMI技術服務網) – http://www.cmmi.org.tw/ • SPIN-Sournthren Taiwan: (CMMI技術服務網) – http://www.spin-stw.org.tw/ • 自由軟體研發專案(Light-Weight CMMI) – http://credit.csie.ncku.edu.tw/opensource/index.htm • 中華民國資訊軟體品質協會: – http://www.csqa.org.tw/ • 中華民國資訊軟體協會: – http://www.cisanet.org.tw/ • 經濟部工業局軟體產業服務團: – http://www.itnet.org.tw/sinet/ Q&A