Revize kódu jako nástroj pro zvyšování kvality (Ukázka z aktuálního CW č. 3)

16. 2. 2007

Sdílet

V současnosti se softwarové společnosti snaží zvýšit kvalitu svých produktů. Pro tento účel používají různé standardy jako třeba CMMI (Capability Maturity Model Integration). V jeho rámci je jedním z doporučených postupů verifikace produktu a jako jeden z nástrojů se používá revize kódu.

V současnosti se softwarové společnosti snaží zvýšit kvalitu svých produktů. Pro tento účel používají různé standardy jako třeba CMMI (Capability Maturity Model Integration). V jeho rámci je jedním z doporučených postupů verifikace produktu a jako jeden z nástrojů se používá revize kódu.

Výsledky získané ze studií prováděných na skutečných vývojových projektech ukazují, že revize kódu může snížit náklady na opravy chyby na polovinu a že pomůže najít i více případných chyb. Úspory na projektu s deseti vývojáři dosahují hodnoty 150 tisíc dolarů. Přes tyto nesporně zajímavé výsledky není revize kódu příliš oblíbeným nástrojem. Viníkem může být nedostatek spolupráce při samotném vývoji.

V procesu sběru požadavků a návrhu je běžné, že se svolávají schůzky, na nichž manažeři, zákazníci, architekti a vývojáři spolupracují na definici budoucího výsledku. Důvodem takových meetingů je to, že náprava omylů v této fázi je velmi nákladná. Ve fázi vývoje ale lze pozorovat jiné chování. Vývojáři pracují samostatně na přidělených úlohách a spolupráce je omezena na sdílená rozhraní. Revize kódu proto opětovně zavádí prvek vzájemné spolupráce. (Je vhodné si připomenout, že skoro každá kniha obsahuje poděkováni profesionálním editorům za pomoc při odstraňováni chyb. Proč tedy nepoužít tento přístup i v programování?)

V současnosti by pravidelné revize kódu měly být logickou komponentou vývojového procesu. Revize kódu přináší následující přímé a nepřímé výhody (viz. následující tabulka).

Revize kódu
Přímé výhody
Nepřímé výhody
Vyšší kvalita kóduZkrácení cyklu vývoj/test
Méně defektůRedukce dopadů na technickou podporu
Lepší komunikace o obsahu kóduVyšší spokojenost zákazníků
Vzdělávání začínajících programátorůLépe udržovatelný kód

Bohužel mezi samotnými programátory často existuje velký odpor vůči této aktivitě. Příčinami mohou být spory při plánování schůzek a někdy i ego jednotlivých programátorů. Programátoři mají tendenci považovat programování za umění, kde se vytváří a objevuje řešení nějakého problému – na rozdíl od inženýrského přístupu, kde se aplikují známá řešení. Programátoři často mají pocit, že čas strávený revizí jim nepřinese odpovídající přínosy ve smyslu zlepšení kvality...

Toto je ukázka z hlavního článku z nedávno vyšlého, 3. čísla časopisu Computerworld.


Více se o tomto vydání dozvíte zde (obsah čísla).