Kvalita procesu vývoje (SW) Jaroslav Žáček

Podobné dokumenty
Kvalita procesu vývoje (SW) Jaroslav Žáček

Kvalita procesu vývoje SW. Jaroslav Žáček

Lean Six Sigma - DMAIC

Nestůjte ve frontě. Six Sigma a čas. 2008, InterQuality

Lean Six Sigma Green Belt

Petr Mojžíš, Petr Křelina Raiffeisenbank

Návrh softwarových systémů - softwarové metriky

CMMI-DEV v.1.3 PA Integrated Project Management

Softwarový proces Martin Hlavatý 4. říjen 2018

Vysoká škola ekonomická v Praze

Zuzana Šochová MFF Modelování a realizace softwarových projektů

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

Identifikace změny Definice změny a jejího rozsahu a dopadu Schválení změny Prioritizace změn Úprava plánu projektu

Lean Six Sigma Green Belt školení Modul 6

DMAIC Definuj, Měř, Analyzuj, Inovuj, Kontroluj

Co je to COBIT? metodika

Lean Six Sigma OPTIMALIZACE PROCESŮ. Mgr.Hardt Filip

Procesní řízení. Hlavní zásady a praxe dodavatele Komix

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control

Procesní dokumentace Process Management. Pavel Čejka

CMMI ení zralosti. Viktor Mulač. Business consultant. itsmf

Podporuje Six Sigma rozvoj IT v organizaci nebo je tomu naopak

Softwarový proces Bohumír Zoubek 1. říjen 2018

Analýza konstrukčního řešení

Jitka Tejnorová DMC management consulting September DMC management consulting s.r.o., All rights reserved.

ŘÍZENÍ JAKOSTI ENVIRONMENTÁLNÍ MANAGEMENT BEZPEČNOST PRÁCE ING. PETRA ŠOTOLOVÁ

CMMI for Development v1.3 Generické praktiky a cíle Vysoká škola ekonomická v Praze Tomáš Feige, xfeit03

SOFT-ENG ACADEMY 2017/2018

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto

Custom Code Management. Přechod na S/4HANA

KIV/ASWI 2007/2008 (Normy pro) systémy řízení jakosti

CASE. Jaroslav Žáček

VZDĚLÁVACÍ PROGRAM ŠTÍHLÁ FIRMA. Identifikace, eliminace problémů a ztrát

Zkouška ITIL Foundation

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Semestr LS 2014/2015

DMAIC Definuj, Měř, Analyzuj, Inovuj, Kontroluj

Agilní metodiky vývoje softwaru

PROCESY CO ZÍSKÁTE: Předpoklad pro certifikace ISO. Lean Six Sigma Fast Track

2. Začlenění HCI do životního cyklu software

Okruhy ke státním závěrečným zkouškám Platnost: od leden 2017

TractorMotive. Lean a Six Sigma simulační hra. 1

CMMI-DEV v.1.3 PA Risk Management. 4IT421 Zlepšování procesů budování IS

Globální strategie, IT strategie, podnikové procesy. Jaroslav Žáček

ZMĚNA ČESKÉHO OBRANNÉHO STANDARDU. AAP-48, Ed. B, version 1

Ing. Zuzana Šochová ČVUT FEL - Řízení softwarových projektů

Agile Forum. Brno Jaroslav Procházka

curriculum vitae Pozice: Ředitel, jednatel Zodpovědnost za aktivity související s řízením společnosti

Management informační bezpečnosti

KIV/SI. Přednáška č.2. Jan Valdman, Ph.D.

Analýza a Návrh. Analýza

CASE nástroje. Jaroslav Žáček

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

CMMI Generické cíle a praktiky

CMMI v praxi. Ing. David Janota, Ph.D., director QA

8/2.1 POŽADAVKY NA PROCESY MĚŘENÍ A MĚŘICÍ VYBAVENÍ

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Seznam.cz. Tomáš Pergler. najdu tam, co neznám!

5 ZÁKLADNÍ PRINCIPY SYSTÉMOVÉHO ŘÍZENÍ BOZP

Co je to SCRUM! FRAMEWORK vs METODIKA. Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily?

Klepnutím lze upravit styl Click to edit Master title style předlohy nadpisů.

Využití ADONIS a APP v podmínkách banky

Vliv podrobnosti definice procesu a úrovně CMM na charakteristiky procesu

Výrobní systém Škoda. áši. Průmyslové inženýrství VI Vedoucí. Projekt IQ auto. Innovation - Qualification of proffessional Preparation

ISO 9000, 20000, Informační management VIKMA07 Mgr. Jan Matula, PhD. III. blok

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání

Six Sigma - DMAIC. Jan Vavruška Technická univerzita v Liberci. TU v Liberci

Management rizika Bc. Ing. Karina Mužáková, Ph.D. BIVŠ,

MĚSTO KOPŘIVNICE MĚSTSKÝ ÚŘAD KOPŘIVNICE

PŘEDSTAVENÍ STANDARDŮ PM. Ing. Jan Doležal, Ph.D., PMP, IPMA B

Praktické zkušenosti s nasazením agilní metodiky SCRUM při vývoji středně rozsáhlého softwarového projektu. Dušan Juhás

Využití silných stránek outsourcingových společností

Risk management in the rhythm of BLUES. Více času a peněz pro podnikatele

Zkušenosti VŠB s hodnocením kvality na bázi EFQM Modelu Excelence TU Ostrava

Vazba na Cobit 5

KAIZEN SYSTÉM Ta nejlepší péče Spokojený klient Rozhodnost v každé situaci

organizací IT Vladimír r Kufner

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ

Počítačová simulace procesu měření

Katalog služeb Verze 5, aktualizace

1 Služby SAP Business Transformation and Plan Services Služby SAP Business Transformation and Plan Services aktuálně zahrnují:

Lean a Six Sigma základ (Six Sigma Yellow Belt)

Management kvality, environmentu a bezpečnosti práce systémový pohled Ing. Dana Spejchalová, Ph.D.

Juranova spirála. Koncepce řízení jakosti

Účel, použití, analýza rizik Milan Turinský Únor 2018

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY KATEDRA INFORMAČNÍCH TECHNOLOGIÍ. CMMI a SCRUM. Seminární práce

Obsah. ÚVOD 1 Poděkování 3

Recenzovaly: Ing. Hana Štverková, PhD. Ing. Dagmar Zindulková. Vydání knihy bylo schváleno vědeckou radou nakladatelství.

ISO 9001:2015 CERTIFIKACE ISO 9001:2015

Standardy projektového řízení

kapitola 2 předprojektová fáze 31

Budování architektury pomocí IAA

10 KROKŮ K DOKONALOSTI. Využívejte efektivně systém řízení kvality ve své firmě a staňte se lídrem ve svém oboru

Cobit 5: Struktura dokumentů

Svalová dystrofie. Prezentace technologických řešení registru Petr Brabec

Procesní model organizace

Jak na jakost v podnikovém IT Evropský týden kvality Praha

Management rizik v životním cyklu produktu

Transkript:

Kvalita procesu vývoje (SW) Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Vývoj software a jeho kvalita Samotný vývoj je rozsáhlá a složitá disciplína. Většina SW projektů (v průměru 60 %) je podhodnocena či zpož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ůraz na kvalitu...

Jak je definována kvalita? Existuje spoustu definicí (odezva zákazníků, certifikace). Definice: Kvalita je stupeň spokojenosti zá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...

Tři hlavní pilíře kvality Měří, monitoruje a spravuje procesy CMMI Six Sigma Optimalizuje procesy Knowledge management Data přetváří ve znalosti

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 od dodavatelů. ISO 9001:2000 QS 9000 PMBOK CMMI Prince 2

Co je CMMI CMMI - 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 certifikace nezískáte zakázku. Ostatní přínosy: Je to dobrá značka (viz. všichni chtějí ISO 9001). 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 jejich zkuš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 Mellon University v roce 1991 (verze 1.0). Financováno grantem Ministerstva obrany (DoD) pro jejich projekty (vzpomeňte na vodopád). Je zaměřen na definici, standardizaci a neustálé vylepšování vývojového procesu.

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 a SE - v1.1 SW-CMM (software development) SE-CMM (system engineering)... V roce 2006 verze 1.2, reprezentace SW a SE jsou spojeny od jednoho pohledu. V roce 2012 verze 1.3, přidává agilní způsob vývoje.

Použití Jedná se převážně o americký standard 50% certifikací na CMMI pochází z USA Je vyžadován pro vládní zakázky Japonsko se také zaměřuje na kvalitu 30% certifikací na CMMI Certifikaci procesů vyžadují odběratelé Indie tzv. software factory 10% certifikací

Použití Evropa je v implementaci standardů kvality odlišná EU (vč. CZ) se zaměřuje převážně na ISO normy. Vývoj SW nemá dlouhou tradici v porovnání s USA. Důvod pro zavedení CMMI je převážně vstup na 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 - oblast bezpečnosti

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 PA pro projektové řízení

Organizace CMMI Skládá se ze čtyřech základních skupin: 1.Project management 1.Jak naplánovat projekt 2.Jak sledovat projekt 3.Jak sledovat a řídit rizika 2.Process management 1.Definice procesů společnosti 2.Jak měřit proces 3.Engineering 1.Jak na analýzu 2.Jak na kódování 4.Support processes 1.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 2 Requirements management Project planning Project tracking Executive area Projekt Configuration management Quality assurance Measurement and analysis Support area

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íle jsou povinné. Splnění praktik je pouze doporučeno -> zde je prostor pro vlastní iniciativu/nové řešení CMMI definuje pro každou praktiku také pod-praktiku (sub-practices), která dodává typický výstupní produkt.

Příklad CMMI 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íle Pro 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 audit 2.zkontroluj reálný a plánovaný stav 3.zkontroluj procedury a jejich popis } sub-praktiky 4.hlídej produkty CM typický produkt: zpráva auditora

Konkrétní cíle a praktiky Konkrétní praktika Konkrétní cíl

Obecné cíle Obecné cíle (generic goals) se v podstatě 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íle Obecné cíle PA

Six Sigma

Příklad výroba špendlíku Kdo: Univerzální pracovník Co: Výroba špendlíku

Příklad výroba špendlíku Pracovník 1 Pracovník 2 Pracovník 3 Pracovník 4 Pracovník 5 Pracovník 6 Pracovník 7

Co je Six Sigma Metodika (framework) pro neustále zlepšování procesu. Metodika (framework) pro vytvoření kvalitních procesů / produktů. Soubor statistických a kvalitativních nástrojů. Aplikace vědeckých metod do podnikových procesů

Co Six Sigma není Není to žádný standard. Není to certifikace. Není to jen další metrika. nic víc, než aplikovaná statistika

Historie Pojem vzešel od Billa Smithe (Motorola) Počátky již v roce 1970 - řešení problémů pomocí statistiky 1987 Motorola spouští program Six Sigma 1996 se připojuje GE

Historie a kombinuje změnové řízení se statistickou analýzou: Define Measure Analyse Improve Control DMAIC

Firmy využívající Six Sigma General Electric Motorola Texas Instruments Honeywell NASA HP USAF

Tři metodiky Six Sigma BPMS - Business process Management Service DMAIC - Zlepšování procesu DMADOV - Tvorba nového procesu, který poběží podle Six Sigma

BPMS Hlavní cíle: Pochopení procesů Poznání zákazníka a jeho očekávání Identifikovat, monitorovat a zlepšovat procesy

Životní cyklus

DMAIC

Define Odstupující zákazník Výstup

Measure Odstupující zákazník Kolik? Jak dlouho? Jak předvídatelně? Výstup

Measure?

Measure IQ populace Hmotnost fazolí Doba čekání Doba obsluhy

Analyse Odstupující zákazník Kolik? Jak dlouho? Jak předvídatelně? Výstup Doba čekání Doba obsluhy

Analyse Sloupcový a čárový graf

Improve Hledání nového řešení (většinou analyticky) Pilotáž nového řešení Identifikace tolerance na důležitých uzlech

Improve Dělba práce Nástroje a techniky: Kanban špagetový diagram Brainstorming Pugh Matrix (criteria-based matrix) simulační software

Improve

Control Nové univerzální řešení má zpravidla vždy nějakou výjimku Ne všichni nové řešení pochopí a akceptují Ověření, že nové řešení splňuje očekávání (statistical process control, control plan)

Procesní mapy, lineární regrese, Six Sigma - tři dimenze rovnoměrné normální rozdělení, Paretův graf Metodika Define Measure Analyse Improve Control Nástroje Organizace Řízeno požadavky zákazníka Vedeno managementem Zaváděno QA týmem

QA tým Master black belt - expert na Six Sigma, mentoruje méně zkušené, vede celý proces Black belt - vede komplexní nebo vysoce rizikové projekty, na projektu zaměstnán na plný úvazek, tvoří jádro procesů dle Six Sigma, mentoruje méně zkušené Green belt - menší projekty ve specifických oblastech, může pracovat i na částečný úvazek

Body pro implementaci

Lean Software Development

Lean Development Toyota TPS Toyota production system Základní koncepty - JIT a automatizace. V devadesátých letech známý jako tzv. Lean (štíhlý) přístup k výrobě. Snaží se omezit plýtvání (waste / muda- 無駄 ). Typ I - pro zákazníka žádná přidaná hodnota, ale nezbytný pro proces. Typ II - žádná hodnota pro zákazníka - snažíme se identifikovat a odstranit

Druhy plýtvání Transport - není nutné vždy přesouvat jednotlivé produkty, abychom něco vyrobili Inventory - nářadí vyžaduje kapitál, který nepřináší přímý zisk Motion - zbytečné pohyby zaměstnanců Waiting - čekání na doručení vhodného nástroje Overproduction - produkce na sklad, nadbytečná výroba Over processing - součástka má až zbytečně velkou kvalitu Defects - oprava výrobku je nákladná...jak tohle souvisí s tvorbou software?

Kontext Dlouhodobé myšlení Leadership a koučing Respekt

Struktura

Principy Lean Odstranění plýtvání. Kvalita je součástí procesu/produktu. Vytváření znalostí. Odložení rozhodnutí. Brzké doručení. Optimalizace celku.

Nástroje - VSM

Podnikový proces

Proces po optimalizaci

NÁSTROJE LEAN

5 Proč

5 Proč

5 Proč Hřídel :-)

5 Proč

*návěstní tabule (signboard)

Vývoj Od 40 let používáno v Toyotě, vytvořil Taichi Ohno Objevil se po formalizaci technik ukládání zboží do regálů (znáte ze supermarketů) Systém řízení poptávky s možností změny, když to obchod požaduje. Použití vizualizace je pro systém klíčové

Kanban Systém plánování pro produkci Založený na JIT Skrz vizualizaci limituje rozdělanou práci (WiP) V jednodušší formě je to tabule s lístečky Tabule reprezentuje aktuální stav projektu (projektový plán?) Na rozdíl od jiných vizualizací nařizuje limit pro WiP Zlehčuje identifikaci úzkého hrdla v procesu Zaměřuje se na minimalizaci zbytečné práce (waste)

Vodopádový Kanban

Motivace použití Workflow je pro nás většinou skryté, proto pomáhá vizualizace Umožňuje lidem vidět aktuální stav rozdělané a dokončené práce Většinou se používají user stories (story cards) Proces vývoje je rozdělen do sloupců - motivace k paralelismu

Kolaborace Aplikace populárních modelů (Theory of Constraints) a postupů (Lean, Six Sigma) Použití modelů pro predikci (team velocity) Aktuální a očekávaný výsledek může být použit pro zlepšení procesu Zlepšení kvality zaměřením se na menší počet úkolů

Základní pojmy Lead time - čas potřebný pro dokončení vlastnosti (feature) Cycle time - čas potřebný pro dokončení úkolu (task) Throughput - produktivita, definována jako počet vlastností doručených za konkrétní časový úsek WiP Limit Value Stream - vztahuje se k procesu vývoje software Swarm(ing) - spolupráce nad řešením problému

Story Card Slouží ke sledování vlastností/úkolů Podobný způsob získávání požadavků jako v XP V praxi se většinou nahrazuje post-it lístečky Barvami se odlišují na opravy (bugs), vlastnosti (features), úkoly (tasks), zlepšení (improvements) Realizuje vizualizaci dle principů Token-Inscription- Placement (http://availagility.co.uk/2011/09/26/akanban-visualisation-tip/)

Control chart Cílem je minimalizovat čas potřebný pro jeden úkol

Flow chart

Todo

Todo In Progress

Todo In Progress Done

Todo AnalYze Done

Todo AnalYze WoRK Done

Todo AnalYze WoRK VERIFY Done

Todo AnalYze WoRK VERIFY Doing Done

Todo AnalYze WoRK VERIFY Done Doing Done

Todo AnalYze WoRK VERIFY Done Doing Done Doing Done

Todo AnalYze WoRK VERIFY Done Doing Done Doing Done

Todo 2 3 2 AnalYze WoRK VERIFY Done Doing Done Doing Done

Todo 2 3 2 AnalYze WoRK VERIFY Done Doing Done Doing Done WIP LIMITS!

Todo 2 3 2 AnalYze WoRK VERIFY Done Doing Done Doing Done FLOW!

KANBAN BOARD

KANBAN BOARD

Dual-Track Scrum Nespoléhá se pouze na roli PO, ale snaží se co nejdříve vytvořit prototyp a ověřit ho (ověřit věci v backlogu) Hodnota (Valuable) (PO, BA) Použitelnost (Usable) (UX, Design) Proveditelnost (Feasible) (Dev, QA) Dual Track Discovery Track: generuje ověřené položky do product backlogu Delivery Track: generuje rozumný software

Dual-Track Scrum

Dual-Track Scrum

Dual-Track Scrum Output Discovery Validated Learning populated as user stories in backlog Delivery Working software Primary Work Method Concepts and Experimentation Engineering Work Steps Discover-Design-Validate Build-Test-Release Validation & Verification Validation Verification Focus Building the Right Product Building the Product Right Measure of Success Outcomes Velocity Lean Approach Measure of Success Views unused Features as waste Valuable, Usable and Feasible software View unnecessary documentation as waste Working software

Scrumban Původně navržen jako proces pro přechod ze Scrumu na Kanban Metody: Bucket size planning - dlouhodobé plánování Lead and cycle time - měření času od přiřazení úkolu po jeho dokončení On demand planning - když úkoly v části To Do klesnou před předem dohodnuté číslo, vyvolává se nové plánování

Bucket size planning

Jak funguje release

Scrum vs. Scrumban