Zpět na blog
Software na míruŘízení projektůByznys strategieVývoj softwaru

Proč je analýza základem každého úspěšného softwarového projektu

Většina softwarových projektů neselhává ve vývoji — selhává ještě před napsáním prvního řádku kódu. Zjistěte, proč je analýza nejdůležitější investicí, kterou můžete udělat.

Proč je analýza základem každého úspěšného softwarového projektu

Zeptejte se kohokoli, kdo zažil bolestivý softwarový projekt, co se pokazilo — a odpověď téměř nikdy nezní „vývojáři napsali špatný kód." Mnohem častěji uslyšíte něco jako: „Postavili jsme něco špatného" — nebo „Netušili jsme, co vlastně potřebujeme, dokud jsme nebyli v půlce."

Právě tento problém řeší dobrá analýza. A proto zkušené softwarové týmy trvají na analýze ještě před napsáním jediného řádku kódu.

Co „analýza" v softwarovém projektu vlastně znamená

Analýza je fáze, ve které přesně zjistíte, co je potřeba postavit — a proč.

Nejde o dlouhé setkání, kde někdo zapíše seznam funkcí. Správně provedená analýza zahrnuje:

  • Pochopení vašich firemních procesů — jak dnes práce ve vaší organizaci proudí, kde jsou úzká místa a jaké výsledky musí software podporovat
  • Definování správného rozsahu — co bude součástí projektu, co záměrně ne a v jakém pořadí by se mělo budovat
  • Včasné odhalení rizik a omezení — technických, organizačních nebo regulačních problémů, které ovlivní vývoj
  • Sladění všech zúčastněných na cíli — aby váš tým, vývojáři i ostatní spolupracovníci sdíleli jediné, konkrétní porozumění tomu, jak vypadá úspěch

Výstupem jsou typicky strukturované dokumenty: uživatelské příběhy, procesní mapy, drátěné modely nebo funkční specifikace — podle složitosti projektu a použité metodiky.

Proč tolik klientů chce analýzu přeskočit

Analýza stojí peníze a zabere čas. Ani jedno z toho se nepříjemně necítí, když se nemůžete dočkat, až začnete stavět. Je zcela přirozené mít pocit, že platíte za papírování místo za software.

Někteří klienti jsou také upřímně přesvědčeni, že přesně vědí, co potřebují. Přemýšleli o tom měsíce. Mají náčrtky, tabulky, možná i prezentaci. Proč by tedy potřebovali, aby to někdo znovu zjišťoval?

Upřímná odpověď: protože vědět, co chcete, není totéž jako vědět, co postavit.

Majitel firmy dobře rozumí svému problému. Vývojový tým rozumí tomu, jak problémy řešit pomocí softwaru. Analýza je místem, kde se tyto dva druhy znalostí setkávají — a kde se stane viditelná mezera mezi nimi.

Tato mezera je téměř vždy větší, než se zdá.

Co se stane, když analýzu přeskočíte

Nejdražší softwarové projekty jsou ty, ve kterých byla analýza přeskočena ve jménu rychlosti.

Typicky se pak děje toto:

Rozsah se v průběhu projektu rozrůstá. Jak probíhá vývoj, objevují se nové požadavky, na které nikdo na začátku nemyslel. Každý z nich přidává náklady a odsunuje termíny. Říká se tomu scope creep — a je to zdaleka nejčastější důvod, proč softwarové projekty překračují rozpočet.

Postaví se to nesprávné. Vývojové týmy staví přesně to, co jim bylo řečeno. Pokud byl zadávací dokument vágní nebo neúplný, výsledek bude vágní nebo neúplný — a bude drahý na předělání.

Integrační problémy se objeví pozdě. Pokud má nový systém propojit vaše stávající nástroje — ERP, účetní software, e-commerce platformu — a nikdo tyto spojení předem nezmapoval, problémy zjistíte v nejhorší možnou chvíli: když je rozpočet vyčerpán a termín minul.

Zainteresované strany se neshodují na konci. Když mají různí lidé v organizaci různé představy o projektu, tyto rozdíly se ukáží při testování nebo spuštění — ne na začátku, kde by byly snadno řešitelné.

Systém je technicky zvládnutý, ale prakticky nepoužitelný. Software, který neodpovídá tomu, jak lidé skutečně pracují, bude odmítnut, obcházen nebo opuštěn — bez ohledu na to, jak dobře byl postaven.

Co dobrá analýza přináší

Správná analytická fáze neprodukuje jen dokumenty. Přináší jasnost.

Po dobře provedené analýze byste měli vědět:

  • Přesně co bude postaveno — popsáno dostatečně podrobně, aby mezi vámi a vývojovým týmem neexistovala žádná nejasnost
  • Proč každá část existuje — provázáno se skutečnou obchodní potřebou, ne jen s požadavkem, který někdo vznesl
  • Jak se systém propojí s vašimi dalšími nástroji — s integracemi navrženými předem, ne objevenými během vývoje
  • Co projekt bude stát a jak dlouho potrvá — s realistickým odhadem na základě definovaného rozsahu, ne odhadem z krátkého popisu
  • Jaká jsou rizika — a jaký je plán, jak s nimi naložit

V tomto bodě byste také měli zjistit, zda váš původní záměr vyžaduje úpravy. To není selhání — to je systém fungující správně. Odhalení problému v analýze stojí zlomek toho, co stojí odhalení téhož problému ve vývoji.

Jak dlouho to trvá a kolik to stojí

Neexistuje univerzální odpověď, ale jako přibližné vodítko:

  • Pro jednoduchý interní nástroj nebo procesní automatizaci trvá analýza obvykle jeden až tři týdny a představuje skromný podíl celkového projektového rozpočtu.
  • Pro středně velkou podnikovou aplikaci počítejte se dvěma až čtyřmi týdny a odpovídajícím investičním podílem do analýzy.
  • Pro komplexní systém s více integracemi, typy uživatelů nebo regulačními požadavky může důkladná analytická fáze trvat čtyři až osm týdnů — a investované peníze se vrátí mnohonásobně v podobě ušetřeného přepracování.

Analýzu si vyplatí vnímat ne jako náklad, ale jako pojistku. Otázky, které analýza zodpoví, by musely být zodpovězeny dříve nebo později. Jediná volba je, zda je zodpovíte na začátku — levně — nebo uprostřed vývoje, kde odpovědi stojí mnohem více.

Jak poznat, že váš vývojový partner analýzu provádí správně

Ne všechny týmy tomu říkají „analýza." Někteří používají slova jako discovery, scoping nebo workshop. Označení je méně podstatné než to, co se skutečně děje.

Znaky, že jde o dobře prováděný proces:

  • Kladou otázky, na které jste nemysleli. Tým provádějící důkladnou analýzu odkryje předpoklady, o kterých jste nevěděli, že je děláte. Může to být nepříjemné, ale je to dobrý znak.
  • Zpochybňují vaše požadavky. Dobrá analýza někdy zahrnuje řeknutí „tady je jednodušší způsob, jak dosáhnout stejného výsledku." Tým, který přijímá každý požadavek bez otázek, neprovádí analýzu — jen si dělá poznámky.
  • Výstup je konkrétní, ne obecný. Pokud dokumenty, které vytvořili, by se mohly vztahovat na jakoukoli firmu, analýza nebyla provedena s dostatečnou hloubkou.
  • Dokáží vysvětlit kompromisy. Každé rozhodnutí o návrhu v softwarovém projektu zahrnuje kompromisy. Dobrý analytický tým vám dokáže říct, jaké možnosti existují a proč doporučuje tu jednu.

Nejdůležitější věc, kterou je třeba pochopit

Analýza není přípravná formalita před tím, než začne skutečná práce. Je to místo, kde skutečná práce začíná.

Rozhodnutí přijatá během analýzy — co stavět, jak stanovit priority, co vynechat, jak se části propojují — určují většinu výsledku projektu. Jakmile začne vývoj, podoba výsledku je z velké části již daná.

Vývojový tým, který se pohybuje rychle bez analýzy, nešetří čas. Půjčuje si ho — za velmi vysoký úrok.


Pokud plánujete softwarový projekt a nejste si jisti, kolik analýzy potřebujete, ozvěte se nám. Pomůžeme vám projekt upřímně vymezit — a předem vám řekneme, pokud jsou části vašeho plánu, které potřebují před napsáním prvního řádku kódu více promyslet.