Quality Management with CMMI for Development v.1.3 (2013)

Size: px
Start display at page:

Download "Quality Management with CMMI for Development v.1.3 (2013)"

Transcription

1 Quality Management with CMMI for Development v.1.3 (2013)

2 Discussion Topics Software Development Maturity Models CMMI Characteristics of Maturity Levels Key Process Areas

3 Software Quality Management Concerned with ensuring that the required level of quality is achieved in a software product. Involves defining appropriate quality standards and procedures and ensuring that these are followed. Aims to develop a quality culture where quality is seen as everyone s responsibility.

4 Quality Management Activities Quality assurance Establish organisational procedures and standards for quality. Quality planning Select applicable procedures and standards for a particular project and modify these as required. Quality control Ensure that procedures and standards are followed by the software development team. Quality management should be separate from project management to ensure independence.

5 Quality of Process Affects Quality of Product Software development process D1 D2 D3 D4 D5 Quality management process Standards and procedures Quality plan Quality review reports

6 Process-Based Quality Assurance Define Process Develop Product Assess Product Quality [else] [yes] Quality Product? Standardise Process

7 Quality Assurance and Standards Standards are the key to effective quality management. They may be international, national, organizational or project standards. Product standards define characteristics that all components should exhibit Process standards define how the software process should be enacted.

8 Importance of Standards Encapsulation of best practice- avoids repetition of past mistakes. They are a framework for quality assurance processes - they involve checking compliance to standards. They provide continuity - new staff can understand the organisation by understanding the standards that are used.

9 Software Development Maturity Models They describe a progression towards disciplined, successful software processes Are a framework for assessing the software process (what level of maturity have you achieved?) regardless of what lifecycle model is used Are often used as a guide for process improvement

10 Organizational Maturity Immature Organizations software processes improvised reactionary management schedules and budgets are routinely overrun, partly due to poor estimates no objective basis for judging product quality or for solving product/process problems making product quality unpredictable time pressures reduce emphasis on reviews and testing

11 Organizational Maturity (cont d) Mature Organizations work carried out according to planned process clearly defined roles and responsibilities managers monitor quality of software products and customer satisfaction quantitative basis for judging quality and analyzing problems schedules & budgets based on past performance performance measures usually achieved

12 Capability Maturity Model (CMM) Framework for Continuous Process Improvement Contains essential elements of effective processes for one or more disciplines and describe an evolutionary improvement path from ad hoc, immature processes to disciplined, mature processes with improved quality and effectiveness CMM is not prescriptive only provide guidance to use when developing processes; CMMI models are not processes or process descriptions

13 SW-CMM Maturity Levels Disciplined Process Standard, Consistent Process Repeatable (2) Predictable Process Defined (3) Continuously Improving Process Managed (4) Optimizing (5) Initial (1)

14 Capability Maturity Model Overview LEVEL CHARACTERISTIC KEY PROCESS AREA RESULTS 5 Optimizing 4 Managed 3 Defined Improvement fed back into process (Quantitative) Measured process (Qualitative) Process defined and institutionalized Process change management Technology innovation Defect prevention Quality management Process measurement & analysis Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Productivity and quality 2 Repeatable 1 Initial (Intuitive) Process dependent on individuals (Ad hoc/chaotic) Software configuration management Software quality assurance Software project tracking & oversight Software subcontract management Software project planning Requirements management Survival Risk

15 KPAs Level 2: Repeatable (1 of 6) Requirements Management to establish a common understanding between the customer and the software project of the customer s requirements to be addressed by the project this agreement with the customer is the basis for planning and managing the software project

16 KPAs Level 2: Repeatable (2 of 6) Software Project Planning to establish reasonable plans for performing the software engineering and for managing the software project reasonable plans based on developing realistic estimates for the work and establishing necessary commitments to perform the work begins with SOW and constraints and goals that define and bound the project

17 KPAs Level 2: Repeatable (3 of 6) Software Project Tracking and Oversight to establish adequate visibility of actual progress so that management can take effective actions when the software project s performance deviates significantly from the software plans Management of the project based on the software development plan

18 KPAs Level 2: Repeatable (4 of 6) Software Subcontract Management to select qualified software subcontractors and manage them effectively subcontractor selected on ability to perform the work other factors include strategic business alliances, process capability, technical considerations,...

19 KPAs Level 2: Repeatable (5 of 6) Software Quality Assurance to provide management with appropriate visibility into the process being used by the software project and of the products being built visibility achieved by reviewing and auditing the software products and activities to verify that they comply with the applicable standards and procedures

20 KPAs Level 2: Repeatable (6 of 6) Software Configuration Management to establish and maintain the integrity of the products of the software project throughout the project s software life cycle identifies configuration of the software at given points in time, systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration through the software life cycle

21 KPAs Level 3: Defined (1 of 7) Organization Process Focus to establish the organizational responsibility for software process activities that improve the organization s overall software process capability sustained process improvement involves developing and maintaining an understanding of software processes and coordinating the activities to assess, develop, maintain and improve these processes

22 KPAs Level 3: Defined (2 of 7) Organization Process Definition to develop and maintain a usable set of software process assets that improve process performance across the projects and provide a basis for defining meaningful data for quantitative process management

23 KPAs Level 3: Defined (3 of 7) Training Program to develop the skills and knowledge of individuals so they can perform their roles effectively and efficiently training is organization s responsibility, but software projects are responsible for identifying needed skills and providing necessary training

24 KPAs Level 3: Defined (4 of 7) Integrated Software Management to integrate the software engineering and management activities into a coherent, defined software process that is tailored from the organization s standard software process and related process assets

25 KPAs Level 3: Defined (5 of 7) Software Product Engineering to perform consistently a well-defined engineering process that integrates all the software engineering activities to produce correct, consistent software products effectively and efficiently

26 KPAs Level 3: Defined (6 of 7) Intergroup Coordination to establish a means for the software engineering group to participate actively with the other engineering groups so the project is better able to satisfy the customer s needs effectively and efficiently

27 KPAs Level 3: Defined (7 of 7) Peer Reviews to remove defects from the software work products early and efficiently to develop better understanding of the software work products and of the defects that can be prevented implementable through inspections, structured walkthroughs, or other collegial review methods

28 KPAs Level 4: Managed (1 of 2) Quantitative Process Management to control the process performance of the software project quantitatively (SPC?) random variation exists in any process with stable process, performance is normally within known bounds (quantitative process capability) performance outside those bounds due to special causes of variation

29 KPAs Level 4: Managed (2 of 2) Software Quality Management to develop a quantitative understanding of the quality of the project s software products and achieve specific quality goals quantitative goals based on needs of organization, the customer, and the end user Software Quality Management is product focused while Quantitative Process Management is process focused

30 KPAs Level 5: Optimizing (1 of 3) Defect Prevention analyzes defects, identifies causes, and takes action to prevent them from recurring a mechanism for incrementally improving software process in an evolutionary way

31 KPAs Level 5: Optimizing (2 of 3) Technology Change Management to identify beneficial new technologies (i.e. tools, methods, and processes) and transfer them into the organization in an orderly manner technology transition implies identifying, selecting, and evaluating new technologies, and incorporating effective technologies into the organization to improve software quality

32 KPAs Level 5: Optimizing (3 of 3) Process Change Management to improve continually the software processes used in the organization with the intent of improving software quality, increasing productivity, and decreasing the cycle time for product development

33 Maturity Levels in Industry ~73-80% at Level 1 ~10-15% at Level 2 & 3 ~1-3% at Levels 4 or 5 often, an organization s processes are at different maturity levels often, different projects within the organization are at different levels a specific Level (other than 1) cannot be attached to an organization until all key process areas are stable at that particular Level

34 SW-CMM s Biggest Benefits moving from Level 1 to Levels 2 and 3 Estimated vs. Actual Cost and Schedule have been shown to get very close by Level 3 Productivity improvement can be % Post-release defects can be reduced by 10% - 94% can take 1-2+ years to move up a Level

35 Quality Planning A quality plan sets out the desired product qualities and how these are assessed and defines the most significant quality attributes. The quality plan should define the quality assessment process. It should set out which organisational standards should be applied and, where necessary, define new standards to be used.

36 Quality Plan Template Product introduction Description of product, intended market, quality expectations Product plans Critical release dates, distribution and product servicing plans Process descriptions Quality goals Critical product quality attributes Risks and risk management

37 Summary Quality Management Activities CMMI Quality Plan Template