Kolega se u nás ve firmě v minulém týdnu podělil o zajímavý článek na téma “Proč nedávat záruku na software”.
Autor v něm rozebírá některé důvody, proč je záruka na kvalitu běžného softwarového díla nepraktická pro obě strany, a že je běžné, že je software bez záruky. Nabízí také alternativní způsob zaručení, že předané softwarové dílo takzvaně “dělá co má”.
Autor v článku zmiňuje pár myšlenek, které se dle mého názoru vyplatí zvýraznit.
Komplexita softwaru
První z nich je komplexita softwaru. Mezi lidmi je rozšířená rozšířená fikce o intuitivnosti (čehokoliv), ovšem intuitivní software neexistuje o nic víc než intuitivní mamut. Mezi intuitivní aktivity bych zahrnul například kojení, ale těžko bude někdo argumentovat, že lidé mají vrozenou schopnost řídit auto či tvořit tabulky v Excelu. Všechno toto jsou předané zkušenosti. V těch naopak lidé vynikají nad všemi ostatními živočišnými druhy – tedy schopností předávat si zkušenosti nepřímo. Nebo chcete-li, umíme číst manuály. To ovšem neznamená, že by to někoho kdovíjak bavilo.
Opravdu dodržujeme manuály?
A pak pochopitelně další kapitola sama pro sebe je dodržování těchto manuálů. Věřím, že naprostá většina z nás byla konfrontována s promokavostí obuvi přímým zážitkem – tedy střetem s deštěm, kaluží, případně smolaři tímto způsobem. Když se tu obuv pokusíte vrátit do obchodu, tak vám řeknou, že v návodu je jasně napsáno, že není odolná vůči vodě a že jediný druh bot, u kterých je to (při správném použití) garantováno, jsou gumáky.
Software se zárukou?
Další významná myšlenka bylo to, že se zárukou de-facto výrobce stává pojišťovnou. Oni totiž i existují výrobci softwaru, co záruku dávají. Vyrábějí software v našich autech, pračkách a chladničkách. Tito výrobci pochopitelně nechtějí být pojišťovnami, takže si pojištění zakoupí od skutečné pojišťovny. A ta po nich požaduje nějaké doklady, které indikují kvalitu softwaru. Stejně jako při životním pojištění projdete zdravotní prohlídkou (která ovšem není garancí, že jste stoprocentní zdraví), tak podobně to lze dělat i u softwaru.
Má to ale několik zásadních úskalí. Vezměte si, jaké máte možnost ovládání u chladničky (tedy potenciálních možností, kde se to může pokazit). Když si odhadnete poměrem počet ovládacích prvků chladničky a auta, tak by podle toho mohla i sedět cena. Zkuste si teď představit, kolik by tímto způsobem stál e-shop na WordPressu, zmiňovaný v článku. U aut se není čemu divit – na software, který není možné opravovat za provozu, je třeba kvalifikace jiného stupně. Pro ukázku nabízím jeden možná (ale jistě ne jediný) indikátor, a to inzeráty pracovních pozic – zde první a druhý inzerát při hledání “embedded vývojář Ostrava”. Zvolil jsem Ostravu, protože je to domácí město naší firmy, ať je zřejmé, že to netáhnou nahoru životní náklady v Praze.
Proto se většina softwaru dodává bez záruky – protože chcete začít podnikat, ne čekat na prohlídky a pojištění, platit miliony a číst deset návodů o rozsahu Bible.
(Bonusové ponaučení z příkladu aut a chladniček – čím méně toho software dělá, tím méně se toho může pokazit.)
Ing. Jakub Macek
Analytik, vývojář
Analytik, důsledný, neuteče mu sebemenší detail. Jakub ctí řád, všechno má svá pravidla. Pokud něco nevíte, zeptejte se Jakuba.