1、Capability Maturity Model,INTRODUCTION By Basker George,Email: Basker.G,Introduction,Software Organizations employs 7million engineers & generate $600 billion revenue Growing at an annual rate of 25% The software Industry is viewed as the promising Industry segments having tremendous future potentia
2、ls. Hence executing software projects efficiently is of paramount importance to the software Industry.,Introduction,The processes used for executing software projects have major effect on the Quality & Productivity. Hence we need to Evaluate & Improve the processes used in organization The CMM(Capab
3、ility Maturity Model) for software developed by SEI(Software Engineering Institute) is a FRAMEWORK that can be used for improving Quality & Productivity.,What is the Software Process?,A process is a systematic approach performed to achieve a specific purpose.A software process is the set of activiti
4、es, methods, practices, and transformations used to develop software and associated products that are released with it.(e.g., project plans, design documents, code, test cases, and user manuals).As an organization matures, the software process becomes better defined and more consistently implemented
5、 throughout the organization.,CMM,Capability Maturity Model (CMM) Developed by Software Engineering Institute (SEI) of Carnegie-Mellon University, first introduced in 1987 Goal To provide a means by which organizations can appraise their ability to perform their software process successfully, and to
6、 provide guidance to improve their process capability Initially seen as a valuable approach, but questioned over ability to deliver business results. Now supported by body of published results:,Level of CMM,CMM Industry Feedback of Raytheon,Raytheon Company is a world leader in developing defense te
7、chnologies and converting those technologies for use in commercial markets. . Raytheon began a CMM-based improvement effort in 1988. In 1990, they estimated that they saved $4.48M for an investment of $0.58M giving a return on investment of 7.7. Over a period of four and a half years, mid-1988 to th
8、e end of 1992, the company estimated that they had eliminated $15.8M in re-work costs. Over a six year period, 1988 to 1994, they saw a 2.7 times increase in productivity and an improvement in budget accuracy (target/actual) from 40% overruns to +/-3%.,CMM Industry Feedback Motorola,Motorola is a gl
9、obal leader in providing integrated communications solutions and embedded electronic solutions. Motorola estimate that an organization moving from CMM Level 2 to CMM Level 5 will see an eightfold reduction in defects, an eightfold improvement in cycle time and a threefold increase in productivity,CM
10、M Industry Feedback of HP,Hewlett-Packards Software Engineering Systems Division achieved a reduction in cycle time of 46%, a 60% reduction in shipped defects and schedule estimation error reduced to zero over two years May 1994 to May 1996.,Hughes Aircraft,Hughes Aircraft 1987 level 2, 1990 level 3
11、 45K Assessment cost, 400K improvement cost, 2M cost savings, 2 % increased overhead 5x improvement in estimation,CMM.More Feedback,In addition, a number of less tangible benefits are reported: Increased customer focus Improved ability to react flexibly to change Increased job satisfaction amongst e
12、ngineers Decrease in variability of schedule and cost performance,Global Software Group (GSG) China GSG China is the first organization to implement SEI CMM in software engineering in Mainland China. It achieved Level 5 in 2000, making China the 3rd country receiving CMM Level 5 after the US and Ind
13、ia. GSG China has set its goal to become the chosen software solution provider to customers and achieve total customer satisfaction.Currently there are about 700 R&D staff working in three software centers located in Beijing, Nanjing and Chengdu.,CMM at Infosys,Infosys is a highly successful softwar
14、e company assessed at Level 5 based at Bangalore India, with worldwide development center. This course describes the processes used for project execution at Infosys & one possible way of implementing CMM This Course deals with CMM & PROCESS that are used for project execution at Infosys.,Process Bas
15、ed Approach for Project Execution,Main characteristic of a PROJECT are: Cost, Schedule & Quality Project is initiated after ESTIMATION of the above Project is Successful if it meets or Exceeds above expectation But Analysis of project data shows that 1/3 rd of projects have cost & schedule overrun o
16、f 125% Possible reasons for project failure are : Improper Estimation, Loose requirement Management, weak project management, improper risk management, poorly engineered solutionsetc,Cont,Other possible reason could be Unclear objective, Bad planning, No project Management methodology, insufficient
17、staff That is, We can call it PROCESS FAILURE Therefore for a project to be successful, the key parameter is the set of processes followed in the project Hence if suitable process model are chosen for the project, the chances of project success is extremely high. Therefore High Q & P should be the t
18、win aim of any Projects The Organization should also have predictable Q & P Also Organization should desires continuous improvement in Q&P,Quality & Productivity,Depends on Process, People & Technology This is known as Quality Triangle or Iron Triangle Therefore to increase Q&P, we have to Improve P
19、rocess used by the organization. The CMM for software deals with Process used in an Organization .,Software Process,They Encapsulate the collective experience (Success & Failure) of an organization. Use this experience in future projects Thus the process allows the experience gained to be conferred
20、even to a newcomer Therefore it is important for an Organization to take considerable effort to capture the experience of the process & improve the process. Learning & Leveraging experience with process constitute an important aspect of CMM level 3.,Cont,If Quantitative information is available abou
21、t the process capability, then Q&P can be determined unambiguously Quantitatively managing the process is the focus of LEVEL 4 of CMM,SEIs Fundamental concepts,Software Process Capability is the range of expected results that are achievable by following the software process.Software process performa
22、nce is the actual result achieved in the development of software by following a software process.Software Process Maturity is the extent to which a Software Process is defined, managed, controlled, measured and effective.,CMM for software,What are the desirable characteristic of an organization proc
23、esses for executing software? How can the organization improve the processes for improving the Q&P? What are the desirable characteristic of the improved processes? The answer to the above questions is : “PROCESS FRAMEWORK”,PROCESS FRAMEWORK,CMM for software is a framework that focuses on processes
24、for software development. Framework provide guidance regarding the improvements needed to move from one maturity level to another. CMM framework describes the key elements of software processes at different levels of maturity. Specifies the characteristic that the process must have to “qualify” as a
25、 process of maturity. The maturity of the process may be classified into different levels. Many framework are available for software process ISO 9001, CMM, Trillium, SPICE & BOOTSTRAP,Why a CMM?,“Silver Bullets” failed Process, not technology is the key Projects grossly over schedule/budget Early 19
26、80s, US DoD misjudged software contractors and suffered.How can we tell a good contractor from a bad one?,Whence CMM?,The CMM is based on knowledge acquired from software process assessments and extensive feedback from both industry and government By Dept Of Defence and SEI (Research & Development c
27、enter at Carnegie mellon University) Mark Paulk (project lead for CMM) Bill Curtis Mary Beth Chrisis Charles Weber,What is CMM?,Assessment / Evaluation What to do not How to do Determine maturity through 5 levels: Initial -1 Repeatable 2 Defined 3 Managed 4 Optimizing - 5,CMM Overview,SEIs Vision: T
28、o bring engineering discipline to the development and maintenance of software products,Desired Result: Higher quality - better products for a better price Predictability - function/quality, on time, within budget,Methodology to Achieve that Desired Result:,1. Identify Current State: Know your curren
29、t Capability Maturity Level,2. Identify Desired State: Understand the description of the next Level,3. Reduce the Gap: Plan, implement, and institutionalize the key practices of the next Level. Repeat until continuous optimization is part of the culture.,The CMM Levels,1,2,3,4,5,Process Maturity,Pro
30、cess Capability,Process Performance,Low,High,Risk,High,Low,Level 1 Initial,Chaotic(not organized) May still deliver quality software Dependent on “HERO” Processes are ad hoc(not planned) Just get it done mentality Minimal data collected or evaluated,Level 2 Repeatable,Policies for planning and manag
31、ement established Basic management controls established Process is stable, results can be repeated Identified inputs, outputs, constraints Management needs to be in control first, then technology,Level 3 Defined,Activities with definitions, entry and exit conditions for software and management proce
32、sses in organization SEPG group established to oversee process in organization Organization process tailored for specific projects Software quality is tracked Activities include peer reviews, CASE tool usage, testing standards, and full lifecycle configuration management,Level 4 Measured,Organizatio
33、n sets quantitative quality goals Productivity and quality are measured Organization-wide database maintained for planning and evaluation of projects Processes measure control and variation Processes predict trends in quality and schedule Detailed time, cost, and other metrics are collected and used
34、 to quantitatively manage software development. The organization has a quality focus, with tools and training to support development.,Level 5 Optimizing,Entire organization focused on improvement of processes Organization has mechanisms to identify and correct weaknesses. Statistical data used to pr
35、event defects Process improvements may be incremental or innovative Continuous process improvement is achieved through quantitative management. Processes such as software inspection, code walkthroughs, automatic metrics collection, and technology review are part of the standard development methodolo
36、gy.,Definitions,KPA- Key Process or Performance Area KPA Cluster of related activities that when met,achieve a set of goals for a level. Goals signify the scope, boundary and intent of a KPA Key Practices satisfy goals of the KPA,KPAs at different levels,The KPAs can be considered as the requirement
37、 for achieving that maturity Every KPAs specifies a group of activities, called key practices, which satisfy the goal of that KPA. Key practices are organized into various groups called: Commitment to perform Ability to perform Activities performed Measurement analysis Verifying implementation,The K
38、ey Process Areas for Level 2: Repeatable,Requirements Management(RM) The purpose of Requirements Management is to establish a common understanding between the customer and the customers requirements that will be addressed by the software project. The customer may be interpreted as System Engineering
39、 group,Marketing Group or External customer Goal 1 System requirements allocated to software are controlled to establish a baseline for software engineering and management use. Goal 2 Software plans, products, and activities are kept consistent with the system requirements allocated to software.,Lev
40、el 2 KPA : Software project planning(SPP),The purpose of Software Project Planning is to establish reasonable plans for performing the software engineering and for managing the software project. Software Project Planning involves developing estimates for the work to be performed, establishing the ne
41、cessary commitments, and defining the plan to perform the work.,SPP cont,The software planning begins with a statement of the work to be performed and other constraints and goals that define and bound the software project (those established by the practices of the Requirements Management key process
42、 area).The software planning process includes steps to estimate the size of the software work products and the resources needed, produce a schedule, identify and assess software risks, and negotiate commitments.,SPP Cont,Iterating through these steps may be necessary to establish the plan for the so
43、ftware project (i.e., the software development plan). This plan provides the basis for performing and managing the software projects activities and addresses the commitments to the software projects customer according to the resources, constraints, and capabilities of the software project.,SPP Goals
44、,Goal 1 Software estimates are documented for use in planning and tracking the software project.Goal 2 Software project activities and commitments are planned and documented. Goal 3 Affected groups and individuals agree to their commitments related to the software project.,Level 2 : Software Project
45、 Tracking and Oversight(SPTO),The purpose of Software Project Tracking and Oversight is to provide adequate visibility into actual progress, so that management can take effective actions when the software projects performance deviates significantly from the SPP. Software Project Tracking and Oversig
46、ht involves tracking and reviewing the software accomplishments and results against documented estimates, commitments, and plans, and adjusting these plans based on the actual accomplishments and results.,SPTO Cont,A documented plan for the software project (SPP) is used as the basis for tracking th
47、e software activities, communicating status, and revising plans. Software activities are monitored by the management. Progress is primarily determined by comparing the actual software size, effort, cost, and schedule with the SPP when selected software work products are completed or a milestone is r
48、eached.,SPTO Cont,When it is determined that the software projects plans goals are not being met corrective actions are taken. These actions may include revising the SPP to reflect the actual accomplishments re-planning the remaining work or taking actions to improve the performance,SPTO Goals,Goal
49、1 Actual results and performances are tracked against the software plans.Goal 2 Corrective actions are taken and managed to closure when actual results and performance deviate significantly from the software plans. Goal 3 Changes to software commitments are agreed to by the affected groups and indiv
50、iduals.,Level 2: Software Subcontract Management(SSM),The purpose of Software Subcontract Management is to select qualified software subcontractors and manage them effectively. Software Subcontract Management involves selecting a software subcontractor, establishing commitments with the subcontractor, and tracking and reviewing the subcontractors performance and results. These practices cover the management of a software (only) subcontract, as well as the management of the software component of a subcontract that includes software, hardware, and possibly other system components.,