NORMY ŘADY ISO 9000
Obrovská potenciální uživatelská základna pro ISO/IEC 90003 stav poznání pro zlepšování jakosti v softwarovém inženýrství Witold Suryn, Victoria A. Hailey a Andy Coster Převzato z časopisu ISO Management Systems č.4/2004 s laskavým svolením ČSNI, překlad: VYZAtrans,v.o.s., České Budějovice, lektoroval: Ing. Jaroslav Bartoň
ISO/IEC 90003:2004, Softwarové inženýrství − Návod pro aplikaci ISO 9001:2000 na počítačový software, je nová norma ISO/IEC, která má obrovský celosvětový potenciál vzhledem k tomu, že díky informačním technologiím proniká prakticky do každého odvětví, jakož i do mnoha aspektů společenského života.
20 • SVĚT JAKOSTI • 3/2004
OBROVSKÁ POTENCIÁLNÍ UŽIVATELSKÁ ZÁKLADNA PRO ISO/IEC 90003 STAV POZNÁNÍ PRO ZLEPŠOVÁNÍ JAKOSTI V SOFTWAROVÉM INŽENÝRSTVÍ
Norma ISO/IEC 90003:2004 pokrývá veškeré aspekty jakosti softwaru, od poříze− ní po dodávku, včetně vývoje, provozování a údržby počítačového softwaru, a poskytu− je vodítka k tomu, jak uplatnit vysoce úspěšný procesní přístup ISO 9001:2000 v prostředí počítačových programů. Vydání normy ISO/IEC 90031) ohlašuje komunitě softwarových inženýrů význam− nou éru tím, že vnáší konsolidovaný pří− stup do vývoje a používání norem softwarového inženýrství. V posledních le− tech se převzetí takového přístupu stalo velmi důležité vzhledem k množství vyvi− nutých norem, které začaly být ochotněji přijímány průmyslem i uživateli jeho pro− duktů.
P ozadí ISO/IEC 90003 První normy řady ISO 9000 byly vydány v roce 1987, avšak dokument poskytující vodítka pro oblast softwaru byl vytvořen až v roce 1991. Počínaje rokem 1991 začala barvitá historie normy ISO/IEC 90003. V té době existovalo jen málo norem softwarového inženýrství a ještě méně do− kumentů věnovaných kvalitě softwaru. Tvůrci toho, co tehdy byla ISO 9000−3, součást řady ISO 9000, pod křídly technic− kého výboru ISO/TC 176, nesouhlasili se strukturou ISO 9001:1987, protože neodrá− žela životní cyklus softwaru. Proto se roz− hodli vytvořit dokument, který by odrážel procesy, které by měly být dodržovány při vytváření kvalitního softwaru. Brzy si uvědomili, že aby mohla být do softwaru zabudována jakost, musí být identifikovány a vyvinuty nezbytné proce− sy, které jsou součástí životního cyklu softwaru. V té době se teprve měla psát norma ISO/IEC 12207:1995, Procesy ži− votního cyklu softwaru, takže autoři dřívěj− ší verze ISO 9000−3 trochu předběhli svoji dobu. Bohužel uživatelé dřívější ISO 9000−3 se obtížně přizpůsobovali požadavkům ISO 9001/2/3:1987 a daná struktura začala být opravdovým problémem v roce 1994, kdy byla revidována norma ISO 9001. V roce
1997 byla revidována norma ISO 9000−3 kvůli kompatibilitě s ISO 9001:1994 a ná− sledně byla publikována jako ISO 9000−3, Normy pro management jakosti a zabezpe− čování jakosti − Část 3: Směrnice pro použiti ISO 9001:1994 při vývoji, dodávce, instalaci a údržbě počítačového softwaru. Všimněte si přívlastku „počítačový“ jako deskriptoru softwaru. Software se vyvinul do tak významné míry, že potřeboval toto vysvětlení. Spolu s touto revizí z roku 1997 byly pokyny obsažené v ISO 9000−3 struk− turovány tak, aby odpovídaly jednotlivým a všem požadavkům ISO 9001:1994. V té době byla vydána norma ISO/IEC 12207:1995, a protože byla všeobecně me− zinárodně přijata jako základna pro softwa− rové procesy, vycházel návod v ISO 9000−3 v podstatě z obsahu ISO/IEC 12207. Uživatelé byli s použitelností revi− dované ISO 9000−3 spokojenější, neboť mohli vztáhnout každý požadavek ISO 9001:1994 na ISO/IEC 12207 a na své vlastní potřeby. Když byla v prosinci roku 2000 vydána norma ISO 9001:2000, společenství norem softwarového inženýrství se již značně roz− rostlo a další hlavní normy byly schopny podpořit požadavky ISO 9001:2000. ISO se poté rozhodla převést ISO 9000−3 na společný technický výbor ISO/IEC JTC 1, Informační technologie, v němž se podvý− bor SC 7 specializuje na softwarové inže− nýrství. To umožnilo sladit návod s aktuálním vývojem v nové softwarové komunitě. By− ly vypracovány nové normy na podporu různých aspektů jakosti, jako např. ISO/IEC 15504 (hodnocení procesu), ISO/IEC 9126 (jakost produktu), ISO/IEC 14598 (hodnocení jakosti produktu), ISO/IEC 15939 (proces měření), ISO/IEC 14764 (údržba softwaru), ISO/IEC 12119 (požadavky na programové balíky a jejich zkoušení) a ISO/IEC 14143 (měření funk− ční velikosti). S revizí ISO 9000−3 a přijetím jejího vlastního čísla ISO/IEC, 90003, se tato softwarová směrnice stala samostatným dokumentem softwarového inženýrství,
ISO/IEC 90003 ohlašuje komunitě softwarových inženýrů významnou éru
1) ISO/IEC 90003:2004 stojí 150 švýcarských franků a je k dispozici u národních členských institutů ISO (kompletní seznam s kontakty se nachází na internetu: www.iso.org) a u Centrálního sekretariátu ISO (
[email protected]). Byla vyvinuta pracovní skupinou WG 18, Management jakosti, podvýboru SC 7, Softwarové a systémové inženýrství, společného technického výboru ISO/IEC JTC 1, Informační technologie, ustanoveného ISO (Mezinárodní organizací pro normalizaci) a IEC (Mezinárodním elektrotechnickým výborem).
SVĚT JAKOSTI • 3/2004 • 21
OBROVSKÁ POTENCIÁLNÍ UŽIVATELSKÁ ZÁKLADNA PRO ISO/IEC 90003 STAV POZNÁNÍ PRO ZLEPŠOVÁNÍ JAKOSTI V SOFTWAROVÉM INŽENÝRSTVÍ
Tato norma poskytuje praktický návod pro uplatňování systému jakosti dle ISO 9001:2000 v oblasti softwarového inženýrství
Obr. 1: Struktura ISO/IEC 90003
umožňujícím usměrňovat uživatele na bohaté zdroje informací. ISO/IEC 90003 rozsáhle používá tyto další dokumenty odkazováním na příslušné podpůrné nor− my, přičemž nejlepší softwarové postupy z těchto dokumentů ve vlastním textu neopakuje. Tento přístup poskytuje návod tam, kde je to třeba, a odkazuje na podrob− né zdroje, ze kterých je možné převzít nej− lepší postupy jakosti.
O bsah a struktura Nejlepším popisem obsahu ISO/IEC 90003 je přímá citace z jejího článku „Předmět“: Tato mezinárodní norma specifikuje po− žadavky na systém managementu jakosti organizace, která • potřebuje prokázat svoji schopnost soustavně dodávat produkt, který splňuje požadavky zákazníka a příslušných před− pisů a
Systém managementu jakosti
Odpovědnost managementu
• Všeobecné požadavky (na systém jakosti) • Požadavky na dokumentaci
• Angažovanost vrcholového vedení • Zaměření na zákazníka • Politika jakosti • Plánování • Odpovědnost, pravomoc a komunikace • Přezkoumání vedení
22 • SVĚT JAKOSTI • 3/2004
Management zdrojů
• Poskytování zdrojů • Lidské zdroje • Infrastruktura • Pracovní prostředí
• chce posílit uspokojení zákazníka pro− střednictvím efektivní aplikace systému, včetně procesů pro trvalé zlepšování sys− tému a zabezpečování shody s požadavky zákazníka a příslušných předpisů. Z pohledu uživatele obsah i struktura této normy poskytují praktický návod k uplat− ňování systému jakosti dle ISO 9001:2000 v oblasti softwarového inženýrství. Tento konkrétní přístup vychází z objektivních důvodů: softwarové inženýrství prudce zvyšuje svoji hodnotu jako společensky dů− ležitý obor a jako takové vyžaduje vhodný návod a podporu ve formě vyhrazených norem. První pohled na strukturu normy (obr. 1) ukazuje komplexnost pěti aspektů, ze kte− rých vychází aplikace jakosti softwarového inženýrství. 1. Systémový aspekt (systém manage− mentu jakosti) pomáhá uživateli ověřit a/nebo stanovit strukturu a typ procesů spolu s nezbytnou dokumentací, požado−
Realizace produktu
• Plánování realizace produktu • Procesy týkající se zákazníka • Návrh a vývoj • Nakupování • Výroba a poskytování služeb • Řízení monitorovacích a měřících zařízení
Měření, analýza a zlepšování
• Všeobecně • Monitorování a měření • Řízení neshodného produktu • Analýza dat • Zlepšování
OBROVSKÁ POTENCIÁLNÍ UŽIVATELSKÁ ZÁKLADNA PRO ISO/IEC 90003 STAV POZNÁNÍ PRO ZLEPŠOVÁNÍ JAKOSTI V SOFTWAROVÉM INŽENÝRSTVÍ
vanou a vhodnou k tomu, aby organiza− ce vybudovala efektivní systém jakosti. 2. Aspekt managementu (odpovědnost ma− nagementu) umožňuje identifikovat, de− finovat a stanovit politiku a kulturu organizace na podporu celkového cíle výroby kvalitních produktů. 3. Aspekt zdrojů (management zdrojů) se zaměřuje na vyhrazené zdroje jakosti (velmi průkopnický přístup) a ukazuje uživatelům normy konkrétní problémy, se kterými je třeba uvažovat při vytváře− ní odborného týmu specialistů na jakost. 4. Aspekt produktu (realizace produktu) podává vyčerpávající výklad při stano− vení matice procesů, které podporují tvorbu softwarového produktu (všeobec− ný proces vývoje, nakupování), plánová− ní a řízení procesu realizace, vztahy se zákazníkem a výrobu a servis po dodáv− ce. 5. A nakonec aspekt zlepšování (měření, analýza a zlepšování) pomáhá identifi− kovat a monitorovat, měřit a analyzovat činnosti požadované pro udržování a zlepšování jakosti produktů. Výše uvedených pět aspektů dává uživa− teli úplný a relativně jednoduchý analytic− ký mechanismus, umožňující přesněji definovat požadavky na jakost procesů, při jejichž splnění může vzniknout efektivní fi− remní systém jakosti pro vysoce kvalitní softwarové produkty. Pro každý z těchto aspektů ISO/IEC 90003 poskytuje návod k oblastem, které jsou důležité pro softwarové inženýry, včetně plánování, řízení konfigurace a tes− tování softwaru a odkazů na další normy ISO/IEC (viz. obr. 2). Obrázek 2 ukazuje vzájemný vztah norem: Jádrem modelu softwarového inženýrství jsou procesy životního cyklu softwaru dle ISO/IEC 12207, neboť typizu− jí procesy a nejlepší postupy, které by měly být používány při vývoji dobrého softwaru. Procesy ISO/EC 12207 jsou dále podporo− vány ukázkami nejlepší praxe v dalších normách, jako je ISO/IEC 15939, ISO/IEC 14143, ISO/IEC 15504. Pro průběžné monitorování produktů,
procesů a služeb je možné zavést program měření s cílem zjistit, zda jsou dosahovány cíle jednotlivých procesů. Model hodnoce− ní procesů dle ISO/IEC 15504 poskytuje opakovatelný rámec pro zjišťování vyspě− losti nebo způsobilosti jednotlivých proce− sů nebo celého souboru procesů. Z druhé strany ISO/IEC 90003 poskytuje kompletní návod pro oblast softwaru, po− třebný pro „interpretaci“ a plnění požadav− ků normy ISO 9001:2000 jako celkového všeobecného modelu jakosti.
Je poskytnut návod pro hlavní oblasti procesů realizace softwaru a pro měření, analýzu a zlepšování
A plikovatelnost, použití a přínosy Norma ISO/IEC 90003 je aplikovatelná na software, který je buď součástí obchodní smlouvy nebo součástí vývoje produktu (včetně případu, kdy je zabudován do sys− témů), a rovně slouží jako návod pro zlep− šování procesů a poskytování služeb. Co se týče softwaru, který je součástí obchodní smlouvy s jinou organizací, ISO/IEC 90003 je zjevně aplikovatelná, neboť ISO 9001:2000 byla původně pojí− mána tak, aby splňovala tento požadavek. Byla to také jedna z hlavních zamýšlených aplikací ISO/IEC 12207. ISO/IEC 12207
Obr. 2: Model ukazující vztah mezi normami softwarového inženýrství ISO/IEC a normou ISO 9001:2000. (© Victoria A. Hailey, přetisknuto se svolením)
ISO/IEC 90003, Software 15939, Měření softwaru Návody, které jsou k dispozici: 9126, Jakost produktu 16326, Projektový management 15504, Výběr/řízení dodavatelů 15846/10007, Řízení konfigurace 15504, Zlepšování procesu 14598, Hodnocení softwarových produktů
14143, Měření funkční velikosti 14102, Hodnocení a výběr případových nástrojů 15026, Úrovně integrity softwaru a systémů 14764, Údržba softwaru 15910, Proces dokumentace uživatelského softwaru
SVĚT JAKOSTI • 3/2004 • 23
OBROVSKÁ POTENCIÁLNÍ UŽIVATELSKÁ ZÁKLADNA PRO ISO/IEC 90003 STAV POZNÁNÍ PRO ZLEPŠOVÁNÍ JAKOSTI V SOFTWAROVÉM INŽENÝRSTVÍ
Je to první dokument integrující různé aspekty, které musí být uvažovány s cílem zabudování jakosti do softwarových produktů
i ISO/IEC 90003 jsou zaměřeny na (softwarové) projekty. ISO/IEC 90003 tím že poskytuje podrobný návod ohledně požadavků normy ISO 9001:2000, pomáhá softwarové organizaci zaměřit se na poža− davky na software a na uspokojování zá− kazníka. Co se týče softwaru vyvíjeného jako pro− dukt za účelem prodeje na trhu, je ISO/IEC 90003 aplikovatelná na projekty stejně jako na pořizování produktů, vývoj, provozová− ní a údržbu, neboť je nezávislá na životním cyklu. Co se týče softwaru, zabudovávaného do hardwarového produktu, je možné ISO/IEC 90003 použít pro vývoj softwaru, neboť její návaznost na ISO 9001:2000 je silná a poskytuje vazby na systém, do kte− rého může být software zabudován. Kromě toho může být ISO/IEC 90003 použita pro podporu, vývoj a zlepšování procesů organizace, obzvláště proto, že požadavky ISO 9001:2000 jsou tak silně zaměřeny na tyto aspekty systémů manage− mentu jakosti. Norma poskytuje návod v hlavních pro− cesních oblastech realizace softwaru a v oblasti měření, analýzy a zlepšování,
spolu se softwarovými aspekty lidských zdrojů a infrastruktury, což by mělo pomo− ci při definování nebo upřesňování podni− kových procesů. ISO/IEC 90003 je možné částečně použít na poskytování služeb, neboť poskytuje návod ohledně vývoje softwaru, užitečný při poskytování softwarových služeb, a rovněž konkrétní rady k službám provo− zování a údržby softwaru. Nezabývá se aspekty vývoje služeb a dodávky. Z mnoha možností použití ISO/IEC 90003 by se za nejdůležitější měly poklá− dat následující: • návod k výkladu ISO 9001:2000, zejmé− na na podporu procesu certifikace organi− zace; • program zlepšování procesu: jako model pro porovnávání procesů organizace s rozvojem organizace (podobný zlepšo− vání, avšak z organizačních aspektů, jako jsou zdroje a infrastruktura); a − odborný rozvoj: pro dosažení ocenění dobrých postupů a faktorů ovlivňujících jakost vývoje, provozování a údržby softwaru. Přínosů použití i aplikování normy ISO/IEC 90003 je celá řada, a některé jsou obzvlášť významné. Následující příklady by měli velice ocenit uživatelé norem: • výklad normy ISO 9001:2000 pro soft− ware, který je v jazyce softwarových spe− cialistů; • procesní rámec, který je možné přizpůso− bit potřebám jakékoli organizace; • základ pro komunikaci a koordinaci vývoje, provozování a údržby softwaru, který snižuje vývojová rizika. Prvotřídní přístup k softwarovému inže− nýrství a managementu jakosti softwaru, in− tegrovaný s managementem životního cyklu softwaru ISO/IEC 12207 a dalšími softwa− rovými normami ISO/IEC JTC 1/SC 7 poskytuje mechanismus pro zlepšování pro− cesů jakosti v oblasti navrhování, vývoje, používání a údržby softwaru a pomáhá orga− nizaci zlepšit zaměření na zákazníka a spo− kojenost zákazníka.
24 • SVĚT JAKOSTI • 3/2004
OBROVSKÁ POTENCIÁLNÍ UŽIVATELSKÁ ZÁKLADNA PRO ISO/IEC 90003 STAV POZNÁNÍ PRO ZLEPŠOVÁNÍ JAKOSTI V SOFTWAROVÉM INŽENÝRSTVÍ
Z ávěry Vydání normy ISO/IEC 90003 ohlašuje důležitou a novou éru vývoje softwarového inženýrství, jelikož je to první dokument integrující různé aspekty, které musí být uvažovány s cílem zabudování jakosti do softwarových produktů. Složitost softwaru vyžaduje rigoróznější přístup k jeho vývoji jakož i vyšší kritéria, se kterými se organi− zace musí srovnávat, protože uvádějí do činnosti její procesy. Vzhledem k tomu, že uživatelé softwaru jsou stále náročnější, inteligentnější a méně promíjí vady, je nutné se neustále porovná−
vat s nejlepšími, což se projevuje v nároč− nějších požadavcích oproti požadavkům, které na přívržence své filozofie klade ISO 9001:2000. Evoluce jakosti softwaru v ISO/IEC 90003 zřejmá, protože se větší důraz klade na zjišťování a uspokojování požadavků zá− kazníka. Kromě toho je nadále nepřijatelné udržovat status quo. Jakost softwarových produktů a softwarových procesů se musí neustále zlepšovat. To neustále posouvá hranici, kterou se softwarové organizace snaží překonat. S návodem v podobě ISO/IEC 90003 se tento úkol stává snaz− ším.
O autorech
Andy Coster byl redaktor mezinárodního projektu ISO/IEC 90003 a v posledních 15 letech se podílel na vývoji mezi− národních softwarových a systémových norem. Je výkonným ředitelem CosterA Consulting Ltd., anglické organizace specializující se na management jakosti a související poradenství. E−mail:
[email protected]
Victoria A. Hailey byla svolavatelem Pracovní skupiny 18, Management jakosti, ISO/IEC JTC 1/SC 7, která vypracovala normu ISO/IEC 90003. Je certifikovaným poradcem managementu a samostatným poradcem VHG (The Victoria Hailey Group Corporation), která se zaměřuje na pomáhání firmám v oblasti softwaru, systémů a služeb zvládat vlastní rizika i rizika jejich dodavatelů a zlepšovat jejich procesy prostřednic− tvím norem jako např. SPICE (ISO/IEC 1554), ISO 9000 a CMM.
Jakost softwaro− vých produktů a softwarových procesů se musí neustále zlepšovat. S návodem v podobě ISO/IEC 90003 se tento úkol stává snazším.
Dr. Witold Suryn je tajemníkem ISO/IEC JTC 1/SC7, Softwarové inženýrství. Je profesorem na École de technologie supériere, Montreal, Kanada (průmyslová škola sítě Univerzity Québec), kde vyučuje v rámci pregraduálních a postgra− duálních kursů softwarové inženýrství a provádí vý− zkum v oblasti inženýrství jakosti softwaru, základů a základních principů softwarového inženýrství. E−mail:
[email protected] Web: www.ele.etsmtl.ca/prof/wsuryn
E−mail:
[email protected]
SVĚT JAKOSTI • 3/2004 • 25