Proč selhávají softwarové projekty? Technologie v tom bývá nevinně, klíčová je komunikace
Když se řekne nepovedený IT projekt, většina lidí si představí spadlý server, špatně zvolenou databázi nebo nešikovného programátora, který napsal děravý kód. Realita je ale často prozaičtější. Podle našich zkušeností (a potvrzují to i globální statistiky) většina projektů neselže na technologiích. Python, React nebo cloudová infrastruktura fungují přesně tak, jak mají. Projekty nejčastěji narážejí na mnohem méně předvídatelný prvek: na lidi a jejich vzájemnou interakci.
Vývoj softwaru není nákup rohlíků, kde zaplatíte u pokladny a odcházíte s hotovým produktem. Je to spíše stavba domu na míru. A stejně jako u stavby domu, i tady platí, že pokud investor přestane zvedat architektovi telefony nebo se přijde podívat na staveniště až ve chvíli, kdy se předávají klíče, výsledek bude pravděpodobně rozpačitý. Úspěšná aplikace nevzniká v bublině vývojářské agentury, ale v neustálém dialogu mezi námi a vámi.
Tichý klient
Jedním z nejčastějších red flagů projektů je situace, kdy klient po podpisu smlouvy „zmizí“. Má pocit, že zadání bylo předáno, záloha zaplacena, a teď je řada na vývojářích. Jenže agilní vývoj vyžaduje zpětnou vazbu. Pokud se nás ptáte na názor, tak my potřebujeme vaše vstupy pravidelně. A po měsíci ticha se často ukáže, že se projekt vydal směrem, který sice dává technický smysl, ale byznysově míjí cíl.
Nemáme čas na testování
Tohle je věta, která spolehlivě rozsvítí varovnou kontrolku u každého projektového manažera. Ano, my testujeme. Máme automatizované testy, unit testy a dedikované QA testery, kteří hledají technické chyby. Testování ze strany klienta (tzv. UAT – User Acceptance Testing) není o hledání chyb v kódu, ale o ověření, zda aplikace skutečně funguje vaší ergonomií. To vy budete aplikaci dennodenně používat.
Často se stává, že klient z časových důvodů testování odkládá. „Podívám se na to o víkendu,“ říká týdny, zatímco vývoj pokračuje. Pak přijde den spuštění a najednou je panika: „Ale takhle jsme to nemysleli, tohle tlačítko má dělat něco jiného a není zelené!“ Tyto připomínky měly přijít před měsícem. Opravovat logiku aplikace ve fázi hotového produktu je násobně dražší a stresující, než ji ladit průběžně.
Nebojte se říct NE
Dalším čistě lidským faktorem je neschopnost říct ‚ne‘ nebo ‚nechte to na později‘. Často začneme stavět MVP (minimální životaschopný produkt), ale v průběhu vývoje klienta napadají další a další skvělé funkce. „Ještě tam přidejte tuhle kolonku“ a „tamto by mohlo blikat“. Pokud se tyto nápady neřídí, projekt bobtná, termíny se posouvají a rozpočet krvácí. Proto je tu náš projekťák, který vám řekne, že teď pro blikání není vhodná chvíle. Stejně tak vy máte plné právo říct „úprava fontu počká po releasu“.
Technologie jsou dnes pokročilé a zvládnou téměř cokoliv. To nejtěžší na vývoji softwaru je paradoxně soft část – disciplína, komunikace a ochota investovat čas do průběžné kontroly. Pokud hledáte partnera pro vývoj, nehledejte jen někoho, kdo umí psát kód. Hledejte někoho, kdo vás nenechá ve vývoji osamotě a kdo vás donutí si ten čas nejen na testování najít.







