Presentation is loading. Please wait.

Presentation is loading. Please wait.

Process improvement 1. Topics covered  The process improvement process  Process measurement  Process analysis  Process change  The CMMI process improvement.

Similar presentations


Presentation on theme: "Process improvement 1. Topics covered  The process improvement process  Process measurement  Process analysis  Process change  The CMMI process improvement."— Presentation transcript:

1 Process improvement 1

2 Topics covered  The process improvement process  Process measurement  Process analysis  Process change  The CMMI process improvement framework 2

3 Process improvement  Many software companies have turned to software process improvement as a way of enhancing the quality of their software, reducing costs or accelerating their development processes.  Process improvement means understanding existing processes and changing these processes to increase product quality and/or reduce costs and development time. 3

4 Approaches to improvement  The process maturity approach, which focuses on improving process and project management and introducing good software engineering practice.  The level of process maturity reflects the extent to which good technical and management practice has been adopted in organizational software development processes.  The agile approach, which focuses on iterative development and the reduction of overheads in the software process.  The primary characteristics of agile methods are rapid delivery of functionality and responsiveness to changing customer requirements. 4

5 Process and product quality  Process quality and product quality are closely related and process improvement benefits arise because the quality of the product depends on its development process.  A good process is usually required to produce a good product.  For manufactured goods, process is the principal quality determinant.  For design-based activities, other factors are also involved, especially the capabilities of the designers. 5

6 Factors affecting software product quality 6

7 Quality factors  For large projects with ‘average’ capabilities, the development process determines product quality.  For small projects, the capabilities of the developers is the main determinant.  The development technology is particularly significant for small projects.  In all cases, if an unrealistic schedule is imposed then product quality will suffer. 7

8 Process improvement process  There is no such thing as an ‘ideal’ or ‘standard’ software process that is applicable in all organizations or for all software products of a particular type.  You will rarely be successful in introducing process improvements if you simply attempt to change the process to one that is used elsewhere.  You must always consider the local environment and culture and how this may be affected by process change proposals.  Each company has to develop its own process depending on its size, the background and skills of its staff, the type of software being developed, customer and market requirements, and the company culture. 8

9 Improvement attributes  You also have to consider what aspects of the process that you want to improve.  Your goal might be to improve software quality and so you may wish to introduce new process activities that change the way software is developed and tested.  You may be interested in improving some attribute of the process itself (such as development time) and you have to decide which process attributes are the most important to your company. 9

10 Process attributes Process characteristic Key issues UnderstandabilityTo what extent is the process explicitly defined and how easy is it to understand the process definition? StandardizationTo what extent is the process based on a standard generic process? This may be important for some customers who require conformance with a set of defined process standards. To what extent is the same process used in all parts of a company? VisibilityDo the process activities conclude in clear results, so that the progress of the process is externally visible? MeasurabilityDoes the process include data collection or other activities that allow process or product characteristics to be measured? SupportabilityTo what extent can software tools be used to support the process activities? 10

11 Process attributes Process characteristic Key issues AcceptabilityIs the defined process acceptable to and usable by the engineers responsible for producing the software product? ReliabilityIs the process designed in such a way that process errors are avoided or trapped before they result in product errors? RobustnessCan the process continue in spite of unexpected problems? MaintainabilityCan the process evolve to reflect changing organizational requirements or identified process improvements? RapidityHow fast can the process of delivering a system from a given specification be completed? 11

12 Process improvement stages  Process measurement  Attributes of the current process are measured. These are a baseline for assessing improvements.  Process analysis  The current process is assessed and bottlenecks and weaknesses are identified.  Process change  Changes to the process that have been identified during the analysis are introduced. 12

13 The process improvement cycle 13

14 Process measurement  Wherever possible, quantitative process data should be collected  However, where organisations do not have clearly defined process standards this is very difficult as you don’t know what to measure. A process may have to be defined before any measurement is possible.  Process measurements should be used to assess process improvements  But this does not mean that measurements should drive the improvements. The improvement driver should be the organizational objectives. 14

15 Process metrics  Time taken for process activities to be completed  E.g. Calendar time or effort to complete an activity or process.  Resources required for processes or activities  E.g. Total effort in person-days.  Number of occurrences of a particular event  E.g. Number of defects discovered. 15

16 Goal-Question-Metric Paradigm  Goals  What is the organisation trying to achieve? The objective of process improvement is to satisfy these goals.  Questions  Questions about areas of uncertainty related to the goals. You need process knowledge to derive these.  Metrics  Measurements to be collected to answer the questions. 16

17 GQM questions  The GQM paradigm is used in process improvement to help answer three critical questions:  Why are we introducing process improvement?  What information do we need to help identify and assess improvements?  What process and product measurements are required to provide this information? 17

18 The GQM paradigm 18

19 Process analysis  The study of existing processes to understand the relationships between parts of the process and to compare them with other processes.  Process analysis and process measurement are intertwined.  You need to carry out some analysis to know what to measure, and, when making measurements, you inevitably develop a deeper understanding of the process being measured. 19

20 Process analysis objectives  To understand the activities involved in the process and the relationships between these activities.  To understand the relationships between the process activities and the measurements that have been made.  To relate the specific process or processes that you are analyzing to comparable processes elsewhere in the organization, or to idealized processes of the same type. 20

21 Process analysis techniques  Published process models and process standards  It is always best to start process analysis with an existing model. People then may extend and change this.  Questionnaires and interviews  Must be carefully designed. Participants may tell you what they think you want to hear.  Ethnographic analysis  Involves assimilating process knowledge by observation. Best for in-depth analysis of process fragments rather than for whole- process understanding. 21

22 Aspects of process analysis Process aspect Questions Adoption and standardization Is the process documented and standardized across the organization? If not, does this mean that any measurements made are specific only to a single process instance? If processes are not standardized, then changes to one process may not be transferable to comparable processes elsewhere in the company. Software engineering practice Are there known, good software engineering practices that are not included in the process? Why are they not included? Does the lack of these practices affect product characteristics, such as the number of defects in a delivered software system? Organizational constraints What are the organizational constraints that affect the process design and the ways that the process is performed? For example, if the process involves dealing with classified material, there may be activities in the process to check that classified information is not included in any material due to be released to external organizations. Organizational constraints may mean that possible process changes cannot be made. 22

23 Aspects of process analysis Process aspectQuestions CommunicationsHow are communications managed in the process? How do communication issues relate to the process measurements that have been made? Communication problems are a major issue in many processes and communication bottlenecks are often the reasons for project delays. IntrospectionIs the process reflective (i.e., do the actors involved in the process explicitly think about and discuss the process and how it might be improved)? Are there mechanisms through which process actors can propose process improvements? LearningHow do people joining a development team learn about the software processes used? Does the company have process manuals and process training programs? Tool supportWhat aspects of the process are and aren’t supported by software tools? For unsupported areas, are there tools that could be deployed cost-effectively to provide support? For supported areas, are the tools effective and efficient? Are better tools available? 23

24 Process models  Process models are a good way of focusing attention on the activities in a process and the information transfer between these activities.  Process models do not have to be formal or complete – their purpose is to provoke discussion rather than document the process in detail.  Model-oriented questions can be used to help understand the process e.g.  What activities take place in practice but are not shown in the model?  Are there process activities, shown in the model, that you (the process actor) think are inefficient? 24

25 Process exceptions  Software processes are complex and process models cannot effectively represent how to handle exceptions:  Several key people becoming ill just before a critical review;  A breach of security that means all external communications are out of action for several days;  Organisational reorganisation;  A need to respond to an unanticipated request for new proposals.  Under these circumstances, the model is suspended and managers use their initiative to deal with the exception. 25

26 Key points  The goals of process improvement are higher product quality, reduced process costs and faster delivery of software.  The principal approaches to process improvement are agile approaches, geared to reducing process overheads, and maturity- based approaches based on better process management and the use of good software engineering practice.  The process improvement cycle involves process measurement, process analysis and modeling, and process change.  Measurement should be used to answer specific questions about the software process used. These questions should be based on organizational improvement goals. 26

27 Process change  Involves making modifications to existing processes.  This may involve:  Introducing new practices, methods or processes;  Changing the ordering of process activities;  Introducing or removing deliverables;  Introducing new roles or responsibilities.  Change should be driven by measurable goals. 27

28 The process change process 28

29 Process change stages  Improvement identification  This stage is concerned with using the results of the process analysis to identify ways to tackle quality problems, schedule bottlenecks or cost inefficiencies that have been identified during process analysis.  Improvement prioritization  When many possible changes have been identified, it is usually impossible to introduce them all at once, and you must decide which are the most important.  Process change introduction  Process change introduction means putting new procedures, methods and tools into place and integrating them with other process activities. 29

30 Process change stages  Process change training  Without training, it is not possible to gain the full benefits of process changes. The engineers involved need to understand the changes that have been proposed and how to perform the new and changed processes.  Change tuning  Proposed process changes will never be completely effective as soon as they are introduced. You need a tuning phase where minor problems can be discovered, and modifications to the process can be proposed and introduced. 30

31 Process change problems  Resistance to change  Team members or project managers may resist the introduction of process changes and propose reasons why changes will not work, or delay the introduction of changes. They may, in some cases, deliberately obstruct process changes and interpret data to show the ineffectiveness of proposed process change.  Change persistence  While it may be possible to introduce process changes initially, it is common for process innovations to be discarded after a short time and for the processes to revert to their previous state. 31

32 Resistance to change  Project managers often resist process change because any innovation has unknown risks associated with it.  Project managers are judged according to whether or not their project produces software on time and to budget. They may prefer an inefficient but predictable process to an improved process that has organizational benefits, but which has short- term risks associated with it.  Engineers may resist the introduction of new processes for similar reasons, or because they see these processes as threatening their professionalism.  That is, they may feel that the new pre-defined process gives them less discretion and does not recognize the value of their skills and experience. 32

33 Change persistence  The problem of changes being introduced then subsequently discarded is a common one.  Changes may be proposed by an ‘evangelist’ who believes strongly that the changes will lead to improvement. He or she may work hard to ensure the changes are effective and the new process is accepted.  If the ‘evangelist’ leaves, then the people involved may therefore simply revert to the previous ways of doing things.  Change institutionalization is important  This means that process change is not dependent on individuals but that the changes become part of standard practice in the company, with company-wide support and training. 33

34 Software Process  A software process is a road map that helps you create a timely, high quality result. It is the way we produce software and it provides stability and control.  Each process defines certain deliverables known as the work products.These include programs, documents, and data produced as a consequence of the software engineering activities.

35 In 1986, in response to a request from the US Department of Defence to provide a method of assessing the capability of contractors to produce software on time and within budget, the SEI began the development of a process maturity framework. The primary aim of the CMM was to determine an organisation's capability by measuring the degree to which processes are defined and managed. The CMM describes an evolutionary path from an immature, ad-hoc software process to an optimising, disciplined and mature process. CMMI - History

36 CMM's success had led to the development of similar models addressing systems engineering (SE-CMM), integrated product development (IPD- CMM), software acquisition (SA-CMM), and human resources (People CMM). The CMM Integration project was formed to sort out the problem of using multiple CMMs. As the name suggests, the CMMI is a model that combines three source models – the Capability Maturity Model for Software, the Alliance Interim Standard (EIA/IS) 731, and the Integrated Product Development Capability Maturity Model (IPD- CMM). CMMI - History

37 The CMM (Software CMM) was the first capability maturity model adopted by software development companies The CMM has been retired, and CMMI replaces it. The SEI no longer maintains the SW-CMM model, its associated appraisal methods, or training materials, nor does the SEI offer SW-CMM training. All SW-CMM appraisal results expired on December 31, 2007. After December 31, 2007, all SW-CMM ratings will be considered invalid and should not be advertised. CMMI - History

38 CMMI has two representations, i.e. staged and continuous The staged representation uses a maturity levels and is a systematic and structured way to approach process improvement one step at a time. The continuous representation uses capability levels to measure process improvement. The continuous representation is a flexible way to improve process performance as organisations are allowed to improve any single process areas or group of process areas. CMMI

39 Staged representation Maturity levels, which belong to the staged representation, apply to an organisation’s overall maturity. There are five maturity levels, numbered 1 through 5. Each maturity level comprises a predefined set of process areas. CMMI - Staged Maturity LevelStaged Representation 1Initial 2Managed 3Defined 4Quantitatively Managed 5Optimizing

40 Staged representation Staged CMMI - Staged

41 Process Areas: A process area is a cluster of related practices in an area that, when performed collectively, satisfy a set of goals considered important for making significant improvement in that area. All CMMI process areas are common to both continuous and staged representations. Specific Goals: Specific goals apply to a process area and address the unique characteristics that describe what must be implemented to satisfy the process area. Specific goals are required model components and are used in appraisals to help determine whether a process area is satisfied. Specific Practices: A specific practice is an activity that is considered important in achieving the associated specific goal. CMMI - Staged

42 Example Process Areas – Requirements Management Specific Goals – SG 1 Manage Requirements Specific Practices: SP 1.3-1 Manage requirements changes SP1.5-1 Identify inconsistencies between requirements CMMI - Staged

43 Generic Goals: In the staged representation, each process area has only one generic goal. Achievement of a generic goal in a process area signifies improved control in planning and implementing the processes associated with that process area. Generic goals are required model components and are used in appraisals to determine whether a process area is satisfied. Genetic Practices: Generic practices provide institutionalization to ensure that the processes associated with the process area will be effective, repeatable, and lasting. Generic practices are categorized by generic goals and common features and are expected components in CMMI models. SPI Model – CMMI - Staged

44 Example Process Areas – Requirements Management Generic Goal – SG 2 Institutionalize a Managed Process Generic Practices: GP 2.2 Plan the process GP2.3 Provide resources GP2.5 Train people CMMI - Staged

45 SPI Model – CMMI - Staged

46 Ad-hoc software process System development projects follow no prescribed process. Each developer uses his or her own tools and methods. Success or failure is usually a function of the skill and experience of the project team. The process is unpredictable. Documentation is not consistent from one project to the next, thus creating problems for those who must maintain a system over its lifetime CMMI – Level 1 Initial

47 Project management processes and practices are established to track project costs, schedules, and functionality. The focus is on project management, not system development. Results of project management are reasonably predictable. The necessary process discipline is in place to repeat earlier successes on projects with similar applications. Experience from previous projects is gathered CMMI – Level 2 Managed

48 A standard system development process (sometimes called a “methodology”) is purchased or developed. The process is stable, predictable, and repeatable. The software process for both management and engineering activities is documented and standardized for all software projects. Success is achieved by the process (hero’s are expected). Foundation is laid for major and continuing progress. All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software. CMMI – Level 3 Defined

49 Creates a group within the organization responsible for software process activities, called Software Engineering Process Group (SEPG). Organization-wide training programs are established to ensure that staff has the necessary skills and knowledge to be able to fulfil their roles. Management has good insight into the progress of the projects. CMMI – Level 3 Defined

50 The process is in statistical control, so that special causes can be distinguished from common causes and the quality of the process can be controlled. Detailed measures of the standard system development process and product quality are routinely collected and stored in a database. Both the software process and products are quantitatively understood and controlled. Organisation-wide software process database is established. Managers have quantitative metrics for making decisions. CMMI – Level 4 Quantitatively Managed

51 The standardized system development process (methodology) is continuously monitored and improved based on measures and data analysis established in Level 4 Focused on continuous improvement. Organisation has means to identify the weakest elements of the process and fix them. Can introduce new technology and make changes in a controlled and managed manner. CMMI – Level 5 Optimising

52 If organisations do not want to follow the predefined order of improvement as suggested by staged representation then they follow continuous representation. The continuous representation allows you to select the order of improvement that best meets the organisation’s business objectives and mitigates the organisation’s areas of risk. Can start with process areas in CMMI Level 3. CMMI – Continuous

53 Continuous representation CMMI - Continuous

54 Capability levels, which belong to the continuous representation, apply to an organization’s process- improvement achievement for each process area. There are six capability levels, numbered 0 through 5. Each capability level corresponds to a generic goal and a set of generic and specific practices. Capability level is measured separately for each process area. Capability LevelContinuous Representation Capability Levels 0Incomplete 1Performed 2Managed 3Defined 4Quantitatively Managed 5Optimizing CMMI - Continuous

55 The continuous representation has more specific practices than the staged representation because the continuous representation has two types of specific practices, base and advanced, whereas the staged representation has only one type of specific practice. In the continuous representation, generic practices exist for capability levels 1-5, whereas, in the staged representation, only the generic practices from capability levels 2 and 3 appear; there are no generic practices from capability levels 1, 4, and 5 CMMI - Continuous

56 Capability Levels Belong to a continuous representation and applies to an organisation’s process improvement achievement in individual process areas. These levels are a means for incrementally improving the process corresponding to a given process area. There are six capability levels, numbered 0 through 5. Maturity Levels Belong to a staged representation and applies to an organisation’s process improvement achievement across multiple process areas. These levels are a means of predicting the general outcomes of the next project undertaken. There are five maturity levels, numbered 1 through 5. CMMI – Continuous and Staged

57 Critics of CMMI The focus is on “what to do” instead of “how to do it”. Complex and hard to implement. Hard to use by Small and Medium Enterprises. No formal theoretical basis. Based mainly on experience of large government contractors. Based on Watts Humphrey's own experience in the mainframe world. Ignores People.

58 Key Points The primary aim of the CMMI is to determine an organisation's capability by measuring the degree to which processes are defined and managed. CMMI has two representations, i.e. staged and continuous. The continuous representation has more specific practices than the staged representation. Capability levels belong to a continuous representation. Maturity levels belong to a staged representation. A software process assessment is an appraisal or review of an organisation’s software process. SCAMPI is designed to provide benchmark quality ratings relative to CMMI models.


Download ppt "Process improvement 1. Topics covered  The process improvement process  Process measurement  Process analysis  Process change  The CMMI process improvement."

Similar presentations


Ads by Google