Je doba k vývojářům krutá?

1. 5. 2009 13:12 Svatopluk Vít

Poslední dobou se mi zdá, že se i vývojáři open source projektů dostávají do nekonečné smyčky vysvětlování zpoždění, které je tak charakteristické pro komerční firmy. Já to ale chci otočit. Opravdu jsme my uživatelé tak nedočkaví a vývojářům nevěříme?

Jste komerční firma a vyrábíte třeba hry. Rozhodnete se, že vyrobíte a na trhu budete distribuovat vaši SupeHru. Vydáte tiskovou zprávu, že byl zahájen vývoj a pro ukojení zvědavosti zveřejníte několik snímků obrazovek. O SuperHře se bude mluvit. Vývoj nějakou dobu trvá a samozřejmě, že se vyskytnou problémy. Tu nějaký zádrhel v kódu, tu nějaký problém s HW. Váš projekt začne nabírat zpoždění proti plánu. Každý řízený projekt má plán. U SW však někdy bývá problém v tom, že slavnostně oznámíte, že dne toho a toho, bude projekt k dispozici. Nechali jste si sice nějakou rezervu, ale máte zpoždění, které „sežere“ i tu rezervu.

Jaké možnosti řešení se nabízejí?

  1. Dělat jakoby nic a vydat neotestovanou/nehotovou/nedodělanou verzi na trh a počítat s tím, že rychle vydáte „update“, který vše vyřeší
  2. Problémové funkce/vlastnosti vypustit a oznámit, že se objeví v následující verzi
  3. Oznámit, že projekt má zpoždění, ale že na tom děláte. Pak dáte datum, kdy si myslíte, že by vše mohlo být hotové.
  4. Oznámit, že nestíháte a že nevíte, kdy to vyjde. Originláním řešením je prohlásit, že to bude, až to bude hotové.

Rozeberme si body z pohledu komerční firmy. Bod číslo 4 je vražedný. Ale jen z pohledu, pokud se jedná o projekt nový či mezi vydáním verzí uplynula dlouhá doba. Bod 3 se může vymstít tehdy, pokud se nepodaří dodržet ani druhý termín. Postupné odkládání pak nemusí působit v očích zákazníků moc dobře. Bod 2 se vám může vymstít ve chvíli, kdy určití zákazníci čekají na vlastnost, kterou váš produkt měl mít a ve výsledku nemá. Bod 1 je sebevražedný ve chvíli, kdy se na váš produkt vrhnou recenzenti a začnou nedostatky vynášet na denní světlo. Reputaci si můžete napravit, když pokorně řeknete, že popsané chyby v aplikaci skutečně jsou, ale že na nápravě se pracuje. Čím kratší čas od vydání „finální“ verze uběhne do doby, kdy vyjde update, tím lépe a tím méně si pošramotíte pověst. Komerční programy mají obvykle delší cykly vydávání nových verzí než open source projekty.

Z pohledu open source projektů je zjevné, že nemusejí tolik podléhat tlaku zákazníků. Poslední dobou jsme však svědky situací, kdy tomu tak není. Uveďme si nějaké příklady. Typickou ukázkou problému z bodu jedna je KDE 4. Verze označená KDE 4 finální měla k „finálnosti“ daleko. Až teprve po půl roce můžeme tvrdit, že teď už je možno označit aktuální verzi jako finální.

Příkladem bodu 2 je (jak jsem se včera dozvěděl z Manganova blogu odsud, respektive v původním zdroji NP237 na livejournal.com) GNOME ve verzi 2.24. Tak dlouho zlobil správce sezení, až byl vypuštěn. Jak jsem pochopil, bylo to prezentováno jako vylepšená vlastnost.

Příklad bodu číslo 3 jsou v současnosti produkty Mozilla (Firefox a Thunderbird). Původně oznámené termíny nebudou dodrženy a spekuluje se o tom, zda se stihnou i ty další. Příkladem k bodu číslo 4 nechť je např. Joomla nové větve 1.5, jejíž ohlášení a vydání finální verze dělí více než 2,5 roku. Po celou dobu vývojáří říkali, že nová verze bude, až bude hotová. Záměrně se o termínech nemluvilo. To, že drtivá většina uživatelů tohoto CMS u něj i přes toto „katastrofální“ určování termínu, lze považovat za malý zázrak. Další ukázkou může být i projekt firmy Evrsoft, která vydala svůj HTML editor FirstPage 2000 s odkazem na to, že co chybí, bude v nové verzi, která bude brzo. Projekt měl nakonec několik let zpoždění a správci diskuzního fóra do pravidel diskuzí zamontovali bod o tom, že je striktně zakázáno ptát se na datum vydání nové verze pod hrozbou zablokování přístupu.

Celé toto shrnutí mne však přivádí na myšlenku – opravdu jsme my uživatelé tak netrpěliví, že nás musí vývojáři chlácholit nějakými termíny a že se svět zboří, když vyjde slibovaná verze např. o 14 dní později? Opravdu byste nedali radši přednost odzkoušenému produktu se zpožděním před nehotovým ale včas (dle slíbeného termínu)? Opravdu si myslíte, že program, který nevydá co půl roku novou verzi je mrtvý?

Jak jinak si vysvětlovat neustále se objevující zklamání uživatelů třeba v souvislosti s vydáváním Mozilla produktů? Mají zpoždění, ale copak se ty stávající verze nedají používat? Proč vycházely nedodělky typu OpenOffice.org Base v OOo 2? Opravdu chceme tlačit na vývojáře open source, podobně jako na komerční vývojáře? Musí vyjít nové OOo přesně tehdy a tehdy?

Sdílet