Hlavní navigace

63000 chyb ve Win2000 - co to vlastně znamená?

Michal Krause

Malé zamyšlení nad střetem dvou filosofií vývoje softwaru a také nad tím, zda má uživatel naději dočkat se odstranění alespoň poloviny z těchto chyb ve Windows 2000.

Nedávno prosákla na povrch zpráva, že Windows 2000 obsahují přibližně 63000 chyb. To je známá věc. Ale z jiného úhlu se na to podívali na PC Weeku. Jejich zajímavá studie se zaobírá mimo jiné také finančním aspektem věci. Podle nejoptimistič­tějších odhadů prý dosáhnou náklady na odstranění všech chyb přibližně 40 až 60 milionů dolarů. Tato suma vychází z předpokladu, že na jednu chybu bude třeba vyhradit asi 1000 dolarů – to pokryje zhruba 10ti hodinovou práci týmu specialistů plus režijní náklady. Není ale vyloučeno, že ve skutečnosti budou opravy stát až desetkrát tolik. Přitom prevence proti chybám je prý desetkrát levnější a přísnější specifikace požadavků ještě před započetím vývoje projektu dokonce padesátkrát až dvěstěkrát levnější, než odstraňování nedostatků.

Nechci být přílišným pesimistou, ale mám pocit, že výše uvedená fakta znamenají hlavně to, že odstranění všech chyb se uživatelé vůbec nedočkají. Nad spoustou z nich se mávne rukou a ohodnotí se jako nepodstatné. Řekněme, že půjde o polovinu z nich. Zbude asi 30000 problémů k odstranění. Jsem skromný a tak budu počítat, že v průměru bude potřeba pět hodin na odstranění každé závady, že na to bude vyhrazeno deset pracovních skupin a každá z nich bude pracovat 12 hodin denně, včetně sobot a nedělí i svátků. Jednoduchým výpočtem mi vychází, že náprava všech chyb bude trvat

5 * 30000 / 24 / 365 / 10 * 2 = 3,42 roku!

Za tu dobu už možná žádný Micro$oft nebude existovat a pokud ano, bude už o dvě verze Windows dál a po W2000 neštěkne ani kočka. Dalším aspektem jsou samozřejmě finance. M$ není firma z nejchudších, ale další utracené desítky milionů dolarů určitě bude muset svým akcionářům nějak vysvětlit.

Hodně lidí argumentuje tím, že chyby jsou v každém softwaru a že nikdy neviděli žádný software, který by prošel tak důkladným testováním. Prý jestli někdy nějaký produkt měl 750 000 betatesterů. Jenže… K čemu jsou statisíce testerů, když dostanou na stůl de facto hotový produkt? V době, kdy už je pozdě na koncepční změny, kdy už většinou nelze odstraňovat příčinu, ale jenom důsledek? To už je myslím trochu pozdě.

Tohle je přesně ten střet dvou světů, dvou přístupů, dvou filosofií. Uzavřený versus otevřený vývoj softwaru, katedrála versus tržiště v terminologii zavedené Ericem Raymondem. Každý software zřejmě obsahuje chyby, už jenom proto, že musí běhat na tak různorodém hardwaru a za naprosto nekonstantních podmínek, že není možné otestovat všechno. Jenže pokud není software k dispozici testerům od prvotní fáze vývoje, dojde ke dvěma jevům. Chyby se nahromadí a pak už se jenom těžko odhalují, protože nikdo pořádně neví, co souvisí s čím. Velký moloch se pochopitelně ladí hůře a navíc dopředu nevíte, se kterou komponentou se chyba v systému objevila.
Druhým problémem jsou koncepční vady. Otevřený způsob vývoje znamená, že se na věc podívá tisíc lidí z tisíce různých úhlů a to je jediná rozumná metoda, jak odhalit potenciální problémy dříve, než vzniknou. Víc hlav víc ví, říkaly už naše babičky a měly pravdu.

Tento článek se nesnaží dokázat, že by W2000 byly špatný systém, to bych si nikdy nedovolil tvrdit bez osobní zkušenosti, ale spíše se snažím poukázat na to, že vývojová metoda „katedrála“ se opakovaně ukazuje jako problematická a nedostatečná. Čím větší systém, tím silnější je její negativní dopad. A koneckonců, W2000 na tom nejsou tak zle. Podle výše citované analýzy jsou v nich necelé dvě chyby na 1000 řádků zdrojových kódů, což je o 80 procent lepší, než stav, který Steve McConnell, uznávaný specialista na kvalitu softwaru, označuje jako signál k přepsání celé aplikace :)

Našli jste v článku chybu?