Software Engineering Process - II Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II 10.1 Before You Begin… What are your expectations from this.
Download ReportTranscript Software Engineering Process - II Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II 10.1 Before You Begin… What are your expectations from this.
Software Engineering Process - II Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II 10.1 Before You Begin… What are your expectations from this unit? Software Engineering Process - II 10.2 Unit Objectives Describe the SEI-CMMI evolution. Describe the CMMI framework. Identify the key process areas, goals, and practices, and explain assessment process. Explain the staged CMMI model and its advantages. Describe the continuous CMMI model and its advantages. Describe the CMMI implementation approach. Identify the benefits of CMMI. Software Engineering Process - II 10.3 SEI-CMMI Evolution In the mid-1980s, the Software Engineering Institute (SEI) initiated a study of assessing the capabilities of software contractors. The outcome of this capability assessment was the SEI Software Capability Maturity Model (CMM). The software CMM was followed by a range of other models including the People Capability Maturity Model (P-CMM). Software Engineering Process - II 10.4 SEI-CMMI Evolution (cont.) SEI started a new program to integrate all the earlier models to develop an integrated capability maturity model (CMMI). This integrated model supercedes the CMM, covers its reported weaknesses, and has two instantiations, staged and continuous. The CMMI model is a framework for process improvement and is applicable across a range of companies. Software Engineering Process - II 10.5 SEI-CMMI Framework The SEI-CMMI model has two versions: Staged: Is compatible with the software CMM and allows assessment of an organization’s system development and management processes at a maturity level from 1 to 5. Continuous: Allows for a finer-grain classification and rates 24 process areas on a scale from 1 to 6. Software Engineering Process - II 10.6 SEI-CMMI Framework (cont.) The SEI-CMMI model includes: Process areas: The CMMI identifies 24 process areas, relevant to software process capability and improvement. These process areas are organized into four groups. Goals: Goals define the desirable state that should be attained by an organization. The CMMI has specific goals associated with each process area. The CMMI also has generic goals, which institutionalize good practices. Software Engineering Process - II 10.7 SEI-CMMI Framework (cont.) Practices: Practices define ways to achieve a goal. The CMMI defines up to seven specific and generic practices that may be associated with each goal within each process area. Software Engineering Process - II 10.8 CMMI Process Areas Category Process Area Process Management Organizational Project Management Project Engineering Requirements Support Configuration Software Engineering Process - II process definition Organizational process design Organizational training Organizational process performance Organizational innovation and deployment planning Project monitoring and control Supplier agreement management Integrated project management Risk management Integrated teaming Quantitative project management management Requirements development Technical solution Product integration Verification Validation management Process and product quality management Measurement and analysis Decision analysis and resolution Organizational environment for integration Causal analysis and resolution 10.9 Process Areas and Goals - Examples Goal Process Area Corrective actions are managed to closure when the project’s performance or results deviate significantly from the plan. Specific goal in project monitoring and control Actual performance and progress of the project is monitored against the project plan. Specific goal in project monitoring and control The requirements are analyzed and validated and a definition of the required functionality is developed Specific goal in requirements development Root cause of defect and other problems are systematically determined. Specific goal in causal analysis and resolution The process is institutionalized as a defined process Generic goal Software Engineering Process - II 10.10 Practices and Goals - Examples Practice Analyze derived requirements to ensure that they are necessary and sufficient. Validate requirements to ensure that the resulting product will perform as intended in the user’s environment using multiple techniques as appropriate. Select the defects and other problems for analysis. Perform causal analysis of selected defects and other problems and propose actions to address them. Establish and maintain an organizational policy for planning and performing the process, developing the work products, and providing the services of the requirements development process. Associated goal The requirements are analyzed and validated, and a definition of the required functionality is developed. Root causes of defects and other problems are systematically determined. The process is institutionalized as a defined process. Assign responsibility and authority for performing the process, developing the work products, and providing the services of the requirements development process. Software Engineering Process - II 10.11 Class Activity - 1 Identify two possible goals for the following process areas: Requirement management Configuration management Software Engineering Process - II 10.12 CMMI Assessment Process The CMMI assessment involves examining the processes in an organization and rating these on a six-point scale based on their level of maturity. The six-point scale assigns a level to a process as follows: Not performed: One or more of the specific goals associated with the process areas is not satisfied. Performed: Goals are satisfied. The scope of work for each process area is defined and communicated to team members. Software Engineering Process - II 10.13 CMMI Assessment Process (cont.) Managed: The goals associated with process areas are met and organizational policies are in place. Documented plans, resource management, and process monitoring procedures must exist. Defined: Each project in the organization has a managed process that is tailored from a defined set of organizational processes. Process assets and measurements must be collected and used for future process improvements. Software Engineering Process - II 10.14 CMMI Assessment Process (cont.) Quantitatively managed: There is an organizational responsibility to use statistical and other quantitative methods to control subprocesses. Optimizing: The organization must use the process and product measurements to drive the process improvement. The processes must adapt to changing business needs. Software Engineering Process - II 10.15 Staged CMMI Model This model assesses an organization’s process capability on a scale of 1 to 5. It prescribes goals that should be achieved at each level. Software Engineering Process - II 10.16 Staged CMMI Model (cont.) The process areas at level 2 are: Requirements management Project planning Project monitoring and control Supplier agreement management Measurement and analysis Process and product quality assurance Configuration management Software Engineering Process - II 10.17 Class Activity - 2 List some practices that could help an organization to make project planning a managed process. Software Engineering Process - II 10.18 Staged CMMI Model (cont.) The advantages of the staged model are: It is compatible with the software CMM model. It defines a clear improvement path for the organizations. The disadvantages of the staged model are: A maturity assessment at lower levels gives a misleading picture of the organization’s capability. Software Engineering Process - II 10.19 Continuous CMMI Model This model does not assess an organization according to discrete levels. This model considers individual or groups of practices and assesses the use of each practice on a six-point scale. The maturity assessment is not a single value but a set of values showing the organization's maturity for a group of processes. Software Engineering Process - II 10.20 Continuous CMMI Model (cont.) Software Engineering Process - II 10.21 Class Activity - 3 List some advantages of the continuous model. Software Engineering Process - II 10.22 Implementing CMMI The CMMI implementation approach includes the following key principles: Maintain executive support Choose objectives carefully Leverage best practices Align process improvement with business objectives Build an integrated improvement infrastructure Integrate legacy processes and initiatives Software Engineering Process - II 10.23 Benefits of CMMI The CMMI : Identifies many cross-organizational issues and provides a unique opportunity to address them. Helps achieve optimization of processes in a cross-discipline environment. Yields more accurate project planning and reduced cycle time. Provides an opportunity to implement integrated engineering assets. Helps gain an industry-wide recognition for excellence. Software Engineering Process - II 10.24 Summary What was your key learning from the unit? Software Engineering Process - II 10.25