Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Kapittel 26 – Prosessforbedring

Liknende presentasjoner


Presentasjon om: "Kapittel 26 – Prosessforbedring"— Utskrift av presentasjonen:

1 Kapittel 26 – Prosessforbedring
Carl-Fredrik Sørensen CMM video:

2 The simple story about SPI
Software system Developer User Software specification Software development Software validation Software evolution ? Prosess ekspert

3 Innhold Prosessforbedrings-prosessen Prosess målinger Prosess analyse
Prosess endring CMMI prosessforbedrings-rammeverk 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. The CMMI process maturity model is an integrated process improvement model that supports both staged and continuous process improvement. Process improvement in the CMMI model is based on reaching a set of goals related to good software engineering practice and describing, standardizing and controlling the practices used to achieve these goals. The CMMI model includes recommended practices that may be used, but these are not obligatory.

4 Prosessforbedring (SPI)
Mål: Forbedre produktkvalitet Redusere kostnader Minske tid på programvareutvikling Må forstå eksisterende prosesser og kunne endre prosessene for å oppnå målene.

5 Tilnærming til forbedring
Prosessmodenhet – fokuserer forbedring av prosess og prosjektstyring, og introdusere god praksis for programvareutvikling. Nivå på prosessmodenhet reflekterer hvilket omfang gode teknisk- og styringspraksiser har blitt tatt inn i organisatoriske programvareutviklingsprosesser. Smidig tilnærming fokuserer på iterativ utvikling og reduksjon av administrasjon. Primære karakteristikker er raske leveranser av funksjonalitet og være mottakelig for endringer i kundekrav. ‘80 ‘90 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.

6 2020 – 2050 A View of 20th and 21st Century Software Engineering, Barry Boehm, University of Southern California, UniversityPark Campus, Los Angeles,

7 Prosess- og produktkvalitet
Nært relatert! Produktkvalitet avhenger av utviklingsprosessen. En god prosess er normalt påkrevd for å lage et godt produkt. For industrielt fremstilte varer: prosessen er viktigste faktor for kvalitet. For design-baserte aktiviteter: andre faktorer er involvert, spesielt dyktighet til designere.

8 Factors affecting software product quality
small projects manufactured goods design-based activities For large projects For small projects In all cases 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. 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. 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. Startup Engineering Balaji S. Srinivasan and Vijay S. Pande Learn the engineering skills needed to build a technology startup from the ground up. Not syllabus, just something I would sign up for if I were you 

9 Kvalitetsfaktorer For store prosjekter med ‘gjennomsnittlig’ dyktighet på utviklere, er produktkvaliteten bestemt av utviklingsprosessen. For små prosjekter, er dyktigheten til utviklere hovedfaktoren for produktkvalitet. Utviklingsteknologien er spesielt viktig for små prosjekter. Uansett prosjekt, hvis en urealistisk tidsplan er pålagt, så lider produktkvaliteten.

10 Prosessforbedrings-prosess
Finnes ingen ‘ideell’ eller ‘standard’ programvareprosess som passer for alle organisasjoner eller alle programvareprodukter av en spesiell type. Sjelden vellykket forbedring å endre til en prosess benyttet andre steder. Må alltid ta hensyn til lokale forhold og kultur for hvordan denne blir påvirket av endringsforslag. Alle selskaper må utvikle sin egen prosess basert på Størrelse Bakgrunn og ferdigheter i staben Kunde og markedskrav Organisasjonskultur

11 Forbedringsattributter
Velge hvilke aspekter av prosessen som ønskes forbedret. Mål kan være å forbedre programvarekvalitet, kan da ønske introdusere nye prosessaktivitet for å endre på utvikling eller testing. Kan være interessert å forbedre et attributt i selve prosessen, f.eks. utviklingstid. Må da bestemme hvilke attributter som er viktigst for selskapet.

12 Prosessattributer Process characteristic Key issues Understandability
To what extent is the process explicitly defined and how easy is it to understand the process definition? Chapter 2 Software Processes Standardization To 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? Chapter 24 Quality Visibility Do the process activities culminate in clear results, so that the progress of the process is externally visible? Chapter 23 Project Management Measurability Does the process include data collection or other activities that allow process or product characteristics to be measured? Chapter 24 Quality and 26 Supportability To what extent can software tools be used to support the process activities? Chapter 25 CM

13 Prosessattributter Prosessstabilitet Process characteristic Key issues
Acceptability Is the defined process acceptable to and usable by the engineers responsible for producing the software product? Reliability Is the process designed in such a way that process errors are avoided or trapped before they result in product errors? Robustness Can the process continue in spite of unexpected problems? Maintainability Can the process evolve to reflect changing organizational requirements or identified process improvements? Rapidity How fast can the process of delivering a system from a given specification be completed? Prosessstabilitet

14 Kapittel 26 – Prosessforbedring
Carl-Fredrik Sørensen

15 Steg i prosessforbedring
Prosessmåling Attributter av nåværende prosess blir målt. Utgangspunkt for å vurdere forbedringer. Prosessanalyse Nåværende prosess blir vurdert der flaskehalser og svakheter blir identifisert. Prosessendring Introdusere endringer til prosessen som er blitt identifisert gjennom analysen.

16 The process improvement cycle
? Prosess ekspert 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.

17 Prosessmålinger Kvantitative data bør samles inn hvor mulig
Kan være vanskelig dersom organisasjoner ikke har klart definerte prosesstandarder. En prosess må kanskje være definert før målinger er mulig. Prosessmålinger bør brukes til å vurdere prosessforbedringer Målinger bør ikke drive forbedringer. Driver for forbedringer bør være organisatoriske mål.

18 Prosessmetrikk Tidsforbruk for ferdigstillelse av prosessaktiviteter
F.eks. Kalendertid eller forbrukt tid til å ferdigstille en aktivitet eller prosess. Resursser påkrevd for prosesser eller aktiviteter F.eks. Totalt forbruk tid i persondager. Antall forekomster av en spesifikk hendelse F.eks. Antall oppdagede defekter/feil.

19 Carl-Fredrik Sørensen
Kapittel 26 – GQM Carl-Fredrik Sørensen

20 Goal-Question-Metric Paradigm (GQM)
Goals Hva ønsker organisasjonen å oppnå? Hensikten med prosessforbedring er å tilfredstille disse målene. Questions Spørsmål om usikre områder knyttet til målene. Behov for prosesskunnskap for å utlede disse. Metrics Målinger som skal samles for å svare på spørsmålene.

21 GQM spørsmål GQM paradigmen blir benyttet i prosessforbedring for å hjelpe til med å svare på tre kritiske spørsmål: Hvorfor introduseres prosessforbedring? Hvilken informasjon er det behov for, for å hjelpe til å identifisere og vurdere forbedringer? Hvilke prosess og produktmålinger er påkrevd for å sørge for denne informasjonen?

22 The GQM paradigm

23 Kapittel 26 – Prosessanalyse og -endring
Carl-Fredrik Sørensen

24 Measure Analyse Change Prosessanalyse Studiet av eksisterende prosesser for å forstå sammenhengene mellom deler av prosessen og sammenligne disse til andre prosesser.. Prosessanalyse og prosessmåling er sammenflettet. Utføre noe analyse for å vite hva som skal måles. Ved måling utvikles en dypere forståelse av den målte prosessen.

25 Hensikt med prosessanalyse
Forstå aktivitetene involvert i prosessen og relasjoner mellom disse. Forstå sammenhengene mellom prosessaktiviteter og målingene som er blitt foretatt. Relatere spesifikke prosess(er) som analyseres til sammenlignbare prosesser andre steder i organisasjonen, eller ifht. en idealisert prosess av samme type.

26 Teknikker for prosessanalyse
Publiserte prosessmodeller og prosesstandarder Best å starte en prosessanalyse med en eksisterende modell. Denne kan utvides eller endres. Spørreskjemaer og intervjuer Må designes varsomt. Deltakere kan fortelle hva de tror man ønsker å høre. Etnografisk analyse Involverer å samle prosesskunnskap gjennom observasjon. Passer best for dybdeanalyse av prosessfragmenter framfor forståelse av hele prosessen.

27 Aspekter av prosessanalyse
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.

28 Aspekter av prosessanalyse
Process aspect Questions Communications How 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. Introspection Is 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? Learning How do people joining a development team learn about the software processes used? Does the company have process manuals and process training programs? Tool support What 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?

29 Prosessmodeller En god måte å fokusere oppmerksomhet på aktiviteter i en prosess og overføring av informasjon mellom disse aktivitetene. Prosessmodeller trenger ikke å være formelle eller komplette – hensikten er å stimulere diskusjon enn å detaljert dokumentasjon. Modellorienterte spørsmål kan bli benyttet til forståelsen f.eks.. Hvilke aktiviteter gjøres i praksis, men er ikke vist i modellen? Er det aktiviteter i modellen som er ineffektive?

30 Prosessunntak Programvareprosesser er komplekse og prosessmodeller er ikke effektivt i stand til å håndtere unntak: Nøkkelpersonell er syk rett før en kritisk revisjon; Sikkerhetsbrudd som gjør at ekstern kommunikasjon er umulig for flere dager; Reorganisering i organisasjonen; Behov for å respondere på en uventet forespørsel om nye forslag. Slike situasjoner kan medføre at modellen kortsluttes hvor man prøver å håndtere avviket.

31 Prosessendring Involverer å gjøre endringer i eksisterende prosesser.
Dette kan være: Introdusere ny praksiser, metoder og metoder; Endre rekkefølge på prosessaktiviteter; Introdusere eller fjerne leveranser; Introdusere nye roller eller ansvarsområder. Endring bør være drevet av målbare målsetninger.

32 Prosessen for prosessendring

33 Steg i prosessendring Identifisere forbedring Prioritere forbedring
Benytter resultater fra prosessanalysen for å identifisere måter å håndtere kvalitetsproblemer, flaskehalser eller kostineffektiviteter. Prioritere forbedring Umulig å introdusere alle mulige endringer, må bestemme hvilke som er mest viktig. Introdusere prosessendring Implementere nye prosedyrer, metoder og verktøy og integrere disse med andre prosessaktiviteter.

34 Steg i prosessendring Trening i prosessendringen Finjustere endringer
Umulig å få full effekt av endring uten trening. Involverte må forstå endringene og hvordan utføre nye eller endrede prosesser. Finjustere endringer Sjelden at foreslåtte endringer er effektiv fra start. Viktig å ha en justeringsfase for å oppdage små problemer og forslag til prosessen kan bli foreslått og introdusert.

35 Problemer i prosessendring
Motstand mot endringer Vanlig med motstand med argumenter hvorfor ting ikke vil fungerer, eller at det aktivt gjøres utsettelser/sabotasje/mistolkning på endringer og effekten av disse. Endringspersistens Introduksjon til endringer som etter en tid blir forkastet og prosesser går tilbake til tidligere tilstand.

36 Carl-Fredrik Sørensen
Kapittel 26 – CMMI Carl-Fredrik Sørensen CMM video:

37 CMMI Rammeverk for prosessforbedring
CMMI-rammeverket er nåværende tilstand på arbeid på prosessvurdering og forbedring som startet av Software Engineering Institute på 1980-taller. SEI’s misjon er å promotere overføring av programvareteknologi, spesielt til kontraktører til US defence kontraktører. Har hatt en tung medvirkning til prosessforbedring Capability Maturity Model, introdusert tidlig i 1990-tallet. Revised maturity framework (CMMI) introdusert i 2001.

38 SEI capability maturity model – CMM
Initial – Initiell Stort sett ukontrollert (Essentially uncontrolled) Repeatable – Repeterbar Prosedyrer for produktstyring definert og brukt Defined – Definert Prosedyrer for prosesstyring og strategier definert og brukt Managed – Styrt Strategier for kvalitetsstyring definert og brukt Optimising – Optimaliserende Strategier for prosessforbedring definert og brukt

39 Vurdering av prosess-kapabilitet
Formål å vurdere i hvilket omfang prosesser i en organisasjon følger beste praksis. Ved å tilby en måte å gjøre vurderinger, så er det mulig identifisere svake områder som kan forbedres. Det finnes flere prosessvurderings og forbedringsmodeller, men SEI har vært mest innflytelsesrik.

40 CMMI-modellen En integrert kapabilitetsmodell som inkluderer vurdering av kapabiliteter for programvare og systems engineering. Har to instanser Nivådelt hvor modellen er uttrykt gjennom kapabilitetsnivåer; Kontinuerlig hvor en kapabilitetsrangering blir beregnet.

41 CMMI modellkomponenter
Prosessområder 22 prosessområder som er relevant for identifisering av prosesskapabilitet og forbedring. Disse er inndelt i fire grupper. Mål Mål er beskrivelser av ønskede tilstander i en organisasjon. Hvert prosessområde har assosierte mål. Praksiser Praksiser er måter å oppnå et mål – disse er rådgivende slik at andre fremgangsmåter kan benyttes for å oppnå et mål.

42 Prosessområder i CMMI Book Ch 2 Book Part 4 Category Process area
Process management Organizational process definition (OPD) Organizational process focus (OPF) Organizational training (OT) Organizational process performance (OPP) Organizational innovation and deployment (OID) Project management Project planning (PP) Project monitoring and control (PMC) Supplier agreement management (SAM) Integrated project management (IPM) Risk management (RSKM) Quantitative project management (QPM) Book Ch 2 Book Part 4

43 Prosessområder i CMMI Book Part 1 Book Part 4 Category Process area
Engineering Requirements management (REQM) Requirements development (RD) Technical solution (TS) Product integration (PI) Verification (VER) Validation (VAL) Support Configuration management (CM) Process and product quality management (PPQA) Measurement and analysis (MA) Decision analysis and resolution (DAR) Causal analysis and resolution (CAR) Book Part 1 Book Part 4

44 Mål og assosierte praksiser i CMMI
Goal Associated practices The requirements are analyzed and validated, and a definition of the required functionality is developed. Analyze derived requirements systematically 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. Root causes of defects and other problems are systematically determined. Select the critical defects and other problems for analysis. Perform causal analysis of selected defects and other problems and propose actions to address them. The process is institutionalized as a defined process. Establish and maintain an organizational policy for planning and performing the requirements development process.

45 Eksempler på mål i CMMI – prosessområder
Man har et system for å sette i gang tiltak når resultater ikke er som forventet (avvik) Goal Process area Corrective actions are managed to closure when the project’s performance or results deviate significantly from the plan. Project monitoring and control (specific goal) Actual performance and progress of the project are monitored against the project plan. The requirements are analyzed and validated, and a definition of the required functionality is developed. Requirements development (specific goal) Root causes of defects and other problems are systematically determined. Causal analysis and resolution (specific goal) The process is institutionalized as a defined process. Generic goal

46 CMMI vurdering Undersøker prosessene benyttet i organisasjonen og vurderer modenhet i hvert prosessområde. Basert på en 6-punktsskala: Not performed; Performed; Managed; Defined; Quantitatively managed; Optimizing.

47 The CMMI staged maturity model
Prosessområde (managed) Kravstyring; Prosjektplanlegging; Prosjektmonitorering og kontroll; Styring av leverandørkontrakter; Måling og analyse; Prosess- og produktskvalitetssikring. Each maturity level has process areas and goals.

48 Institusjonelle praksiser
Institusjoner som opererer på styrt/”managed” nivå. Bør ha praksiser som er rettet mot standardisering. Etablere og vedlikeholde politikk for utføring av prosjektstyringsprosessen; Sørge for tilstrekkelige ressurser for å utføre prosjektstyringsprosessen; Overvåke og kontrollere prosjektplanleggingsprosessen; Revidere aktivitetene, status og resultater fra prosjektplanleggingsprosessen.

49 Den kontinuerlige CMMI-modellen
Finkornet model om betrakter individuelle eller grupper av praksiser og vurdere bruken av disse. Modenhetsvurderinger er ikke en enkelt verdi, men et sett av verdier som viser organisasjonens modenhet i hvert område. CMMI rangerer hvert prosessområde fra nivå 1 til 5. Fordel er at organisasjoner kan velge prosessområder for forbedring ifht. lokale behov.

50 A process capability profile
How do they choose these 7?

51 Kap. 26 – Mer om prosessforbedring
Carl-Fredrik Sørensen

52 Motstand mot endringer
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.

53 Endringspersistens 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.

54 Den nivådelte CMMI-modellen
Sammenlignbar med programvare CMM. Hvert modenhetsnivå har prosessområder og mål. Prosessområdet assosiert med styrt nivå inkluderer f.eks. : Kravstyring; Prosjektplanlegging; Prosjektmonitorering og kontroll; Styring av leverandørkontrakter; Måling og analyse; Prosess- og produktskvalitetssikring.

55 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.

56 Key points The CMMI process maturity model is an integrated process improvement model that supports both staged and continuous process improvement. Process improvement in the CMMI model is based on reaching a set of goals related to good software engineering practice and describing, standardizing and controlling the practices used to achieve these goals. The CMMI model includes recommended practices that may be used, but these are not obligatory.


Laste ned ppt "Kapittel 26 – Prosessforbedring"

Liknende presentasjoner


Annonser fra Google