Kvalita procesu vývoje SW, CMMI

www1.osu.cz
  • No tags were found...

Kvalita procesu vývoje SW, CMMI

Kvalita procesuvývoje SWJaroslav Žáčekjaroslav.zacek@osu.cz


Vývoj software a jehokvalita• Samotný vývoj je rozsáhlá a složitá disciplína.• Většina SW projektů (v průměru 70 %) je podhodnocena čizpožděna.• Důvody:• disciplína vývoje SW je relativně nová• SW je v principu jiný produkt (oproti stavebnictví,automobilovému průmyslu)• každý SW na zakázku je unikátní• vzdáleně podobný výzkumné činnosti, vytvářeníduševního vlastnictví, ovšem je kladen velký důrazna kvalitu• ...


Jak je definovánakvalita?• Existuje spoustu definicí (odezva zákazníků,certifikace).• Definice: Kvalita je stupeň spokojenostizákazníka při kombinaci různých faktorů.• Faktory (nejčastěji tvrdé metriky):• počet chyb v produktu• zpoždění zavádění změn• délka záruky• dostatečná podpora


zajištění kvality• QA (Quality assurance) - vytvoření a správa aktivit,které můžou pomoci dodržet požadovanou kvalitu• Existuje univerzální návod?• Možné způsoby:• zaměření na procesy a jejich zlepšení• metody pro minimalizaci chyb v kódu• hlídání rizik projektu (risk list)• správa požadavků a změn• ...


zajištění kvality• Existuje spoustu aktivit pro zajištění kvality.• Existuje spoustu technologií pro řízení kvality.• Zákazníci požadují implementaci technik oddodavatelů.• ISO 9001:2000• QS 9000• PMBOK• CMMI• Prince 2


Co je CMMICMMI - Capability Maturity Model(Integration)• Je to model kvality určený pro vývojovétýmy.• Definuje oblasti pro zlepšení a cíle,kterých se má pro zlepšení dosáhnout.• Samotný model je zdarma, certifikace užne (cca 2000$/den práce).


Proč CMMI (nebo jinýmodel kvality)?• Zákazníci ho zpravidla vyžadují, bez certifikacenezískáte zakázku.• Ostatní přínosy:• Je to dobrá značka (viz. všichni chtějí ISO9001).• Minimalizuje chyby v procesu.• Zlepšuje kvalitu doručeného produktu -zvyšuje přidanou hodnotu a šetří peníze.• Zlepšuje projektové řízení.


Jak se vytváří standard• Zeptejte se společností (SW) na jejichzkušenosti.• Analyzujte současné i minulé projekty.• Vytvořte sadu doporučení (best practices).• Definujte standard... a vytvoříte CMM


CMM/CMMI• Vytvořeno SEI na Carnegie MellonUniversity v roce 1991 (verze 1.0).• Financováno grantem Ministerstvaobrany (DoD) pro jejich projekty(vzpomeňte na vodopád).• Je zaměřen na definici, standardizaci aneustálé vylepšování vývojovéhoprocesu.


Historie• CMM v1.0• SW-CMM (software development)• P-CMM (people management)• SA-CMM (software acquisition)• V roce 2000 integrovány ostatní modely (SPICE=ISO 15 504) s SW aSE - v1.1• SW-CMM (software development)• SE-CMM (system engineering)• ...• V roce 2006 verze 1.2, reprezentace SW a SE jsou spojeny odjednoho pohledu.• V roce 2012 verze 1.3, přidává agilní způsob vývoje.


Použití• Evropa je v implementaci standardů kvalityodlišná• EU (vč. CZ) se zaměřuje převážně na ISOnormy.• Vývoj SW nemá dlouhou tradici vporovnání s USA.• Důvod pro zavedení CMMI je převážně vstupna trh v USA, v regionu CE, EE navíc levníprogramátoři a kvalita je konkurenční výhodou.


Vyzrálost procesů


Vyzrálost procesů


Příklad - oblastsecurity


Proces / procesníoblasti (PA)• Fakticky v CMMI není žádný proces.• Rozděleno do Procesních oblastí - ve verzi 1.3 je jich 22.• PA jsou přítomny v každé úrovni modelu (levels).• Level 2 - 7 oblastí• Level 3 - 11 oblastí• Level 4 - 2 oblasti• Level 5 - 2 oblasti• PA jsou sdruženy ve skupinách• např. level 2 má 4 PA pro podporu procesů a 3 PApro projektového řízení


Organizace CMMISkládá se ze čtyřech základních skupin:1. Project management1. Jak naplánovat projekt2. Jak sledovat projekt3. Jak sledovat a řídit rizika2. Process management1. Definice procesů společnosti2. Jak měřit proces3. Engineering1. Jak na analýzu2. Jak na kódování4. Support processes1. Jak definovat etalon pro měření2. Jak udělat vnitřní audit


Skupiny CMMI


Skupiny a procesníoblasti


Příklad PA a skupiny naúrovni 2RequirementsmanagementProjectplanningProject trackingExecutiveareaProjektConfigurationmanagementQualityassuranceMeasurementand analysisSupportarea


PA na úrovni 2• Requirements management (REQM)• získání požadavků• monitorování změn v požadavcích• identifikaci rozporů v požadavcích• Project planing (PP)• odhad pracnosti• vytvoření projektového plánu• hlídání závazků v PP(např. milníky)• Project monitoring and control (PMC)• sledování projektového plánu• řešení nesrovnalostí


PA na úrovni 2• Product and process quality assurance (PPQA)• ohodnocení procesů a produktů• provedení interních auditů• Measurement and analysis (MA)• měření procesů• komunikace výsledků• Supplier arguments management (SAM)• ohodnocení dodavatele• definuj proces pro nákup produktu


Cíle a praktiky• Každá PA má definovány cíle (goals).• Každý cíl má své praktiky (practices).• Abychom dosáhli vyšší úrovně, musíme splnit cíle -> cílejsou povinné.• Splnění praktik je pouze doporučeno -> zde je prostorpro vlastní iniciativu/nové řešeníCMMI definuje pro každou praktiku také pod-praktiku(sub-practices) typický výstupní produkt.


PříkladCMMI pro Configuration Management říká:1. Musíte mít definovánu základní úroveň.2. Musíte mít definováno řízení změn.3. Musíte zajistit integritu}CílePro bod 3) pak definuje např.• uchovávejte záznamy o CM• provádějte audit}Praktiky


Příklad• L2, PA Configuration Management nám říká:3. Musíte zajistit integritu(a doporučuje)• uchovávejte záznamy o CM• provádějte audit(což znamená)1. vytvoř základní podmínky pro audit2. zkontroluj reálný a plánovaný stav3. zkontroluj procedury a jejich popis4. hlídej produkty CMtypický produkt: zpráva auditora


Konkrétní cíle apraktikyKonkrétní praktikaKonkrétní cíl


Obecné cíle• Obecné cíle (generic goals) se vpodstatě překrývají s úrovní modelu.• Pokud tedy model dosahuje úrovně 2,splňuje GG2 - Proces funguje jako řízenýproces.• Všechny praktiky v příslušné PA musísplňovat tento obecný cíl.


Obecné cíleObecné cílePA

More magazines by this user
Similar magazines