Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

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

Liknende presentasjoner


Presentasjon om: "Kapittel 26 – Prosessforbedring Carl-Fredrik Sørensen CMM video:"— Utskrift av presentasjonen:

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

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

3 3 Innhold Prosessforbedrings-prosessen Prosess målinger Prosess analyse Prosess endring CMMI prosessforbedrings-rammeverk

4 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 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. 5 ‘80 ‘90

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

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

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

13 13 Prosessattributter 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? Prosessstabilitet

14 Kapittel 26 – Prosessforbedring Carl-Fredrik Sørensen

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

17 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 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 Kapittel 26 – GQM Carl-Fredrik Sørensen

20 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 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 22 The GQM paradigm

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

24 24 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. MeasureAnalyseChange

25 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 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 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 28 Aspekter av prosessanalyse 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?

29 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 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 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 32 Prosessen for prosessendring

33 33 Steg i prosessendring Identifisere 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 34 Steg i prosessendring Trening i prosessendringen –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 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 Kapittel 26 – CMMI Carl-Fredrik Sørensen CMM video:

37 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 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 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 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 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 42 Prosessområder i CMMI CategoryProcess area Process managementOrganizational process definition (OPD) Organizational process focus (OPF) Organizational training (OT) Organizational process performance (OPP) Organizational innovation and deployment (OID) Project managementProject planning (PP) Project monitoring and control (PMC) Supplier agreement management (SAM) Integrated project management (IPM) Risk management (RSKM) Quantitative project management (QPM) Book Part 4 Book Ch 2

43 43 Prosessområder i CMMI CategoryProcess area EngineeringRequirements management (REQM) Requirements development (RD) Technical solution (TS) Product integration (PI) Verification (VER) Validation (VAL) SupportConfiguration 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 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 45 Eksempler på mål i CMMI – prosessområder GoalProcess 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. Project monitoring and control (specific goal) 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 Man har et system for å sette i gang tiltak når resultater ikke er som forventet (avvik)

46 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 47 The CMMI staged maturity model 47 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 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 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 50 A process capability profile 50

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

52 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 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 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 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 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 Carl-Fredrik Sørensen CMM video:"

Liknende presentasjoner


Annonser fra Google