CMMI v praxi - stuba.skbielik/courses/msi-slov/reporty/cmmi... · 2010. 11. 22. · Časový plán...

Post on 25-Apr-2021

0 views 0 download

transcript

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?