# Capability Maturity Model Integration CMMI (Keep Update) ###### tags: `CMMI` #### CMMI object * Provide SW-HW co-desgin * Base on Software engineering, #### Cource target * Introduce CMMI Model * Provide CMMI developing implementation * Establish Software engineering Observation #### Cource outline * Introduction * Require Management * Project Planning * Project Monitoring * Supplier Management * Risk Management * Configuration Management (建構管理) * Measurement and Analysis * Process and Product Quality Assurance (PPQA) ## CMMI Introduction * **CMMI Evolution** Just started by the U.S. Department of Defense to study, in 1987 CMM (Capability Maturity Model) published, in 1991 CMM V.1.0 (for software) released, in 1994 PSP (Personal Software Process) developed by SEI, in 1995 SEI standardization of the new CMM, 1996 TSP (Team Software Process) developed by SEI, 1997 by the U.S. Department of Defense to integrate the quality standards of CMM, released CMMI (Capability Maturity Model Integration), currently using the 2010 release of CMMI V.1.3 ### 3 Model of CMMI * Product and service development (CMMI-DEV) * Service establishment, management (CMMI-SVC) * Product and service acquisition (CMMI-ACQ) This course focus on **CMMI-DEV** ### Why use CMMI ? * It's a benchmarking tool used by industry and government. * Provides roadmap of the improvement of product * Provides criteria for reviews and appraisals * Provides framework for process improvement ![](https://i.imgur.com/rhvNrjO.png) ![](https://i.imgur.com/8IDQryL.png) ### Two approach of CMMI Model * **Staged representation** Predefined sets of process areas to define an improvement path for an organzation and is decribed by a model componment called a maturity level. * **Continuous representation** Use capability levels to characterize improvement relative to an individual process area. ### Staged representation * ML 1. Initial * ML 2. Managed * ML 3. Defined * ML 4. Quantitatively Managed(數量化的管理) * Ml 5. Optimizing ##### Continuous representation * ML 0. Incomplete * ML 1. Performed * ML 2. Managed * ML 3. Defined * ML 4. Quantitatively Managed(數量化的管理) * Ml 5. Optimizing ![](https://i.imgur.com/2qzFQXH.png) ![](https://i.imgur.com/mj4Dcrv.png) ### Process Improvement #### What's a Process? What's a Software Process A **process** is a set of practices or a sequence of actions performed for a given purpose. A **software process** is a set of activities, algorithms, methods, tools, transformations that people develop and maintain software. #### Defination of Process A mature process is documented with process notations, e.g.,**data flow, daigrams, activity diagrams, checklists, and flow chart.** #### Modeling the Software Process * Decomposing the software process as a set of defect injection and defect removal activity ![](https://i.imgur.com/03Vq0BN.png) ### CMMI SCAMPI Method(Standard CMMI Assessment Method for Process Improvement) #### SCAMPI Target * Identify the organization's current strength and opportunities for improvement. * Establish a **baseline** of what currently exists in the organization. * If the company wants to advance to the next stage, then you can use the current baseline to do the evaluation to understand the gap between the next stage. #### SCAMPI Principle * Use the SCAMPI reference model for CMMI. * Use a formal evalutation process. * Senior executives as the initiator of the evalution. * Focus the appraidal on the sponsor's business goals. * Focus actions and decisions from appraisal result. #### Appraisal of Practice Implementation * Artifacts * Affirmations ![](https://i.imgur.com/E9xXieZ.png) ![](https://i.imgur.com/cqb7Luc.png) ### CMMI Misconception #### Creativity v.s. Process * Creativity in the company is necessary to have breakthrough ideas in various projects. * Repeatable and unchanging with high reliability and correct process. #### Moving from ML 1 to ML 3 , Skip ML 2 In ML 2, the focus is on project management, while ML 3 is on organizational processes. However, if project management is neglected, defining processes and collecting project improvement information in phase 3 will be inadequate, which will cause the company to execute in the wrong direction or to stagnate. #### Moving from ML 3 to ML 5 , Skip ML 4 The main objectives of ML 4 are to quantify the number of targets and to establish a stable sub-process performance * The Process Performance Baselines include: Sequence of connected process Processes that cover the entire life if the project Process for developing individual work productsion standard, not the whole company. #### Only some departments get the CMMI evaluation standard, not the whole company ![](https://i.imgur.com/VNKYyU2.png) ## REQM(Requirement Management) ### Position of REQM ![](https://i.imgur.com/pwyQ3sw.png) ### The Purpose and Defination of REQM * **Purpose**:Manage projects and components of each project according to requirements to ensure consistent progress of each project within the company * **Defination**:Requirements management processes manage all requirements received or generated by the project, including both technical and nontechnical requirements as well as requirements levied on the project by the organization. ### Manage Requirements * EEnsure that project plans are consistent with requirements before taking action * Projects maintain current and recognized requirements sets and maintain the entire project lifecycle with the following principles 1. Knowing every changes to the requirements 2. Maintaining relationship among requirement, project plans, and works products. 3. Ensuring alignment among requirement, project plans, and work products. 4. Taking action ### Requirements Management context diagram ![](https://i.imgur.com/gJhiBrA.jpg) ### Manage Requirement Change ##### Related Activities 1. Changes to project documents as they are generated by the project. 2. To record the history of change before change. 3. Assessing the position and the interests of beneficiaries. 4. Execute the request and add the changed data. ### Maintain Bidirectional Traceability of Requirements * Maintain bidirectional traceability among requirement and work products. * Traceability can across horizontal and vertical relationships, including interface, design, etc. EX: Software life cycle includes RA -> SA -> DD ~~~ , so change RA will affect the design analysis of SA and DD, this is the vertical impact, the horizontal impact of individual requirements will affect the life cycle of every requirement. #### Related Activities: 1. Requirements traceability is maintained to ensure that the source of lower level (i.e. derived) requirements is documented. 2. Maintain traceability from requirement to requirement and its derivative requirements and work product assignments. 3. Generate a requirements traceability matrix. ### Ensure Alignment Between Project Work and Requirement #### Related Activities: 1. Review project plans, activities, and products for consistency. 2. Identify inconsistencies and change them at the source. 3. Make changes in the right direction from inconsistencies. ### Exercise 01 * **Title** : Impact of engineering change * **Task** : Your project is at a point where the detail design has been approved, and some implementation has begun in earnest. The project manager asked you to participate on a team to help identify the impact of engineering change that has been presented to the project. Because your project has recently implemented product development that map to CMMI. Your first thought is to consider which activity of the requirement management process area could potentially be affected by this change and what action should be taken for the requirement management process. ## Project Planning(PP) ### 目地及定義 * **Purpose**:Establish and maintain project workflow * **Defination**:The plan includes product and task attributes, determining the amount of resources for the project, reviewing the production cycle of the product, and analyzing and validating the risks of the project. ![](https://i.imgur.com/sAr21dn.png) ### Establish Estimates * Create and maintain estimates of project plan parameters * Project plan parameters include: necessary plan, organization, staff, direction, collaboration, return, budget, etc. * Many factors must be considered when estimating project parameters, including: project requirements, product requirements, additional organizational requirements, additional customer requirements, etc. ![](https://i.imgur.com/Zx0s5HG.png) ### 估算專案的範圍 * Establish a top-level work breakdown structure(WBS) to estimate the scope of the project. * The WBS is a structure that is broken down from the top level to provide a more detailed understanding of the internal details of project management. ### Establish Estimates of Work Product and Task Attributes * Various models are mainly input as estimation basis, and the attributes of the models include: service level, connectivity, complexity, availability, and structure, etc. * The estimates should be consistent with project requirements to determine the project’s effort, cost, and schedule. A relative level of difficulty or complexity should be assigned for each size attribute. ### Define Project Lifecycle Phases * The determination of a project’s lifecycle phases provides for planned periods of evaluation and decision making. * The project lifecycle phases need to be defined depending on the scope of requirements, the estimates for project resources, and the nature of the project. ### Functional Point計算(Exercise 01) EI 與 DET FTR有關 看輸入牽涉到幾個資料元素 披薩例子 三個 radio button + 六個check box + 一個 OK = 10個DET 依照FTR 跟 DET 落在複雜度矩陣的Average 但是輸入只有OK 按鈕 一個 EQ牽涉到所有的DET,也就是選項的資料元素,(三個 radio button + 六個check box + 一個 OK = 10個DET) 而需要參考兩個資料元素 餅皮 跟 餡料 兩個子集 cost 歸類在EQ,因為他需要查詢餅皮及限料兩個區塊的資料 EO 算是零 如果有另外一個script用來顯示其他訊息,那這個script才算一個EO 因為這個case 他沒有EO 所以他不算一個action,因而他的DETr計為0 radio buttonn算ILF check box算ELF ## Project Monitoring and Control (PMC) * **Purpose**: * **Defination**: