Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
CMMI v praxi
Ing. David Janota, Ph.D., director QA
Úvod
• otázky kdykoliv během přednášky• mobilní telefony, prosím, do tichého režimu• zkratky
– CMM(I) = Capability Maturity Model (Integration)– CM = configuration management– QMS = quality management system– PA = process area– SG = specific goal– SP = specific practice
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
Proč CMMI?
• obvyklé důvody:– požadavek zákazníka (na dodavatele)
– zvýšení prestiže– zlepšení procesů
– zvýšení schopnosti a zralosti organizace
Vývoj softwaru .....
• je velmi obtížná disciplína• dle odhadů je 80-90% softwarových projektů zpožděno nebo
podhodnoceno (nebo obojí) !!!!• proč?
– vývoj softwaru je relativně mladé odvětví– software není auto, most, budova– tvorba softwaru NENÍ sada stejných a opakujících se kroků, vše je
unikátní
• podobná odvětví– výzkum– psaní knih– tvorba filmů
• ale VELKÝ tlak na kvalitu
Co je kvalita
• různé definice
• kvalita je stupeň splnění zákaznických požadavkůpomocí sady inherentních faktorů
• inheretní faktor = spojený s produktem nebo službou, např.
� počet chyb� zpoždění dodávky� rychlost reakce podpory� rychlost aplikace� .....
Co je zajištění kvality
• Zajištění kvality = aktivity, které zvýšípravděpodobnost, že kvalita bude dosažena a udržena
• Jak? • různě......
� zaměřením na procesy� sledováním rizik� trasovatelností požadavků� code review� testováním
Jak vzniká standard?
1. Obsáhlou definicí2. Zadáním „vyšší moci“3. Sběrem „best practices“4. ?
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
Historie
� CMM v1.0 (1991)� SW-CMM (software development)� SE-CMM (system engineering)� P-CMM (people management)� SA-CMM (software acquisition)
� CMMI v1.1 (2002) – integrace jiných modelů, např. SPICE = ISO 15504� SW-CMMI (software development)� SE-CMMI (system engineering)� ...
� CMMI v1.2� CMMi-DEV (Development) – 2006� CMMi-ACQ (Acquisition) – 2007� CMMi-SVC (Services) – 2007
� CMMI v1.3� CMMi-DEV (Development) - 2010� CMMi-ACQ (Acquisition) – 2010� CMMi-SVC (Services) – 2010
Užití
� 50% USA� defacto standard pro USA� nutná podmínka pro vládní a armádní projekty
� dále� Indie� Japonsko� Velká Británie
� Evropa� silná tradice norem ISO� malá propagace
� hodn ě „in“ v letech cca 2000-2010� v sou časné dob ě stagnace díky prosazování agilních technik
Smysl a cíl
� “....to help organizations improve their development and maintenance processes for both products and services”
� přináší hlavně rámec, kterého je výhodné se držet
� důsledky� opakovatelnost� jasná definice CO, KDY, JAK, S KÝM� návod na zlepšení� kontrola projektů
� specifické pro vývoj, ale stále dostatečně obecné pro adaptaci ve vlastní firmě
Procesní chápání
Typy CMMI
� původní CMM model používal tzv. stupňovitý popis� vývoj ve stupních� přesně definovaná cesta� užití specifických cílů a praktik
� SPICE užíval kontinuální popis� umožňuje zlepšení pouze vybraných oblastí� užití hlavně obecných cílů a praktik
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
Úrovně
� CMMI = evoluceLevel 1 PočátečníLevel 2 ŘízenáLevel 3 DefinovanáLevel 4 Kvantitativně řízenáLevel 5 Optimalizující
Chaotic processes, success usually caused by accident or due to strong personalities
Described process for managing the projects
Defined processes across whole company
Described and measured processes
Improvements of processes
Optimizin
g
QuantitativelyManaged
Defined
Initial
Managed
Optimizin
g
Defined
1
2
3
4
5
Úrovně
Procesní oblasti
• každá uroveň má několik procesních oblastí� Level 2 – 7� Level 3 – 11� Level 4 – 2� Level 5 – 2
• každá procesní oblast náleží do určité skupiny� project management� process management� engineering� supportive
Procesní oblasti a skupiny
project itself
Procesní skupiny a oblasti
CMMI level 2
Requirements management (REQM)• obtain the requirements• track the changes in requirements• identify inconsistencies
Project planning (PP)• estimate the work• develop the project plan• commitment of plan
Project monitoring and control (PMC)• track the project plan• solve the discrepancies
CMMI level 2
Product and process quality assurance (PPQA)• evaluate processes and products• performing internal audits
Measurement and analysis (MA)• measure the processes• communicate results
Supplier agreements management (SAM)• evaluate suppliers• define the process for purchased product
Configuration management (SAM)• establish baselines• establish change management• assure integrity
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
Specifické cíle a praktiky - příklad
� CMMI – CM (Configuration Managements)SG1: Establish baselines
SG2: Establish change managementSG3: Assure the integrity
� SP3.1 Establish CM records� SP 3.2 Perform CM audits
cíle
praktiky
Specifické cíle
specifický cíl
specifická praktika
Obecné cíle
• jsou společné pro všechny procesní oblasti
• v každé z nich však mohou znamenat něco jiného
• mají také obecné praktiky• příklad: GG1 - “Establish managed process” má nasledující praktiky
define the policy
plan the processdefine resourcesassign responsibilitytrain people
integrate into CM systeminform stakeholdersmonitor the process
check the adherencereview process with management
Obecné cíleobecné cíle
PA
Co znamená řízený proces
• existuje závazná obecná politika (obvykle v příručce kvality)
• dané aktivity jsou součástí plánování• je definován proces (popis)• někdo je za danou aktivitu zodpovědný• lidé jsou na danou aktivitu vyškoleni a vědí, jak ji dělat• výstupy jsou pod konfiguračním řízením• jsou definování tzv. stakeholders (zainteresovaní)• existuje metrika, která měří výkon• někdo kontroluje, zda se tato aktivita děla tak, jak se dle
popisu dělat má• výsledky reviduje vyšší úroveň managementu
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
Jak získat CMMI – typické fáze
1. GAP analýza2. Implementace3. Pre-audit4. Assessment
Assessment – typické fáze
� training� approx. 1 week� for assessor and lead assessor� must be SEI approved
� preparation� list of evaluated projects� team members� interviewees and interviewers� scheduling
� assessment� interviews� checking of documentation
� evaluation� data consolidation� final reporting
LFFFFConfiguration Management
LFFFProcess and Product Quality Assurance
LFFFMeasurement and Analysis
LFFFProject Monitoring and Control
LFFFFProject Planning
LFLRequirements Management
GG3GG2SG3SG2SG1Level 2 Process Area
Not n/aPartiall
yLargelyFully
Compliancy Legend:
QIP2 - CMMI level 2 results
CONGRATULATIONS! WE HAVE ACHIEVEDCONGRATULATIONS! WE HAVE ACHIEVEDCONGRATULATIONS! WE HAVE ACHIEVEDCONGRATULATIONS! WE HAVE ACHIEVED
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
CMMI - klady
• zvyšuje pravděpodobnost úspěchu• zajištuje opakovatelnost• velký tlak na dokumentaci – menší závislost na fluktuaci
lidí• definuje KDO KDE KDY• zlepšuje projektový management (level 2)• definuje odhadování• zlepšuje práci s dodavateli.• přináší integraci
CMMI - zápory
• vhodné více pro velké projekty• mnoho „papírové práce“• nelze improvizovat• vázáno více na waterfall model• vyžaduje velké plánování• nelze iterovat
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
© 2010 CN Group Slide nr. 38
Životní cyklus produktu
waterfall (CMMI) spirála (agilní)
© 2010 CN Group Slide nr. 39
Agile approach - SCRUM
© 2010 CN Group Slide nr. 40
CMMI kontra agile
• conflict - one or more specific practices must be replaced with one or more alternative practices to support conduct of lean/agile practices
• acceptable – no conflicts in principle, supporting advices unhelpful• enabling – no conflicts
CMMI kontra agile
1. Classical approach (based on CMMI)� supports planning and commitments� clear stages and transition into next phases� supports standards and discipline- CR process has to be perfectly handled- customer’s involvement only in selected project pha ses- more convenient for long term projects
2. Agile approach (based on SCRUM)� focus on “deliver as fast as possible”� quick reaction to new issues� easier scope change management� no team members closed in his “shell”, everybody kn ows overall progress� collective estimation and planning can earlier disc lose hidden problems- customer has to agree with continual development- customer has to be dedicated during whole project ( requirement
clarification)
Časový plán
1. Úvod (5 min)2. Co je kvalita a řízení kvality při vývoji softwaru (5 min)3. Co je CMM/CMMI, historie, cíl (10 min)4. Úrovně a procesní oblasti (20 min)5. Specifické a obecné cíle (10 min)6. Jak získat „certifikaci“ (10 min)7. Klady a zápory CMMI (10 min)8. CMMI a agilní techniky (10 min)9. Ukázky z praxe10.Otázky, diskuse (???)
Metrics – Backlog
Purpose: to track number of pending SPRs in projectsAim: to have low level of figures.Computing: Number of new SPR – Number of closed SPRCumulative sum.
Quality management system
Risk management
• Risks management– risk = potential problem– source and category– impact, severity and probability = risk level (high,
medium, low)– plans:
• mitigation (how to decrease probability)• contingency (how to decrease impact)
– impact on schedule or effort– trigger
QMS – verification & validation approach
D01 Project Management Plan• project scope and definition• project organization• milestones• resource planning (and tracking), incl. training• work-breakdown structure• link to detailed schedule• link to estimates• risk identification (and tracking)• change management• lessons learned log• .....
Projektový plán
Products6%
SW development
82%
IT consulting
12%
• dánsko-japonská firma, působící od roku 1994
• lokace
– Praha, Zlín– Bratislava, Povážská Bystrica
• 150+ employees
• orientace na zajištění kvality– CMM L2 2001
– CMMI L3 2008
• oblasti působnosti:– telekomunikace
– finance
– letectví– embedded vývoj
CN Group
Děkuji za pozornost ...
Otázky?