Opakovaně zjistíte, že až 50% projektů vývoje softwaru na zakázku selhává. Tento odvěký problém je noční můrou mnoha CTO a technických manažerů. Na druhou stranu díky předchozímu varování můžete sebe i svůj tým připravit a minimalizovat riziko neúspěchu.
V technologickém průmyslu se opakovaně setkáváte s tím, že až 50-70% *vlastní vývoj softwaru projekty selhání na konci. Tento odvěký problém je noční můrou mnoha lidí. CTOs a technickým manažerům. Na druhou stranu, díky včasnému varování můžete připravit sebe a své tým a minimalizovat riziko selhání. To je výzva, kterou řeší každý tým vývojářů, produkt návrháři a vy - jako vedoucí - byste se měli setkat.*
Nepochybuji o tom, že zakázkový software projekty jsou náročné a pro úspěch je třeba dbát i na ty nejmenší detaily. Upřímně řečeno, když jsem se podíval na statistiky k tomuto tématu, žasnu nad rozsahem problému. Osobně jsem si uvědomil, jak je to důležité, když jsem četl příběhy firem, jejichž spolupráce s technickými partnery skončila neúspěchem nebo jejich tým přišel o projekt z důvodu výrazného překročení rozpočtu nebo termínu.
Začal jsem přemýšlet, proč by tomu tak mělo být. Mám několikaleté zkušenosti s projekty vývoje softwaru na zakázku, takže mě toto téma obzvlášť zajímalo. Rozhodl jsem se, že na základě vlastních zkušeností určím všechny největší hrozby spojené s. *vývoj softwaru na zakázku, o kterou se s vámi nyní podělím.*
Můj osobní seznam největších problémů při vývoji softwaru na zakázku
-
Jazyková bariéra. To je jeden z nejčastějších problémů, když lidé hledají technického partnera. Nepochybuji však o tom, že tento faktor lze snadno vyřešit. Stačí si totiž vybrat partner pro vývoj softwaru kteří mohou zaručit bezproblémovou komunikaci. Plynulá znalost angličtiny je povinná. Je to mezinárodní jazyk a bez něj se nedá správně komunikovat. Představte si situaci, že chcete s vývojářem mluvit o nějakém problému nebo chybě. Pokud se ukáže, že jediná osoba, která umí anglicky, je projektový manažer, který není technický pracovník, nastane problém. Jistě víte, že komunikace s vývojáři - má-li být efektivní - musí být velmi přesná, což vyžaduje znalost anglického jazyka. Pamatujte si toto jednoduché pravidlo.
-
Špatná komunikace. Komunikační aspekty do jisté míry souvisejí s jazykovou bariérou. Kromě jazyka musíte být přesvědčeni, že vaše každodenní spolupráce je dobře organizovaná. Podle mého názoru je tento aspekt často přehlížen. Kompetence vývojový tým může být nezbytnou součástí jejich práce, ale stejně tak je důležitá i komunikace s klientem. Kromě toho - a to vím z vlastní zkušenosti - pokud je proces vzájemné komunikace správně řízen, celý projekt probíhá mnohem efektivněji a vy se vyhnete zbytečným problémům, jako je například zpoždění.
-
Přerušení lhůt. Jedná se o velmi častou situaci, kterou jste možná sami zažili. Je velmi obtížné odhadnout časový rámec pro projekty vývoje softwaru. Často jsou počáteční předpoklady zcela chybné. Neschopnost dodržet termíny může být ovlivněna mnoha faktory, včetně těch, které popisuji v tomto článku. Myslím, že zde hraje velkou roli správný způsob řízení projektu. Doporučení? Určitě Scrum.
-
Nedostatečné znalosti. Projekty vývoje softwaru obvykle vyžadují široké znalosti technologií. To představuje velkou výzvu, uvážíme-li, že technologie se neustále vyvíjejí a vývojáři musí mít přehled o všech novinkách. V tomto bodě je důležité, aby váš vlastní tým měl přehled o technologických novinkách. To není tak samozřejmé, jak by se mohlo zdát, zejména když se je realizován projekt vývoje softwaru interní malou skupinou vývojářů. Může nastat situace, kdy se ukáže, že kompetence vašeho týmu jsou nedostatečné, což může rychle vést k problémům a následně k neúspěchu vašeho projektu.
-
Nesouvislá vize. Představte si situaci, kdy se pustíte do spolupráce s technologickým partnerem - např. softwarový dům a promluvte si o svých potřebách. Podrobně popíšete produkt, který chcete vytvořit. Zpočátku se zdá, že vše jde hladce. Postupem času se však ukáže, že vaše představa je zcela odlišná od představy vašeho partnera. V důsledku toho vzniká problém, protože práce týmu vývojářů a návrhářů produktu nesplňuje vaše očekávání.
Myslím, že se jedná o poměrně častý problém. Někdy je obtížné skloubit vizi klienta s "tvrdými" řešeními, která používají vývojáři. V této situaci se určitě hodí zkušenosti technického týmu a měkké dovednosti. Je důležité, aby váš technický partner splnil vaše očekávání, ale jako zákazník si musíte být vědomi, že určité řešení navržené softwarovou společností se ve skutečnosti může ukázat jako efektivnější. Mějte to na paměti.
-
Změny v průběhu projektu. V případě IT projektů jsou nejobvyklejšími hrozbami scope creep (ze strany vlastníka) a gold planting (ze strany PM, Scrum Master nebo vývojářů). Nekontrolované změny v projektu, přidávání nových funkcí nebo zavádění změn nepochybně spadají do hrozeb ovlivňujících efektivitu i rychlost projektů. Správným přístupem k řízení je zajistit, aby první klíčová fáze byla 100% přesná, protože to ovlivní pozdější úspěch projektu.
-
Nedostatečné finanční prostředky na vývoj projektu. Financování je v podstatě jedním z nejdůležitějších faktorů úspěchu vašeho projektu. To je zřejmé. Rád bych však upozornil na trochu jiný aspekt. Je důležité, abyste měli zaručený rozpočet v dlouhodobém horizontu, a ne pouze na období vývoje předpokládané na samém začátku. Proč tomu tak je? Důvod je jednoduchý. Velmi často se stává, že se doba vývoje prodlouží až o 20-30%. S tím musíte počítat, aby byl váš projekt finančně zajištěn. Minimalizujete tak riziko, že váš projekt bude ještě ve fázi vývoje, když se začnou objevovat nedostatky v rozpočtu. To přímo souvisí s nesprávně odhadnutou dobou trvání projektu.
-
Nedefinované hrozby a slabé stránky. Před zahájením projektu pravděpodobně víte, že celý proces nemusí být jednoduchý. Pravděpodobně se mnou budete souhlasit, že každý projekt je výzvou. Proto si myslím, že než se do něj pustíte, měli byste analyzovat potenciální hrozby a slabiny, které mohou ovlivnit konečný výsledek. Je důležité tyto hrozby od samého počátku řádně zvládnout.
Souhrn
Nerad bych naznačoval, která z výše uvedených hrozeb je nejčastější. Myslím, že pro to neexistuje žádné pravidlo - vše závisí na specifikách projektu. Pokud však stojíte před výzvou úspěšně realizovat vlastní projekt, mějte na paměti to, co jsem zde napsal. Myslím, že zohlednění mnou popsaných problémů pro vás může být vodítkem, které vám naznačí, co nedělat a jak se s hrozbou vypořádat. To vše proto, abyste se nestali obětí brutální statistiky, ale naopak projekt úspěšně dokončili.
A to je to, co vám přeji. Máte-li jakékoli dotazy týkající se vývoj softwaru na zakázku, prosím, kontaktujte mě. Rád vám na všechny odpovím.
Přečtěte si více:
Proč se vyplatí mít růstový tým odpovědný za rozvoj podnikání? Případová studie společnosti Codest
Jak najít vhodný produkt pro trh?