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 praxe 10.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 praxe 10.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 praxe 10.Otázky, diskuse (???)
Úrovně CMMI = evoluce Level 1 Počáteční Level 2 Řízená Level 3 Definovaná Level 4 Kvantitativně řízená Level 5 Optimalizující
Úrovně 5 Improvements of processes Optimizin g 4 3 Described and measured processes Defined processes across whole company Defined Quantitatively Managed 2 1 Described process for managing the projects Chaotic processes, success usually caused by accident or due to strong personalities Initial Managed
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
Procesní skupiny a oblasti project itself
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 praxe 10.Otázky, diskuse (???)
Specifické cíle a praktiky - příklad CMMI CM (Configuration Managements) SG1: Establish baselines SG2: Establish change management SG3: Assure the integrity SP3.1 Establish CM records SP 3.2 Perform CM audits praktiky cíle
Specifické cíle specifická praktika specifický cíl
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 process define resources assign responsibility train people integrate into CM system inform stakeholders monitor the process check the adherence review process with management
Obecné cíle obecné 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 praxe 10.Otázky, diskuse (???)
Jak získat CMMI typické fáze 1. GAP analýza 2. Implementace 3. Pre-audit 4. 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
QIP2 - CMMI level 2 results Level 2 Process Area SG1 SG2 SG3 GG2 GG3 Requirements Management L F L Project Planning F F F F L Project Monitoring and Control F F F L Measurement and Analysis F F F L Process and Product Quality Assurance F F F L Configuration Management F F F F L Compliancy Legend: Fully Largely Partiall y Not n/a
CONGRATULATIONS! 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 praxe 10.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 praxe 10.Otázky, diskuse (???)
Životní cyklus produktu waterfall (CMMI) spirála (agilní) 2010 CN Group Slide nr. 38
Agile approach - SCRUM 2010 CN Group Slide nr. 39
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 2010 CN Group Slide nr. 40
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 phases - 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 knows overall progress collective estimation and planning can earlier disclose 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 praxe 10.Otázky, diskuse (???)
Metrics Backlog Purpose: to track number of pending SPRs in projects Aim: to have low level of figures. Computing: Number of new SPR Number of closed SPR Cumulative 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
Projektový plán 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...
CN Group 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 SW development 82% Products 6% IT consulting 12%
Děkuji za pozornost... Otázky?