Inovace procesů budování IS/ICT Alena Buchalcevová Katedra informačních technologií Vysoká škola ekonomická v Praze
[email protected] Abstrakt: Článek se věnuje problematice zlepšování úrovně procesů budování IS/ICT. V této oblasti existuje řada mezinárodních a národních norem a metodik. Nejprve je popsán Integrační model zralosti - Capability Maturity Model®Integration CMMI®, který byl vytvořen v institutu pro softwarové inženýrství. Model je porovnán s mezinárodními normami ISO/IEC 12207 a ISO/IEC 15504. Tyto modely a standardy obsahují referenční modely procesů a nástroje pro posouzení procesů, ale neobsahují detailní praktiky a činnosti a nejsou spojeny s žádným modelem životního cyklu. To je úlohou metodik. Hlavními kategoriemi metodik jsou rigorózní a agilní metodiky, které jsou v článku charakterizovány. Článek také ukazuje současný stav používání metodik a standardůve světě i v České republice a ukazuje také možnosti využít normy pro zlepšování procesů v malých podnicích, kterou připravuje pracovní skupina WG24 v rámci ISO/IEC JTC1/SC7. Klíčová slova: procesy životního cyklu softwaru, metodiky, IS/ICT, rigorózní metodiky, agilní metodiky, velmi malé podniky, mezinárodní normy Abstract: Paper focuses on software development processes. There are many international and national standards and methodologies in this area. First the Capability Maturity Model®Integration (CMMI®), which was developed in the Software Engineering Institute, is described and compared to international standards ISO/IEC 12207 and ISO/IEC 15504. These model and standards offer process reference models and tools for process capability assesment but do not comprise detail practices and activities and are not bound to any software lifecycle model. This is the goal of methodologies. The key methodology categories are rigorous and agile methodologies, that are characterized. Paper shows also present status of using development methodologies and standards worldwide and especially in the Czech Republic. Paper specifically focuses on software processes assessment and improvement in very small entities that can use the international standard Life-Cycle Profiles for Very Small Entities, which is prepared by working group WG24 in ISO/IEC JTC1/SC7. Keywords: Software Life Cycle Process, Methodology, Information System, Rigorous Methodology, Agile Methodology, Very Small Entities, International Standards
1. Úvod Článek se věnuje problematice zlepšování úrovně procesů budování IS/ICT. Pojem procesy budování IS/ICT zahrnuje dvě, někdy oddělované, oblasti – procesy při vývoji IS/ICT a procesy při provozu IS/ICT. Vývoj IS/ICT je chápán nejen jako vývoj nového systému, ale i nasazení hotových řešení a integrace stávajících řešení. V oblasti procesů budování IS/ICT se v celosvětovém měřítku realizuje řada aktivit, jejichž výsledkem jsou mezinárodní a národní normy a de facto standardy, které definují referenční modely procesů při budování IS/ICT, metody posuzování procesů a metodiky budování IS/ICT. Cílem těchto aktivit je zvýšit úspěšnost projektů budování IS/ICT. Na obrázku 1 jsou zachyceny výsledky průzkumů SYSTÉMOVÁ INTEGRACE 1/2010
101
Alena Buchalcevová
úspěšnosti softwarových projektů, které realizovala společnost Standish Group v rámci projektu CHAOS. Úspěšnost projektu je pro účely těchto průzkumů definována jako splnění 3 kritérií – projekt dokončen včas, dle rozpočtu a se všemi specifikovanými funkcemi. Z grafu je patrné, že úspěšnost softwarových projektů se ve srovnání s rokem 1994 zvyšuje, přesto ale v roce 2006 bylo plně úspěšných jen 35 % softwarových projektů.
Obr. 1: Výsledek projektů v letech 1994-2006 (zdroj: [13]) Na základě výsledků těchto průzkumů definovala společnost Standish Group deset kritických faktorů úspěchu projektu. Nejdůležitějším kritickým faktorem je podle respondentů nedostatečné zapojení uživatelů do projektu. Na dalších místech je podpora vedení a jasné byznys cíle. V posledních letech se objevují mezi kritickými faktory úspěchu také optimalizace rozsahu projektu (na 4. místě) a agilní procesy (na 5. místě). Důležité jsou i zkušenosti s řízením projektu (na 6. místě), dostupnost kvalifikovaných pracovníků (na 8. místě), formální metodika (na 9. místě) a nástroje (na 10. místě) [13]. Většina těchto faktorů je spojena s procesy a metodikami, a proto zlepšení v této oblasti by mělo vést ke zvýšení úspěšnosti projektů. Zaměření na procesy při budování IS/ICT je typické pro tradiční (rigorózní) přístupy, které předpokládají, že tyto procesy je možné plně definovat a konzistentně opakovat. Tradiční přístupy definují jednotlivé procesy budování IS/ICT zpravidla ve formě referenčních modelů. Referenční model procesů poskytuje například mezinárodní norma ISO/IEC 12207, které se věnuji v kapitole 3, a také model CMMI® – Integrační model zralosti (Capability Maturity Model® Integration), který je charakterizován v kapitole 2. Referenční modely procesů nám říkají co, tedy jaké procesy je třeba zavést. Procesy je třeba realizovat v určitém sledu, což postihují různé modely životního cyklu (například 102
SYSTÉMOVÁ INTEGRACE 1/2010
INOVACE PROCESŮ BUDOVÁNÍ IS/ICT
vodopádový model, spirálový, iterativní a inkrementální). Metodiky, charakterizované v kapitole 6, určují, jakým způsobem procesy zavádět. Pokud organizace potřebuje zjistit, v jakém stavu jsou její procesy, provádí posouzení procesů. Posouzení procesů podle referenčního modelu procesů ISO/IEC 12207 případně jiných referenčních modelů definuje norma ISO/IEC 15504, popsaná v kapitole 4. Alternativní možností je pro posouzení procesů využít model CMMI® a metodu SCAMPISM, která je zmíněna v kapitole 2.
2. CMMI® - Integrační model zralosti Nejznámějším příkladem posouzení softwarových procesů je model CMMI® – Integrační model zralosti (Capability Maturity Model®Integration) vytvořený v Institutu pro softwarové inženýrství (Software Engineering Institute – SEI). První verze CMMI® modelu byla publikována v prosinci roku 2000, v současnosti je k dispozici verze 1.2 [4]. CMMI® podporuje dva způsoby zlepšování procesů – kontinuální a stupňovitý. Kontinuální reprezentace umožňuje zlepšovat procesy jen v některé procesní oblasti a používá úrovně způsobilosti (capability level). Stupňovitá reprezentace definuje pro každou úroveň zralosti (maturity level) množinu procesních oblastí, které je třeba zavést. V každé procesní oblasti jsou definovány generické a specifické cíle a generické a specifické praktiky. Úrovně zralosti určují výkon organizace. Tabulka 1 uvádí charakteristiku jednotlivých úrovní zralosti. úrovně zralosti charakteristika 1
softwarové procesy jsou náhodné a chaotické, organizace reagují pouze na vzniklé problémy, rozpočet a harmonogram je často překračován, kvalitu produktu nelze předpovídat
úvodní Initial
2
řízená Managed
3
definovaná Defined
4
kvantitativně řízená Quantitatively Managed
5
optimalizovaná Optimizing
organizace mají definovány a zavedeny procesy řízení projektu, procesy jsou institucionalizovány, tj. implementovány opakovaně a podporovány infrastrukturou, odpovídají definovaným politikám, jsou prováděny podle popisu a plánu, procesy se monitorují a kontrolují organizace dosáhla všechny cíle úrovně zralosti 2 a je definován proces na úrovni organizace, který je popsán ve standardech, procedurách, nástrojích a metodách a institucionalizován, je definováno i přizpůsobování procesů podle typu projektu organizace dosáhla všechny cíle úrovně zralosti 2 a 3, procesy jsou řízeny s využitím statistických a kvantitativních technik, jsou definovány metriky pro vybrané podprocesy, ty jsou měřeny a vyhodnocovány a na základě toho je možné předpovídat výkon procesů organizace dosáhla všechny cíle úrovně zralosti 2, 3 a 4, procesy se neustále zlepšují na základě chápání příčin změn v průběhu procesů
Tab. 1 Charakteristika úrovní zralosti v CMMI®(zdroj: [4]) SYSTÉMOVÁ INTEGRACE 1/2010
103
Alena Buchalcevová
Pro dosažení úrovně zralosti 2 musí organizace zavést řízení požadavků, procesy řízení projektu a podpory. Na úrovni zralosti 3 jsou pak zařazeny zejména inženýrské procesní oblasti jako správa požadavků, technické řešení, integrace produktu, verifikace a validace a dále procesy na úrovni organizace. Organizace zpravidla volí buď kontinuální, anebo stupňovitou reprezentaci. Kontinuální reprezentace je výhodnější, pokud organizace chce pomocí CMMI® zlepšit své procesy. Může se totiž zaměřit jen na zlepšení těch procesů, které jsou pro ni nejdůležitější. Stupňovitá reprezentace naproti tomu představuje systematický, strukturovaný přístup zlepšování procesů na bázi referenčního modelu. Cesta zlepšování je vytýčena postupně po jednotlivých úrovních zralosti. Dosažení určité úrovně zralosti je východiskem pro další úroveň. Stupňovitá reprezentace je vhodnější pro organizace, které mají méně zkušeností se zlepšováním procesů. Pro úroveň zralosti, kterou si organizace zvolí jako cílovou, jsou již definovány procesy, které musí zavést. Vzhledem k tomu, že stupňovitá reprezentace byla již základem původních CMM modelů, jsou s jejím zaváděním zkušenosti a existuje řada případových studií, které demonstrují návratnost investic. Model CMMI® představuje de facto standard v oblasti procesů budování IS/ICT, který zahrnuje jak referenční model softwarových procesů, tak nástroj na posuzování úrovně způsobilosti procesů a zralosti organizace. Přínosy modelu CMMI® vidím v následujících skutečnostech: v jediném modelu je obsažen referenční model procesů, nástroj pro posuzování způsobilosti jednotlivých procesů a posuzování celkové zralosti organizace,
model CMMI® je zdarma ke stažení ze stránek SEI, popis procesů, cílů a praktik je velmi obsáhlý a může sloužit jako báze znalostí, pro hodnocení procesů byla v SEI vytvořena metoda Standard CMMI Appraisal Method for Process Improvement (SCAMPISM), která je předpokladem konzistentního způsobu posuzování [17], na webových stránkách SEI jsou zveřejňovány několikrát do roka profily zralosti procesů, které udávají statistiky posuzování organizací dle CMMI® na celém světě.
3. Norma ISO/IEC 12207 – Procesy v životním cyklu softwaru Mezinárodní norma ISO/IEC 12207 Procesy v životním cyklu softwaru (Systems and software engineering – Software life cycle processes) definuje procesy, činnosti a úkoly, které je třeba provádět při dodávce, vývoji, provozu, údržbě a odstranění softwarového produktu (služby) a také procesy pro definování, řízení a zlepšování procesů životního cyklu softwaru [6].
104
SYSTÉMOVÁ INTEGRACE 1/2010
INOVACE PROCESŮ BUDOVÁNÍ IS/ICT
8355711835571183557118355711
Obr. 2: Procesy životního cyklu softwaru dle skupin (přeloženo autorkou dle [6]) Životní cyklus softwaru je definován jako doba od úmyslu vytvořit software až po jeho odstranění z provozu. Norma nepředepisuje žádný specifický model životního cyklu softwaru, metodiku vývoje, metody ani techniky. Norma také detailně nespecifikuje požadovanou dokumentaci, k tomu účelu je možné použít normu ISO/IEC 15289 [9]. Norma ISO/IEC 12207 byla vydána v roce 1995, v letech 2002 a 2004 prošla revizemi. V roce 2008 byla vydána revize, která harmonizuje procesy v životním cyklu softwaru s procesy v životním cyklu systému, tedy s normou ISO/IEC 15288:2002. Norma ISO/IEC 12207 byla přeložena do češtiny a vydána jako ČSN ISO/IEC 12207, v češtině ale není k dispozici poslední verze normy. Norma ISO/IEC 12207:2008 definuje 43 procesů v 7 procesních skupinách tak, jak je vidět na obrázku 2.
První skupinou procesů jsou Smluvní procesy, které zahrnují procesy spojené s uzavřením dohody mezi dvěma organizacemi, tedy přípravu smlouvy, výběr dodavatele a realizaci dodávky. Skupina Procesy podporující projekty na úrovni organizace obsahuje procesy, které zajišťují zdroje a infrastrukturu pro podporu projektů. Do skupiny Projektové procesy jsou zařazeny procesy spojené s řízením projektu. Technické procesy obsahují inženýrské procesy v kontextu systému, které pokrývají celý životní cyklus od sběru požadavků až po odstranění softwaru. Procesy implementace softwaru jsou zaměřeny na vytvoření té části systému, která je implementována jako software. Do skupiny SYSTÉMOVÁ INTEGRACE 1/2010
105
Alena Buchalcevová
Procesy podpory softwaru jsou zařazeny procesy, které podporují proces implementace softwaru a přispívají k jeho úspěšné realizaci a kvalitě produktu. Skupina Procesy znovupoužití softwaru obsahuje 3 procesy, které podporují schopnost organizace znovupoužívat softwarové položky. Mezinárodní norma ISO/IEC 12207:2008 poskytuje robustní sadu procesů životního cyklu softwaru, které lze použít jak v rámci organizace, tak v rámci projektu. V příloze A normy jsou uvedeny principy přizpůsobení procesu na podmínky organizace, respektive projektu. Příloha B obsahuje Referenční model procesů (Process Reference Model – PRM), který lze použít pro účely posouzení procesů na základě normy ISO/IEC 15504-2, která je charakterizována v kapitole 4. U každého procesu je uveden účel procesu a výstupy, které jsou nutné a dostačující pro splnění účelu. Pro aplikaci normy ISO/IEC 12207 lze použít normu ISO/IEC TR 15271 A guide for application of ISO/IEC 12207 Software life cycle processes.
4. ISO/IEC 15504 Posuzování procesů Norma ISO/IEC 15504 definuje postup při posuzování procesů a stanoví minimální požadavky pro realizaci posuzování, které zajišťují konzistenci a opakovatelnost posuzování. Norma ISO/IEC 15504 má v současnosti 5 částí, které jsou publikovány (části 1-4 jsou přeloženy do češtiny a publikovány jako ČSN): Část 1 Pojmy a slovník (Concepts and Vocabulary) – obsahuje úvod a rejstřík termínů. Část 2 Realizace posouzení (Performing an Assessment) – stanoví minimální požadavky pro realizaci posuzování, které zajišťují konzistenci a opakovatelnost. Část 3 Návod na realizaci posouzení (Guidance on performing an assessment) – obsahuje návod, jak interpretovat požadavky pro realizaci posouzení. Část 4 Návod na zlepšování procesu a určování způsobilosti procesu (Guidance on use for process improvement and process capability determination) – ukazuje, jak používat posuzování procesů v rámci programu zlepšování procesů. Část 5 Vzor modelu posuzování procesu (An exemplar Process Assessment Model) – je příkladem modelu posuzování procesu podle referenčního modelu ISO/IEC 12207. Další části normy ISO/IEC 15504 se připravují. Pro publikaci jako Technical report (TR2) byla schválena část 6 An exemplar System Life Cycle Process Assessment Model, finální práce se provádějí na části 7 Assessment of Organizational Maturity, která umožní posuzovat zralost organizace podobně jako u modelu CMMI®. V plném proudu jsou práce na části 8 An exemplar assessment model for IT service management a byl schválen návrh nové pracovní položky – část 9 Capability Target Profiles.
106
SYSTÉMOVÁ INTEGRACE 1/2010
INOVACE PROCESŮ BUDOVÁNÍ IS/ICT
8355711835571183557118355711
Obr. 3: Normativní prvky v ISO/IEC 15504-2 (zdroj: [10]) Účelem posouzení procesů je stanovit způsobilost procesů implementovaných v organizaci. Posouzení probíhá podle dokumentovaného procesu a je schematicky zachyceno na obrázku 3. Norma stanoví odpovědnosti jednotlivých rolí při posouzení (sponzor, kompetentní posuzovatel a posuzovatel), požadované vstupy a výstupy posouzení včetně jejich struktury. Posouzení se provádí na základě Modelu pro posuzování procesů (Process Assesment Model – PAM), který je definován normou ISO/IEC 15504-2 a má dvě části – Referenční model procesů a Rámec měření (Measurement Framework). Způsobilost procesu je definována na šestibodové stupnici tak, jak ukazuje obrázek 4.
SYSTÉMOVÁ INTEGRACE 1/2010
107
Alena Buchalcevová
5855577585557758555775855577
Obr. 4: Úrovně způsobilosti a procesní atributy (zdroj: [10]) Na obrázku 5 jsou zachyceny jednotlivé kroky procesu zlepšování procesů tak, jak je uvádí část 4 normy ISO/IEC 15504. Ve stávající verzi norma ISO/IEC 15504 neumožňuje posuzovat celkovou zralost organizace tak jako model CMMI®, ale připravuje se část 7 Assessment of Organizational Maturity, která to umožní. Zatímco CMMI® používá pro posouzení referenční model procesů, který je jeho součástí, norma ISO/IEC 15504 umožňuje zvolit libovolný referenční model procesů, který splňuje podmínky TM definované normou. Norma ISO/IEC 15504 je známa také pod označením SPICE (Software Process Improvement and Capability dEtermination). Na základě SPICE byly vytvořeny další Modely pro posouzení procesů, zejména Automotive SPICE pro automobilový průmysl, SPICE for SPACE program, který realizuje Evropská agentura pro vesmír, OOSPICE Consortium vytvořilo referenční model a model pro posouzení zaměřený na komponentový vývoj. Byly také vytvořeny modely pro posouzení zaměřené na řízení IT služeb.
108
SYSTÉMOVÁ INTEGRACE 1/2010
INOVACE PROCESŮ BUDOVÁNÍ IS/ICT
10921638109216381092163810921638
Obr. 5: Kroky procesu zlepšování (zdroj: [5])
5. Normy řady ISO 9000 Normy řady ISO 9000, věnované řízení jakosti, patří u nás k nejznámějším a nejčastěji zaváděným. Základní normou je ČSN EN ISO 9001:2001 Systémy managementu jakosti – Požadavky na systém, ve které jsou specifikovány požadavky na systém řízení jakosti, jehož zavedení umožňuje organizaci prokázat schopnost trvale poskytovat výrobek, který splňuje požadavky zákazníka a příslušné požadavky předpisů, zvyšovat spokojenost zákazníka a neustále zlepšovat své procesy. Tato norma je doplněna dalšími pomocnými normami:
ČSN EN ISO 9000:2001 Systémy managementu jakosti – Základy, zásady a slovník, kde jsou uvedeny základy a zásady systému managementu jakosti a terminologie,
ČSN EN ISO 9004:2001 Systémy managementu jakosti – Směrnice pro zlepšování výkonnosti, je uveden návod na neustálé
zlepšování výkonnosti a efektivnosti organizace. Pro organizace, které se zabývají softwarovými systémy, má význam zejména norma ISO/IEC 90003, respektive ČSN ISO/IEC 90003 Softwarové inženýrství – Směrnice pro použití ISO 9001:2000 na počítačový software. Tato norma doplňuje požadavky ISO 9001 v oblasti softwaru. Organizace musí definovat SYSTÉMOVÁ INTEGRACE 1/2010
109
Alena Buchalcevová
procesy pro vývoj, provoz a údržbu softwaru, posloupnost těchto procesů a vzájemné vazby na základě modelu životního cyklu softwaru. Norma doporučuje využít normy ISO/IEC 12207, která obsahuje Referenční model procesů a ISO/IEC TR 15271, přílohu C, která poskytuje návod, jak používat procesy z ISO/IEC 12207 v různých modelech životního cyklu. Norma ISO/IEC 90003 dále poskytuje doplňky a vysvětlení jednotlivých klausulí normy ISO 9001 a ukazuje, jak je aplikovat na softwarové systémy. Odkazuje přitom na další normy z oblasti softwaru, a tak ji můžeme chápat jako integrační normu, která v rámci zavedení systému managementu jakosti zavede „správné“ procesy a nejlepší praktiky.
6. Metodiky budování IS/ICT Metodika představuje v obecném smyslu souhrn metod a postupů pro realizaci určitého úkolu. Protože v dnešní době nejde jen o vývoj nového softwaru, ale také o implementaci již hotových řešení, integraci různých komponent a služeb, používám pojem metodiky budování IS/ICT. „Metodika budování IS/ICT definuje principy, procesy, praktiky, role, techniky, nástroje a produkty používané při vývoji, údržbě a provozu informačního systému, a to jak z hlediska softwarově inženýrského, tak z hlediska řízení.“ [2] Metodika, kterou použijeme pro konkrétní projekt, je ovlivněna řadou faktorů projekty se liší velikostí týmu, důležitostí produktu a postavením produktu na trhu, různé technologie vyžadují různé techniky a metody, organizace se liší firemní kulturou, jedinci se liší svými schopnostmi i morálními vlastnostmi, a tak každý projekt potřebuje specifickou metodiku. Protože by nebylo efektivní vytvářet pro každý projekt úplně novou metodiku, existuje řada metodik, ze kterých můžeme vybrat nejvhodnější a přizpůsobit ji podmínkám projektu. Při výběru metodiky je třeba zohlednit kategorizaci metodik budování IS/ICT, kterou lze nalézt v [2]. V praxi se setkáme se dvěma hlavními kategoriemi metodik, kterými jsou tradiční (rigorózní) metodiky a agilní metodiky. Rigorózní metodiky vycházejí z přesvědčení, že procesy při budování IS/ICT lze popsat, plánovat, řídit a měřit, a proto podrobně a přesně definují procesy, činnosti a vytvářené produkty. Agilní metodiky jsou založeny na myšlence, že jedinou cestou, jak prověřit správnost navrženého systému, je vyvinout jej co nejrychleji, předložit zákazníkovi a na základě zpětné vazby jej upravit. Každá z agilních metodik je svým způsobem specifická, ale všechny jsou postaveny na stejných principech a hodnotách, které byly v roce 2001 definovány v Manifestu agilního vývoje softwaru. Mezi agilní metodiky byly od počátku řazeny následující metodiky a přístupy: • Dynamic Systems Development Method (DSDM), • Adaptive Software Development ( ASD), • Feature–Driven Development (FDD), • Extrémní programování (Extreme Programming, XP), • Lean Development, • Scrum, • Crystal metodiky, • Agilní modelování (Agile Modeling). V poslední době jsme svědky stále častějšího používání agilních přístupů, ale také ústupu od původního fundamentalistického pojetí agilního vývoje ve prospěch 110
SYSTÉMOVÁ INTEGRACE 1/2010
INOVACE PROCESŮ BUDOVÁNÍ IS/ICT
kompromisů s tradičním pojetím. Ukazuje se, že rigorózní metodiky je možné odlehčit a aplikovat v jejich rámci některý z agilních přístupů. Příkladem je třeba metodika Rational Unified Process, která byla původně považována za zástupce rigorózních metodik, ale od roku 2003 byla postupně rozšiřována o agilní myšlenky a dnes představuje metodický rámec pokrývající celé portfolio metodik – od rigorózních až po agilní. Na druhé straně, pokud potřebujeme použít agilní metodiky na větší projekty, projekty vyvíjené distribuovanými týmy či projekty větší důležitosti, je třeba je více formalizovat a obohatit o nové praktiky. Vznikají také nové agilní metodiky. Příkladem je metodika Microsoft Solutions Framework (MSF), která se dodává ve dvou verzích - MSF for CMMI Process Improvement a MSF for Agile Software Development, a metodika OpenUP. OpenUP je minimálně dostatečná, ale kompletní metodika pro vývoj softwaru, je přizpůsobitelná a rozšiřitelná. Vznikla zeštíhlením metodiky Unified Process, a tak je založena na iterativním a inkrementálním životním cyklu, případech užití, řízení rizik a architektuře. Pro správu metodiky slouží nástroj Eclipse Process Framework Composer (EPF Composer), který umožňuje snadnou konfiguraci metodiky ve formě metodických doplňků a balíčků.
7. Průzkumy stavu používání norem, standardů a metodik Míra používání norem, standardů a metodik v praxi není, zejména v Evropě a specielně v České republice, uspokojivá. Jak vyplývá ze zprávy Institutu pro softwarové inženýrství (SEI) o stavu posuzování zralosti procesů podle CMMI® [18], je počet posouzení v Evropě (403) mnohem nižší než v Severní Americe (1080) a v Asii (1354). Česká republika je zařazena do kategorie zemí s méně než 10 posouzeními. U metodik se průzkumy zaměřují zejména na používání agilních metodik. Výsledky průzkumu provedeného v roce 2006 organizací Agile Alliance ve spolupráci s VersionOne prokázaly, že agilní metodiky se v celosvětovém měřítku stále více prosazují. Situace v České republice je ale jiná. Jak ukázaly výsledky průzkumu, který jsme realizovali v roce 2006 a jehož cílem bylo zjistit stupeň rozšíření agilních přístupů v českých firmách [3], v české praxi se zatím agilní metodiky nedočkaly většího rozšíření. Výsledky průzkumu potvrdily předpoklad, že většina firem v Česku veřejné metodiky nepoužívá (14 %) a nahrazuje je buď metodikou individuální (v podobě firemních standardů) nebo tuto oblast vůbec neřeší a projekty řídí ad-hoc. Průzkum potvrdil také předpoklad, že rozsah znalostí o metodikách, zejména agilních je v praxi nízký. 43 % respondentů uvedlo základní vědomosti o agilních metodikách, 19 % své znalosti považuje za pokročilé a 19 % naopak přiznalo, že pojem agilní metodiky slyší zcela poprvé.
8. Mezinárodní norma Life-Cycle Profiles for Very Small Entities Zavádění standardů a norem v oblasti softwarových procesů je náročné na zdroje, a tak je realizují spíše větší organizace. Přitom podíl malých firem je v oblasti vývoje softwaru velmi vysoký. Výsledky průzkumů, které byly publikovány v [14] ukazují, že: SYSTÉMOVÁ INTEGRACE 1/2010
111
Alena Buchalcevová
85 % všech softwarových firem v Evropě má méně než 10 zaměstnanců, v Kanadě, v oblasti Montrealu, má 80% firem méně než 25 zaměstnanců a více než 50% softwarových firem méně než 10 zaměstnanců, v Brazílii reprezentují malé podniky 70% všech firem. Proto byla v rámci ISO/IEC JTC1/SC7 vytvořena pracovní skupina WG24, která připravuje normy určené pro velmi malé podniky, které definuje jako podniky s méně než 25 zaměstnanci. Tato pracovní skupina realizovala v roce 2006 ve světovém měřítku průzkum, kterého se účastnilo 392 respondentů z 29 zemí, včetně České republiky. Více než 70% velmi malých podniků v průzkumu uvedlo, že vyvíjí životně důležité systémy, systémy kritické pro poslání organizace, anebo systémy pro státní správu. To podtrhuje význam, který má pro tyto podniky certifikace. Průzkum ukázal zajímavé rozdíly v počtu certifikovaných firem ve vztahu k velikosti firmy. V kategorii velmi malých podniků bylo certifikováno méně než 18% firem. Naproti tomu u firem s více než 25 zaměstnanci bylo certifikováno už 53% firem. Certifikované firmy používají v 55% ISO normy a v 47% modely CMM, respektive CMMI [16]. Protože se u velmi malých podniků předpokládala menší míra používání standardů, obsahoval průzkum také otázku, z jakého důvodu firma standardy a normy nepoužívá. Jako nejčastější důvody byly uváděny nedostatek zdrojů (28%) a skutečnost, že standardy nejsou vyžadovány (24%). 15% respondentů uvedlo, že standardy jsou příliš byrokratické a nejsou k dispozici návody na jejich aplikaci. Na druhé straně ale převážná většina velmi malých podniků (74%) uvedla, že je pro ně velmi důležité získat certifikaci.
10921638
Obr. 6: Procesy v Základním profilu (zdroj: [15]) Pracovní skupina WG24 připravuje množinu dokumentů, technických zpráv (TR) a mezinárodních standardizovaných profilů (ISP) pod obecným názvem Life-Cycle Profiles for Very Small Entities (VSEP), která obsahuje: TR 29110-1 Overview ISP 29110-2 Framework and Taxonomy TR 29110-3 Profile Assesment Guide TR 29110-4.1 Basic Profile Specification 112
SYSTÉMOVÁ INTEGRACE 1/2010
INOVACE PROCESŮ BUDOVÁNÍ IS/ICT
TR 29110-5.1 Management and Engineering Guide for Basic Profile Základní profil se skládá ze dvou skupin procesů – Implementace softwaru a Řízení projektu. Na obrázku 6 jsou znázorněny jednotlivé procesy, jejich vstupy a výstupy. Skupina WG24 počítá s tím, že vytvoří další profily, které umožní organizaci dosáhnout vyšší úrovně způsobilosti procesů a umožní jí postupně se dopracovat k certifikaci na ISO 9001. Součástí normy je také návod, jak implementovat softwarové procesy a pro každý proces obsažený v základním profilu je vytvořen tzv. balíček nasazení, který vysvětluje smysl procesu, cíl jeho zavedení, způsob jeho zavedení, doporučuje techniky a metody, které slouží k realizaci procesu a obsahuje šablony dokumentů, které je třeba při realizaci procesu vytvářet. Norma TR 29110 je ve stádiu vytváření, ale pracovní verze dokumentů a některé balíčky nasazení jsou již k dispozici. Pracovní skupina nyní zvažuje, v jaké formě bude postupy publikovat. Jako možné řešení se jeví využít nástroj pro správu obsahu Eclipse Process Framework Composer (EPF Composer), který je volně dostupný a umožňuje snadnou konfiguraci a přizpůsobení postupů.
9. Závěr Výsledky průzkumů úspěšnosti softwarových projektů nejsou uspokojivé stejně jako míra používání norem, standardů a metodik zaměřených na budování IS/ICT. Článek představil nejdůležitější normy, standardy a metodiky, které jsou podnikům, které se zabývají budováním IS/ICT, k dispozici. Zvláštní pozornost je věnována i malým organizacím, které hrají významnou úlohu v oblasti vývoje softwaru a pro něž se připravují projekty, které jim mají pomoci zavést, posoudit a zlepšovat softwarové procesy a umožnit jim certifikovat se na mezinárodní normy a standardy.
Poděkování Tento příspěvek vznikl za podpory grantu GA ČR 201/08/0663 – Inovace informačních systémů podporující konkurenceschopnost podniků.
Seznam literatury [1]
[2] [3] [4]
ANALECTO, A. Experiences gained from applying ISO/IEC 15504 to small software companies in Brazil. In Proceedings of the 4th International SPICE Conference on Process Assesment and Improvement, Lisbon, Portugal, pp 33-37, 2004. BUCHALCEVOVÁ, A. Metodiky budování informačních systémů. 1. vyd. Praha: Oeconomica, 2009, ISBN 978 – 80 -245 -1540 – 3. BUCHALCEVOVÁ, A., LEITL, M. Průzkum používání agilních metodik v ČR. In: Objekty 2006. Praha: PEF ČZU, 2006, s. 125–136. ISBN 80-213-1568-7 Capability Maturity Model® Integration (CMMISM) – Version 1.2 – Staged Representation, Technical Report CMU/SEI-2002-TR-012. [online]. The Software Engineering Institute, 2002. [cit. 2007-10-07]. Dostupný z WWW:
SYSTÉMOVÁ INTEGRACE 1/2010
113
Alena Buchalcevová
[5] [6] [7] [8] [9]
[10] [11] [12] [13] [14]
[15]
[16]
[17]
[18]
[19]
[20]
114
ČSN ISO/IEC 15504-4: Informační technologie-Posuzování procesu – Část 4: Návod na zlepšování procesu a určování způsobilosti procesu. ČNI, 2006 ISO/IEC 12207: Systems and software engineering – Software life cycle processes, 2008. ISO/IEC TR 15271 Information technology – Guide for ISO/IEC 12207 (Software Lifecycle Processes), 1998. ISO/IEC FDIS 15288: Systems and Software Engineering — System life cycle processes,2007. ISO/IEC FDIS 15289: Systems and Software Engineering — Content of systems and software life cycle process information products (Documentation), 2005. ISO/IEC FDIS 15504-2 : Information technology – Process Assesment – Part 2: Performing an Assesment, 2002. ISO/IEC 15504-3 : Information technology – Process assesment – Part 3: Guidance on performing an assesment. Geneva, 2004. ISO/IEC 15504-5 : Information technology – Process assesment – Part 5: An exemplar Process Assessment Model, 2006 JOHNSON, J. My Life is Failure. The Standish Group International, Inc. , 2006. ISBN 1-4243-0841-0. LAPORTE, C. Y.; APRIL, A.; RENAULT, A. Applying ISO/IEC software engineering standards in small settings, Historical perspectives and initial achievements. In Proceedings of the SPICE conference, Luxembourg (pp.57-62), May 2006 MÄKINEN, T.; VARKOI, T. Analyzing a Process Profile for Very Small Software Enterprises. In Proceedings of the SPICE 2008 conference, Nuremberg, 2008 OCTABA, H.; PIETINI, M. Software Process Improvement for Small and Medium Enterprises: Techniques and case studies, Information Science Reference, Hershey, New York, 2008, ISBN 978-1-59904-906-9. Standard CMMI Appraisal Method for Process Improvement (SCAMPI) A, Version 1.2: Method Definition Document [online] SEI/CMU, c2006 [cit. 2007-10-08]. Dostupný z WWW:
. Process Maturity Profile. [online] Software Engineering Institute, c2008 [cit. 2008-01-23]. Dostupný z WWW: . Software and Systems Engineering Vocabulary [online] IEEE Computer society, c2008 [cit. 2008-01-30]. Dostupný z WWW: . VOŘÍŠEK, J. a kol. Principy a modely řízení podnikové informatiky. 1.vyd. Praha: Oeconomica, ISBN 978-80-245-1440-6.
SYSTÉMOVÁ INTEGRACE 1/2010