Ing. Vlastimil Nešetřil
ANF DATA, spol. s r. o. (člen skupiny SIEMENS)
Úvod
Způsob přezkoumání návrhu (dále jen review) používaný ve společnosti ANF DATA při vývoji softwarových produktů probíhá dle metodiky: Reviews, Version 1.0, Leitfaden zur Planung, Durchführung und Dokumentation von Reviews, která byla vypracována společností SIEMENS AG ÖSTERREICH, Programm- und Systementwicklung v roce 1995. Podkladem pro její vytvoření byla norma IEC 1160 (českým ekvivalentem této normy je norma ČSN IEC 1160:1994 Oficiální přezkoumání návrhu).
Účelem předkládaného článku je seznámit čtenáře s touto metodikou, způsobem plánování, organizací a zpracováním výsledků review, a zejména pak s metodami, které se v rámci review používají.
Základním cílem review je zajistit:
- splnění všech specifikovaných požadavků na spolehlivost, životnost,
bezpečnost, stabilitu a na funkční parametry vyvíjeného softwarového produktu;
- minimalizaci nákladů s tím spojených;
- dodání produktu v předepsaných plánovaných termínech.
Provádění review usnadňuje hodnocení stavu návrhu, identifikuje slabá
místa a vede projekční tým k provedení nápravných opatření.
Definice review
Review je plánované, oficiální, systematické, kritické a dokumentované přezkoušení výsledků vývoje softwarového produktu prováděné na konci definovaných etap minimálně dvěma účastníky review (review je týmovou činností) s cílem nalezení chyb. Příklady pro výsledky vývoje jsou dokumenty, plány, kód.
Každé provedené review je dokumentováno formou review-protokolu, jež je možno považovat za záznam o jakosti. Za průběh a výsledky review odpovídá určená osoba, tzv. moderátor. Moderátor by (pokud možno) neměl být autorem objektu review. Když však tato situace přece jen nastane, nesmí být moderátor současně i odpovědný za uvolnění objektu review pro jeho další použití.
Základním cílem každého review je nalézt všechny chyby, které se v objektu review vyskytují, a tím snižovat výdaje na jejich odstraňování v pozdějších fázích a zvyšovat tak spokojenost zákazníků.
Při provádění review je velice důležité dodržovat základní podmínku, a to:
Review slouží k posuzování objektu review, nikoliv k posuzování jeho autora!!!
Výhody a užitky review
a) Včasné rozpoznání chybného postupu vývoje produktu
Validace
Prostřednictvím review je objekt review prověřován vůči specifikovaným
a dokumentovaným požadavkům a očekáváním zákazníků:
"Vyvíjíme správný produkt?!"
Verifikace
Prostřednictvím review je objekt objektu review prověřován vůči
definovaným úkolům:
"Vyvíjíme produkt správně?!"
b) Včasné rozpoznání chyb a nedostatků
V praxi se již mnohokrát ukázalo, že čím více je odhalení chyby vzdáleno od místa a doby jejího vzniku, tím dražší je její odstranění v budoucnu!!!
Nasazením review se:
- významně zkracuje čas vývoje, neboť v následujících fázích není nutné
vynakládat tolik času hledání a odstraňování chyb;
- podstatně snižují finanční náklady na odstraňování chyb (opravy,
vícepráce, ...) a redukují se i celkové produkční náklady;
- zvyšuje jakost produktu (čímž se zvyšuje i spokojenost zákazníků),
neboť:
¶ objevené chyby nemohou být zataženy do následujících vývojových
fází;
¶ jsou objeveny i takové chyby, které by se projevily až při údržbě
produktu (neprůhledný kód, špatný nebo nedokonalý komentář apod.).
c) Rozpoznání možností zlepšování ve vývojovém procesu
Analýza objevených chyb umožňuje také rozpoznání systematických chyb a nedostatků přímo ve vývojovém procesu. Navržení, přezkoumání a přijetí optimálních opatření vede k nápravě tohoto stavu - racionalizaci vývojového procesu.
Důkaz prováděných opatření pro zajištění jakosti produktu (požadavek
ISO 9001):
1. Review-protokoly jsou vhodným důkazem provedených opatření pro zajištění
jakosti vyvíjeného produktu.
2. Dokumentovaná opatření k nápravě, která pocházejí z analýzy objevených
chyb, jsou důkazem neustálého zlepšování.
Plánování, organizace, průběh, zpracování výsledků a dokumentace review
Jak již bylo uvedeno výše, je review je plánovanou činností, proto výdaje (časové i finanční) a odpovědnosti (plánování, organizování, provedení, …), které jsou s review spojeny, musí být definovány a specifikovány již při plánování projektu.
I. Plánování review
Plánování review zahrnuje následující činnosti:
1. Definovat objekt review.
2. Stanovit cíle review.
3. Určit metodu review (popř. kombinaci metod), viz. kapitola 6.
4. Určit objem review (objekt review může být rozdělen i do více částí
a na těchto částech mohou být prováděna vlastní review)
5. Určit účastníky review (tým, který bude review dle zvolené metody
provádět) a zajištění jejich účasti na review.
6. Naplánovat termín provedení review.
II. Organizování review
Práce na organizování vlastního review začínají v okamžiku, kdy autor
může s jistotou stanovit termín dokončení prací na objektu review. Konkrétně
se vlastní organizování review skládá z těchto úkolů:
1. Na základě příslibů o účasti určit s konečnou platností účastníky
review, eventuálně jejich náhradníky.
2. S konečnou platností určit termín review.
3. Rezervovat vhodnou místnost (v případě techniky sezení).
4. Připravit podklady pro review (elektronicky nebo v papírové formě),
a to:
- objekt review;
- referenční objekty;
- checklisty;
- příslušné směrnice.
5. Rozdělit role v týmu dle zvolené review-metody (viz. kapitola 6).
6. Zaslat pozvánky k review.
III. Provádění review
Průběh review je vždy specifický, a to podle zvolené metody (viz. kapitola
6). Pro všechny metody však platí:
1. Po provedení review rozhodnout o výsledku review:
¶ "Objekt review je schválen";
¶ "Objekt review je podmíněně schválen po zapracování změn";
¶ "Objekt review bude přepracován a znovu podroben review",
kritéria pro toto rozhodnutí mohou být:
- nesplnění podstatných požadavků;
- objevení příliš velkého množství chyb;
- nedodržení podstatných konvencí / směrnic;
- nepřipravenost účastníků review;
¶ "Je nutné další pokračování review";
¶ "Objekt review je odmítnut" (s uvedením údajů).
2. Dohodnout termín pro:
¶ zapracování změn + termín pro jejich přezkoumání (pokud byl objekt review podmíněně schválen po zapracování změn);
¶ nové review (pokud bylo rozhodnuto o přepracování objektu a novém
review).
IV. Analýza chyb
Podstatnou částí review je analýza objevených chyb. Měla by být provedena bezprostředně po ukončení review. Jejím cílem není jen navrhnout odpovídající opatření k odstranění objevených chyb, ale i posouzení, zda se nejedná o chyby a nedostatky systematické (nedostatky ve vývojovém procesu nebo v procesu provádění review!!).
V. Odstranění chyb
Dle navrhovaných opatření k odstranění objevených chyb a nedostatků
provede autor objektu review v objektu příslušné změny a opravy.
Po provedení změn a oprav v objektu review je důležité jejich přezkoumání.
Možné výsledky jsou:
¶ "OK - uvolnění objektu";
¶ "Ne OK - přijetí nových změn a nového termínu jejich přezkoumání";
¶ "Přerušení - přepracování objektu a opětovné review".
VI. Uvolnění objektu review pro další použití
Po provedení změn a oprav v objektu review a po jejich kladném přezkoumání může být objekt uvolněn pro další použití.
VII. Dokumentace review
Nezávisle na použité review-metodě musí být každé review dokumentováno
ve formě review-protokolu. Review-protokol je po uvolnění objektu review:
1. Rozdělen všem účastníkům review.
2. Uložen v projektové dokumentaci jako záznam o jakosti.
Součásti review-protokol je:
1. Krycí list, který obsahuje věcné údaje o review: datum, místo,
objekt review a jeho verze, údaje o účastnících review (jméno, oddělení),
použitá review-metoda, ... .
2. List chyb, který obsahuje údaje o lokalizaci, popisu, váze
a třídě chyby a způsobu, jakým má být chyba odstraněna.
3. Protokol z analýzy chyb, který obsahuje popisy příčin závažných
nebo často se vyskytujících chyb a doporučená opatření k nápravě.
4. Protokol z analýzy průběhu review, který obsahuje možné návrhy
pro zlepšení procesu provádění review.
Vlastnosti účastníků review
Samotné provádění review je týmovou činností, členy týmu review jsou:
¶ autor objektu review;
¶ moderátor review;
¶ další účastníci review (zástupci zadavatele, zákazníka, techničtí
experti, nezávislí členové týmu, ...).
Obecně závisí složení týmu na objektu review, použité review-metodě a na specifických vlastnostech pracovníků, kteří jsou k dispozici. Je třeba věnovat pozornost též rozsahu znalostí, které jsou pro určité review vyžadovány.
Společné vlastnosti a schopnosti členů týmu
Kompetence | Členové týmu musí být schopni nezávisle reprezentovat svoje vlastní obory a funkce a konstruktivně předkládat svoje názory, doporučení a požadavky. |
Objektivita | Členové týmu musí vyhodnocovat informace podle podstaty věci bez předsudků nebo citového zaujetí. Předpojatost může proces review vážně ohrozit. |
Nedůtklivost | Členové týmu musí být ve své funkci, kdy jsou tázáni a odpovídají na otázky, vedeni k tomu, aby pochopili, že i s obtížnými a překvapujícími dotazy je třeba zacházet snášenlivě a konstruktivně. Autor NESMÍ být osobně kritizován! |
Připravenost na review | Členové týmu musí být dostatečně seznámeni s objektem review a na vlastním review se musí aktivně podílet. |
Schopnost pracovat v týmu | Review probíhá formou týmové práce, proto je tato schopnost velmi důležitá. |
Specifické vlastnosti a schopnosti moderátora a autora
Moderátor | Schopnost řídit tým pracovníků, vůdčí schopnosti.
Uznávaný odborník. Diplomatická chování, takt. Schopnost prosadit vlastní názor. Všeobecná znalost projektu. |
Autor | Vůle najít chyby.
Schopnost uznat vlastní chyby a schopnost poučit se z nich. |
Review-metody
1. Technika komentářů, speciální formou techniky komentářů je
Development Document Control (DDC).
2. Technika sezení, speciální formou techniky sezení je Intensiv-Inspektion.
add 1) Technika komentářů
V případě techniky komentářů vypracuje každý účastník review vlastní stanovisko k objektu review v podobě písemného komentáře. Jednotlivé komentáře jsou poté předány moderátorovi review, který je společně s autorem objektu review vyhodnotí a rozhodne o zapracování změn v objektu.
Průběh review technikou komentářů:
1. Autor dá k dispozici objekt review.
2. Moderátor předá/zašle účastníkům review příslušné
podklady (kopie objektu review, referenční dokumentaci, ...).
3. Účastnící review vypracují nezávisle na sobě písemná stanoviska,
tzv.komentáře.
4. Účastníci review zašlou stanoviska v předem dohodnutém termínu
zpět
moderátorovi.
5. Moderátor společně s autorem rozhodnou, které komentáře
a náměty
účastníků review budou zohledněny (odmítnutí zbylých komentářů
musí být zdůvodněno v review-protokolu).
6. Autor zapracuje změny do dokumentu.
7. Moderátor zašle všem účastníkům review review-protokol.
Pro předávání jednotlivých informací, podkladů a komentářů by mělo být z důvodu časových úspor v co největší míře využívány přednosti elektronické pošty.
Development Document Control - je speciální (rozšiřující) formou techniky komentářů, při které se několikrát opakuje cyklus vypracování stanovisek účastníky review a následných odpovědí autora. Každý účastník review má navíc přístup ke komentářům všech ostatních účastníků review a může k nim vypracovat vlastní stanovisko. Review je ukončeno až dosažením všeobecného konsensu.
add 2) Technika sezení
V případě techniky sezení obdrží účastníci review podklady k review
v dostatečné době před sezením, aby mohli objekt review důkladně přezkoumat
a připravit se tak na vlastní sezení. Samo sezení potom spočívá v diskusi
účastníků review o objektu review s cílem objevení a vyhodnocení nalezených
chyb (co musí být opraveno?).
Průběh review technikou sezení:
1. Autor dá k dispozici objekt review.
2. Moderátor naplánuje časový průběh review a zabezpečí, že
všichni
účastníci review budou mít včas k dispozici všechny potřebné
podklady (zkoumaný objekt, referenční dokumenty,
...).
3. Účastnící review připraví při přezkoumání dokumentu vlastní
seznamy chyb a nedostatků a zúčastní se předem naplánované review-schůzky.
4. Moderátor vede review-schůzku a moderuje ji:
- usměrňuje diskusi, aby byla věcná, neosobní, pokojná a omezila se
na rozpoznání chyb a nedostatků a ne na debatu o možných řešeních;
- dává pozor, aby se probral celý dokument a zúčastnění se mohli ke
každému řádku vyslovit;
- zaznamenává všechny chyby a nedostatky;
- dává pozor, aby debata byla dostatečně rychlá a nepřekročila časový
rámec;
5. Autor zapracuje změny do dokumentu.
6. Moderátor doručí každému účastníkovi review review-protokol.
7. Pokud je výsledkem review schválení objektu review s podmínkou zapracování
změn, prověří moderátor jejich zapracování.
Intensiv-Inspektion - je obzvláště účinnou formou techniky sezení. Inspekce se účastní minimálně
tři a maximálně šest inspektorů, kteří v maximálně dvouhodinových sezeních
prověřují objekt inspekce. Každý inspektor má navíc specifickou roli (moderátor,
autor, čtenář, prověřovatel):
- moderátor organizuje a vede inspekci a snaží se koncentrovat
diskusi na jediný cíl - nalezení chyb v objektu inspekce;
- čtenář během inspekce prezentuje vlastními slovy odstavec
po odstavci obsah objektu inspekce (musí být proto maximálně dobře a podrobně
seznámen s objektem inspekce);
- prověřovatel kontroluje objekt inspekce dle předem určených
kritéria.
Kritéria výběru review-metody
Existují tři základní kritéria, která ovlivňují výběr review-metody:
- doba trvání review;
- náklady spojené s provedením review;
- kvalita review.
V následující tabulce jsou uvedeny výhody a nevýhody jednotlivých metod
review:
Review-metoda | Výhody metody | Nevýhody metody |
Technika komentářů |
Je možný větší počet účastníků (více názorů)
|
Dopředu není zajištěno dosažení závěrečné shody mezi autorem, moderátorem a účastníky
review.
Chybí konstruktivní dialog. Obecně menší množství objevených chyb ve srovnání s technikou sezení. |
Development Dokument Control | Vícenásobný dialog (lepší dosažení shody mezi účastníky review). | Dlouhá doba zpracovávání komentářů. |
Technika sezení | Vyšší počet nalezených chyb.
Možnost rychlého vysvětlení nejasností a otázek. Podpora komunikace a výměny know-how. |
Menší počet účastníků.
Místo konání review je relevantní (Amerika <=> Evropa). Je důležité přesné naplánování termínu konání review. Vyšší náklady na přípravu. Možné negativní psychologické vlivy (antipatie mezi účastníky sezení, tlak představených, ...). |
Intensiv-Inspektion | Stejné jako u techniky sezení, metoda Intensiv-Inspection je však efektivnější a účinnější, tzn. větší počet objevených chyb při menších nákladech na jednu objevenou chybu. | Stejné jako u techniky sezení, navíc nutné školení účastníků v metodě Intensiv-Inspection. |
Z výše uvedených výhod a nevýhod jednotlivých metod plyne, že Intensiv-Inspection
je nejefektivnější a nejúčinnější metodou (zároveň se však vyznačuje i
nejmenší rychlostí, tzn. k jejímu provedení je potřeba nejvíce času). Počet
nalezených chyb však ve vztahu ke ztrátám na rychlosti stoupá exponenciálně.
Hlavními oblastmi nasazení Intensiv-Inspection by měly být tedy takové
oblasti, ve kterých by výskyt většího chyb mohl způsobit podstatné zvýšení
nákladů.
Smysluplná a v praxi několikrát ověřená je i kombinace několika metod provádění review, např. review jednotlivých kapitol dokumentu formou techniky komentářů a poté Intensiv-Inspection.
Z praxe vyplynulo, že při častém používání review se díky zvyšujícím
se zkušenostem a schopnostem členů týmu review daří:
- zkracovat dobu trvání review;
- snižovat celkové výdaje související s objevením jedné chyby;
- zvyšovat počet objevených chyb v objektu review.
Závěr
Bez ohledu na četnost nebo hloubku provedení však nemůže review nahradit dobré definování požadavků na produkt, dobrou specifikaci†návrhu ani samotné řešení. Pokud se používá jako řídící proces, může však review poskytnout nezbytné prověření, zda bylo v daném čase úspěšně završeno úsilí věnované návrhu.
Review je nezávislá činnost a pokud se řádně provede, zvyšuje důvěru
v to, že byly činnosti při návrhu prováděny s náležitým ohledem ke všem
přiměřeným požadavkům ve všech etapách života výrobku.
Seznam literatury:
[1] SIEMENS AG ÖSTERREICH, PROGRAMM- UND SYSTEMENTWICKLUNG: Reviews,
Leitfaden zur Planung, Durchführung und Dokumentation von Reviews. SIEMENS AG Österreich, Programm- und Systementwicklung, Wien. 1995. Version 1.0
[2] Norma ČSN IEC 1160 Oficiální přezkoumání návrhu. Praha, ČNI 1994
[3] PLURA, J.: Plánování jakosti a jeho metody. Ostrava, skripta VŠB-TU
Ostrava, 1997
Důležité odkazy
Internetové stránky společnosti ANF DATA, spol. s r.o. - www.anfdata.cz
Intrernetové stránky společnosti PSE SIEMENS AG Österreich - www.pse.siemens.at
Kontakt na autora:
E-mail:
Vlastimil Nešetřil
Zveřejněno: Záři 2001