Přezkoumání návrhu (REVIEW) při vývoji SW
(Systementwicklungmethode - Vorgehensmodell)

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ů)
Místo konání review není relevantní (Amerika <=> Evropa).
Není důležité přesné naplánování termínu konání review.
Není nutné zajišťovat odpovídající místnost pro konání review.
Odpadají náklady na konání review.

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