Shop presentation

advertisement
Hoorcollege SDM1 Capability
Maturity Model
Mario van Vliet
9 mei 2006
-1-
Data
Colleges worden gegeven op de volgende
data:
- 23 Mei
- 6 Juni
Tentamen is op 27 Juni 8:30 uur – 10:30 uur. Voor
diegene die ook GIP-House volgen geldt dat ze zich
moeten inschrijven voor zowel het theorie gedeelte
als het praktijk gedeelte.
-2-
Onderwerpen die in SDM1 aan bod komen
Projectmanagement
Metrics
Component Based Development : vandaag
Projectplanning
Business Planning
Technical Planning
Rollen van
Projectmanager
Qualitymanager
Contract Owner
Public Relations Manager
Director
Planningsmethodieken
Project scheduling & tracking
CPM
Work Breakdown structure
Gantt-charts
Quality Management
Risk Management
Capability Maturity Model : Vandaag
-6-
Inhoud
Wat zijn maturity models?
Process Maturity Framework
Software Process Maturity
Operationeel gebruik van het Capability
Maturity Model (CMM)
Wat is een maturity model?
‘Een maturity model is een model waarmee organisaties hun software
engineering proces kunnen beoordelen en op basis van deze beoordeling
het software proces kunnen verbeteren.’
– 1986 gestart door het Software Engineering Institute (SEI) (Carnegie Mellon
University) en de Mitre Corporation
– SEI gestart met een process maturity framework en een maturity questionnaire
– Software Proces Maturity Framework heeft zich ontwikkeld tot het Capability
Maturity Model (CMM) for Software (1991)
– Grondlegger is W.S. Humprey (1987)
– Literatuur: ‘Capability Maturity ModelTM for Software’, Version 1.1. Paulk et al. ,
Technical report CMU/SEI-93-TR-024 ESC-TR-93-177, February 1993
Process Maturity Framework
Doel is het verbeteren van het software engineering proces
– Succes niet gebaseerd op toevallige individuele prestaties
– Succes gebaseerd op repeteerbare en bewezen succesvolle werkmethoden
Immature
Software
Organisatie
- Geen objectieve basis voor beoordeling
van product kwaliteit
- Geen objectieve basis voor
het verbeteren van product of proces kwaliteit
- Review en testen worden vaak
overgeslagen als projecten achter op schema lopen
- Ad hoc beleid
Mature
Software
Organisatie
- Organisatiewijde kennis en kunde om software
ontwikkeling en onderhouds processen te managen
- Processen zijn ‘fit-for-use’
- Processen worden aangepast aan de situatie
-Taken en bevoegdheden zijn duidelijk voor het project
en de organisatie
Software Process
Software Process:
‘de verzameling van activiteiten, methoden, praktijken
en veranderingen die mensen gebruiken met als
doel het ontwikkelen en onderhouden van software
en geassocieerde producten (b.v. projectplannen,
ontwerp documenten, code, test cases en
gebruikershandleidingen)’
Fundamentele concepten voor
Process Maturity
Software Process Capability
– Voorspellen van de verwachte uitkomst van een volgend software project
Software Process Performance
– Actuele resultaten van een software project
Software Process Maturity
– De mate waarin een software proces expliciet wordt gedefinieerd, gemanaged, gemeten,
gecontroleerd en effectief is
Software Process Institutionalization
– De mate waarin het software proces is geïnstitutionaliseerd ten aanzien van methoden,
standaarden en organisatie structuur
CMM voor software geeft organisaties houvast
ten aanzien van het krijgen van controle over het software
process en hoe te komen tot een situatie van excellence
in software engineering
Vijf niveau’s van software maturity
Maturity niveau:
– Een goed gedefinieerd niveau op weg naar het bereiken
van een volwassen software proces
– Een fundering voor het realiseren van continue
verbeteringen
– Elk niveau kent een verzameling van proces doelstellingen
die, wanneer stabiel, een belangrijk onderdeel vormen van
het software proces
– Elk niveau zorgt voor het verbeteren van de proces
capabiliteit van de organisatie
Vijf niveau’s van software maturity
Continu Verbeterende
Processen
Managed
(4)
Voorspelbare
Processen
Standaard en Consistente
Processen
Gedisciplineerde
Processen
Initial
(1)
Repeatable
(2)
Defined
(3)
Optimizing
(5)
Initial
Het software proces kan gekarakteriseerd worden als ad-hoc, of zelfs
chaotisch
Er zijn vrijwel geen processen gedefinieerd
Succes hangt af van individuele inzet en prestaties
Het software proces is niet voorspelbaar qua resultaten
Schedules, budget, functionaliteit en product kwaliteit is niet voorspelbaar
Werkt desastreus in crises situaties
Kan succesvol zijn in hoge innovatieve omgevingen (b.v start van de webdesign wereld)
Repeatable
De basis project management procedures zijn op zijn plaats
Kosten, schedules en functionaliteit wordt ‘getracked’
Planning en managen van nieuwe projecten is gebaseerd op ervaring met
vergelijkbare projecten
Noodzakelijke proces discipline is ingesteld zodat eerder succes met de
bouw van dezelfde applicatie kan worden herhaald
Software requirements and werk producten worden ‘gebaselined’
Gedisciplineerde omgeving waarin planning en tracking stabiel is en
eerdere successen herhaald kunnen worden
Defined
Software proces voor zowel management als software engineering is
gedocumenteerd, gestandaardiseerd en geïntegreerd in een standaard
software proces
Alle projecten gebruiken een geaccordeerd, aangepaste versie van het
standaard software proces voor het ontwikkelen en onderhouden van
software
Processen worden gebruikt om de software managers en engineers meer
effectief te laten werken
Er is een groep verantwoordelijk voor het software proces
Er wordt training in het software proces gegeven
Het software proces is stabiel en goed gedefinieerd en is in staat meer
effectief te opereren
Managed
Gedetailleerde metrics van het software proces en product kwaliteit
worden verzameld
Er worden kwantitatieve doelen gesteld voor zowel het software proces als
de product kwaliteit
Er wordt een software proces databases gebruikt waarin de metrics
worden verzameld en geanalyseerd
Projecten hebben een dusdanig controle over het software proces en
product kwaliteit dat ze binnen gestelde marges kunnen werken
Risico’s van ontwikkelen in nieuwe technische omgevingen worden
onderkend en gemanaged
Software proces is voorspelbaar en trendekunnen worden voorspeld
Optimizing
Continue software proces verbeteringen worden gerealiseerd door
kwantitatieve feedback van het proces en door het oefenen van
innovatieve ideeën en technologieën
De gehele organisatie ie gefocusseerd op continue verbetering
Data over performance van het proces wordt gebruikt voor cost-benefit
analyses
Innovaties die gebruik maken van de beste software engineering
praktijken worden geïdentificeerd en verspreid over het gehele organisatie
Software project teams analyseren fouten om er achter te komen hoe ze
kunnen verbeteren
‘Lessons learned’ worden gedeeld met andere projecten (teamrooms,
Communities of Practice)
Doel N-z
Maturity niveau en de mate van voorspelling
Doel N-y
Level 5: Optimizing
Doel N-x
Level 4: Managed
Doel N
Doel N+a
Level 3: Defined
Tijd/Geld/…..
Level 2: Repeatable
Level 1: Initial
Operationele gebruik van het CMM
Hoe bepaal je in de praktijk de maturity van een organisatie?
Maturity
Level
Indicate
Process
Capability
Contain
Key Process
Areas
Achieve
Organized by
Goals
Address
Common
Features
Contain
Key
Practices
Implementation or
Institutionalization
Describe
Infrastructure or
Activities
Key Process Areas
Optimizing (5)
-Process change management
-Technology change management
-Defect prevention
Managed (4)
-Software quality management
-Quantitative process management
Defined (3)
Repeatable (2)
Initial (1)
-Peer reviews
-Intergroep coordination
-Software product engineering
-Integrated software management
-Training program
-Organization process definition
-Organization process focus
-Software Configuration Management
-Software Quality Assurance
-Software Subcontract Management
-Software project tracking&oversight
-Software project planning
-Requirements Management
Voorbeeld
Maturity Level
Level 2,
Repeatable
Indicates
Disciplined
Processes
Achieves
Contains
Key Process Area
Software
Project Planning
Organized by
Software estimates are
documented for use in planning
and tracking the software product
Common
Feature
Activities
Performed
Address
Contain
Implementation
Describe
Activity
Key Practice
Activity 9. Estimates for the size of the
software work products (or changes to
the size of software work products)
are derived according to
a documented procedure
Slotopmerkingen
Maturity Models helpen je om de volwassenheid van een software
organisatie weer te geven
Het CMM model is het meest gebruikte
Organisaties ‘benchmarken’ zich ten opzichte van elkaar op basis van
CMM-niveau
CMM-niveau moet een indicatie geven van het kwaliteitsniveau van een
software organisatie
Met name nieuwe landen (India, China) kwalificeren zich sterk op dit
gebied
Het is geen heilig middel en moet ook met beleid worden toegepast
Download