380 likes | 565 Views
The Structure of the Capability Maturity Model. Presented by Chih-Wei Pang Ching-Wen Chang Yu-Lan Wang. What is CMM ?. It is a framework representing a method of improvements recommended for software organizations that want to increase their software process capability.
E N D
The Structure of the Capability Maturity Model Presented by Chih-Wei Pang Ching-Wen Chang Yu-Lan Wang
What is CMM ? • It is a framework representing a method of improvements recommended for software organizations that want to increase their software process capability. • A descriptive model: It describes essential (or key) attributes that would be expected to characterize an organization at a particular maturity level.
What is CMM ? • A normative model: that the detailed practices characterize the normal types of behavior that would be expected in an organization doing large-scale projects in a government contracting context. • It describes what we would normally expect in a software process, regardless of how the process is implemented.
Five ways of using CMM • Assessment teams to identify strengths and weaknesses in the organization. • Evaluation teams to identify the risks of selecting among different contractors for awarding business and to monitor contracts. • Appraisal method developers to develop other CMM-based appraisal methods that meet specific needs.
Five ways of using CMM (cont.) • Upper management to understand the activities necessary to launch a software process improvement program in their organization. • Technical staff and process improvement groups to define and improve the software process in the organization.
Key process areas • Each maturity level (except for Level 1) is decomposed into several key process areas. • Key process areas indicate where an organization should focus to improve its software process. • To achieve a maturity level, the key process areas for that level (and the lower levels) must be satisfied and institutionalized.
Goals of key process areas • To summarize its key practices and can be used in determining whether an organization or project has effectively implemented the key process area. • To signify the scope, boundaries, and intent of each key process area. • To determine whether the adaptation is a reasonable rendering of the practices.
Key process areas at Level 2 • Overview to focus on the software project’s concerns related to establishing basic project management controls.
Key process areas at Level 2(cont.) • Requirements management Purpose to establish a common understanding between the customer and the software project of the customer’s requirements to be addressed by the software project. * This agreement with the customer is the basis for planning and managing the software project.
Key process areas at Level 2(cont.) • Software project planning Purpose to establish reasonable plans for performing the software engineering and for managing the software project. * The plan is documented and maintained as a necessary tool for managing the software project. * Including steps: 1) to estimate the size of the software work products and the resources needed. 2) to produce a schedule 3) to identify and assess software risks 4) to negotiate commitments
Key process areas at Level 2(cont.) • Software project tracking and oversight Purpose to establish adequate visibility into actual progress so that management can take effective actions when the software project’s performance deviates significantly from the software plans. * based on the development plan * It involves:1) tracking and reviewing the software accomplishments and results 2) revising the software development plan to reflect the actual accomplishments 3) taking corrective action when necessary
Key process areas at Level 2(cont.) • Software subcontract management • Purpose to select qualified software subcontractors and manage them effectively. • * selection may be based on 1) strategic business alliances • 2) process capability • 3) technical consideration
Key process areas at Level 2(cont.) • Software quality assurance • Purpose to provide management with appropriate visibility into the process being used by the software project and of the products being built. • * It involves: 1) Reviewing and auditing the projects and activity. • 2) Compliance issues should be first addressed
Key process areas at Level 2(cont.) • Software configuration management • Purpose to establish and maintain the integrity of the products of the software project throughout the project’s software life cycle. • * Integrity of work products…….. • * Software baselines…………….. • * Change control and configuration auditing functions of Software Configuration Management……………
Key process areas at Level 3 • Overview address both project and organizational issues
Key process areas at Level 3(cont.) • Organization process focus Purpose to establish the organizational responsibility for software process activities that improve the organization’s overall software process capability. * Developing & maintaining an understanding of the organization’s and project’s software processes and coordinating the activities *People implementing the process must be intimately involved with its definition and improvement.
Key process areas at Level 3(cont.) • Organization process definition Purpose to develop and maintain a usable set of software process assets * It involves developing and maintaining the organization’s standard software process, along with related process assets, such as descriptions of software life cycles process tailoring guidelines and criteria the organization’s software process database a library of software process-related documentation
Key process areas at Level 3(cont.) • Training program Purpose to develop the skills and knowledge of individuals so they can perform their roles effectively and efficiently. * Identifying training needs then developing or procuring training.
Key process areas at Level 3(cont.) • Integrated software management Purpose to integrate the software engineering and management activities into a coherent, defined software process. * It is the evolution of Software Project Planning and Software Project Tracing and Oversight at Level 2.
Key process areas at Level 3(cont.) • Software product engineering Purpose to perform consistently a well-defined engineering process. • To describe the technical activities, e.g.: requirement analysis, design, code, and test. • Documenting • Maintaining traceability and consistency
Key process areas at Level 3(cont.) • Intergroup coordination Purpose to establish a means for the software engineering group to participate actively with the other engineering groups. • To address system-level requirements, objects, and issues. • The technical working interfaces and interactions between groups need to be planned and managed. • All engineering groups should know the status and plans of all the groups
Key process areas at Level 3(cont.) • Peer reviews Purpose to remove defects from the software work products early and efficiently. * via inspections, structured walkthroughs
Key process areas at Level 4 • Overview this level focus on establishing a quantitative understanding of both the software process and the software products being built.
Key process areas at Level 4(cont.) • Quantitative process management Purpose to control the process performance of the software project quantitatively. * identify and correct the circumstances which drive process performance falling out of quantitative bounds * software process achieves the goal of this key process remains stable and quantitatively predictable * is process focused
Key process areas at Level 4(cont.) • Software quality management Purpose to develop a quantitative understanding of the quality of the project’s software products and achieve specific quality goals. * quantitative goals are established based on the needs of the organization, the customer, and the end users. * is product focused.
Key process areas at Level 5 • Overview It covers the issues that both the organization and the projects must address to implement continuous and measurable software process improvement.
Key process areas at Level 5(cont.) • Defect prevention Purpose to identify the causes of defects and prevent them from recurring. * analyze defects, identify the causes, and prevent them from recurring. * sometimes used to change the project’s defined software process. * also result in changing element of the organization’s standard software process.
Key process areas at Level 5(cont.) • Technology change management Purpose identify beneficial new technologies and transfer them into the organization in an orderly manner. * identifying, selecting, and evaluating hew technologies. * to improve software quality, increase productivity, and decreases the cycle time
Key process areas at Level 5(cont.) • Process change management Purpose to improve continually the software processes used in the organization * define process improvement goals * identify, evaluate, and implement improvements
Key Practices • Each key process area is described in terms of key practices • Key practices describe the activities and infrastructure that contribute most to the effective implementation and institutionalization of the key process area • The key practice describe “what” is to be done, not “how” • Alternative practices may accomplish the goals of the key process area • More detailed subpractices are frequently provided under the key practice
Common Features • Common features organize the practices that describe the key process areas • Common features are attributes that indicate whether the implementation and institutionalization of a key process area is effective, repeatable, and lasting
Common Features(cont.) • There are five common features • Commitment to Perform • Ability to Perform • Activities Performed • Measurement and Analysis • Verifying Implementation
Common Features(cont.) • Commitment to Perform • Describe the actions the organization must take to ensure that the process is established and will endure • Involve establishing organizational polices and leadership • Ability to Perform • Describe the preconditions that must exist in the project or organization to implement the software process competently. • Involve resources, organizational structures, and training
Common Features(cont.) • Activities Performed • Describe the activities, roles, and procedures necessary to implement a key process area • Involve establishing plans and procedures, performing the work, tracking it, and taking corrective actions as necessary • Measurement and Analysis • Describe the basic measurement practices that are necessary to determine status related to the process • These measurements are used to control and improve the process. Measurement and analysis typically includes example of the measurements that could be taken.
Common Features(cont.) • Verifying Implementation • Describe the steps to ensure that the activities are performed in compliance with the process that has been established. • Encompasses reviews and audits by management and software quality assurance.