Waterfall vs Agile

V tomto článku vysvětlíme, proč jsme přešli z Waterfall na Agile a jaké výsledky z toho vyplynuly.

March 19, 2025
7
min read
Waterfall vs Agile

Table of contents

Od samého začátku

Při řízení našich produktů jsme používali metodiku vodopádu. Bylo to přirozené, protože je snadno pochopitelná a široce používaná v různých odvětvích. Vyučuje se také ve všech oborech managementu na univerzitách.

Metodika, kterou se řídíme, zahrnuje shromáždění všech vstupů od zákazníka na začátku projektu, což slouží jako základ pro celý projekt. Veškeré změny nebo rozdíly se nejprve řeší z hlediska smlouvy a teprve poté se implementují do kódu. Na základě dohodnutých vstupů nabízíme pevnou cenu za projekt. Abychom projekt efektivně řídili, rozdělíme jej na fáze a zákazník platí po každé dokončené fázi.

Naše metodika krok za krokem

Naše metodika se skládá ze čtyř fází:

Fáze předimplementační analýzy:

V této fázi provádíme důkladnou analýzu vstupů, obchodních cílů, procesů a marketingových strategií zákazníka. Stanovíme také funkční a nefunkční požadavky a podporovaná zařízení. Tato analýza nám pomáhá vytvořit projektovou dokumentaci, která nastiňuje navrhované řešení, někdy včetně wireframů. Dále provádíme technickou analýzu, která popisuje navrhovanou architekturu, technologii a databázi.

Fáze plánování:

V této fázi rozdělíme projekt na technické úkoly, odhadneme je, vytvoříme rozpočet a poskytneme zákazníkovi přehled očekávaných nákladů na implementaci.

Fáze implementace:

Tato fáze zahrnuje práci na grafickém návrhu řešení. Před zahájením realizace plánovaných úkolů poskytujeme zákazníkovi 2-3 iterace zpětné vazby k návrhu. V průběhu této fáze zákazník dostává pravidelné informace o průběhu projektu, na jejímž konci je dodání finálního produktu. Veškeré nové požadavky zavedené během této fáze jsou považovány za dodatečné práce a musí být odhadnuty a schváleny zákazníkem.

Fáze údržby:

Po dodání hotového produktu zákazníkovi se obvykle dohodneme na smlouvě SLA a poskytujeme průběžnou podporu řešení po stanovenou dobu. Pokud by chtěl zákazník v kterékoli fázi projektu odejít, museli bychom se dohodnout na podmínkách zrušení objednávek a smlouvy.

Je to proveditelné, ale...

Netvrdíme, že tento přístup je zcela špatný. Může se hodit pro některé malé projekty nebo budování stejného softwarového řešení pro každého zákazníka. Ale my to obvykle neděláme. Pro naše zákazníky vytváříme software na míru. Na základě našich předchozích zkušeností jsme schopni poskytnout rouch odhady, ale čím je projekt složitější nebo větší, tím je pro nás nebo i pro zákazníky nemožné specifikovat každý detail na začátku projektu.

Někdy se nám stalo, že se v průběhu vývoje změnila odpovědná osoba ze strany zákazníka nebo jeho firemní proces. Nebo že když zákazníci konečně viděli vyvinutou funkci nebo grafiku, zjistili, že musí fungovat jinak nebo že je třeba něco změnit kvůli změnám v chování koncových uživatelů nebo na trhu.
Všechny tyto věci znamenaly změny v požadavcích obvykle již vyvinutého produktu. Nakonec zákazník nebyl s projektem spokojen, protože původní požadavky neodrážely skutečné potřeby, a my jsme nebyli spokojeni s projektem kvůli rostoucím nákladům na projekt a velmi těžkému vyjednávání s klienty o dalších potřebných zdrojích.

Omezení vodopádové metodiky:

  • Vodopád je vhodný pouze pro některé projekty;
  • Na začátku složitého projektu není možné specifikovat všechny detaily;
  • Pro softwarovou společnost je nemožné odhadnout každý kousek úkolu;
  • V projektu může dojít ke změnám v důsledku změn v chování koncových uživatelů nebo na trhu;
  • V průběhu vývoje může dojít ke změnám v požadavcích;
  • Původní požadavky nemusí odrážet skutečné potřeby;
  • Rostoucí náklady na projekt mohou způsobit problémy klientovi i softwarové společnosti.

Hybridní model

Proto jsme pomalu začali měnit přístup k novým klientům.

Na začátku jsme dělali něco mezi agilním a vodopádovým modelem, spíše jako hybrid. Zákazníci nebyli na agile zvyklí a zpočátku mu moc nevěřili, takže jsme přistoupili na kompromis. Na základě zadaných požadavků jsme se dohodli na pevném časovém plánu a přibližném rozpočtu. Rozdíl oproti předchozí vodopádové metodice je v tom, že jsme od agilní metodiky využívali úzkou spolupráci se zákazníky. Dodávku jsme rozdělili do sprintů, každé dva týdny jsme zákazníkovi udělali ukázku a na upřesnění požadavků jsme pracovali minimálně sprint dopředu.
Spolupráce s klientem a jeho spokojenost s výsledným produktem byla mnohem lepší, ale přesto v průběhu projektu rostl produktový backlog, takže se musel posunout i časový harmonogram. Nevýhodou této spolupráce bylo opět mnoho času stráveného reportováním a obhajováním každé hodiny navíc, kterou jsme museli strávit. Nebyla to spolupráce, která by byla výhodná pro obě strany, jak jsme si přáli.
Věděli jsme, že další spolupráce musí být čistě agilní. Přepracovali jsme naše smlouvy a v průběhu let se agilní metodika a její výhody začaly dostávat více do povědomí zákazníků.

Proč agilní?

  • Agilní metodika klade důraz na spolupráci, flexibilitu a přizpůsobivost v průběhu celého životního cyklu projektu.
  • Agile rozděluje projekt na menší, zvládnutelné části a dodává funkční software brzy a často.
  • Agile umožňuje průběžnou komunikaci a spolupráci se zákazníkem
  • To pomáhá budovat důvěru, zajišťuje, že projekt zůstane na správné cestě
  • Díky tomu, že reaguje na měnící se požadavky, výsledný produkt lépe odpovídá potřebám a spokojenosti klienta.

Zahájení nové spolupráce

Při zahájení projektu s klientem dáváme přednost upřímnosti a transparentnosti. Místo slibování pevných termínů a cen poskytujeme hrubé odhady na základě počátečních představ nebo specifikací.

S klientem však úzce spolupracujeme na upřesnění potřeb a požadavků konečného uživatele a na úpravě rozsahu projektu tak, aby se vešel do možného rozpočtu.

  • Věříme, že jasná komunikace a spolupráce s klientem je pro úspěšné projekty zásadní, a proto je pro nás prioritou úzká spolupráce s klientem při upřesňování potřeb a požadavků koncového uživatele. To nám umožňuje upravit rozsah projektu podle potřeby tak, aby se vešel do možného rozpočtu, a zajistit, že dodáme vysoce kvalitní práci, která splní jejich specifické potřeby.
  • Naším cílem je vždy poskytnout klientům co nejlepší výsledek, a proto s nimi úzce spolupracujeme na upřesnění požadavků projektu a úpravě rozsahu podle potřeby. Tím je zajištěno, že jsme schopni dodat vysoce kvalitní produkt, který splňuje jejich potřeby a zároveň se vejde do jejich rozpočtu.
  • V naší společnosti chápeme, že požadavky na projekt se mohou v průběhu času vyvíjet, a zavazujeme se úzce spolupracovat s našimi klienty, abychom zajistili, že se těmto změnám dokážeme přizpůsobit. Zpřesněním potřeb a požadavků koncových uživatelů a úpravou rozsahu projektu podle potřeby jsme schopni dodat vysoce kvalitní práci, která splňuje jejich potřeby a zároveň se vejde do rozpočtu.

Naše hlavní zaměření

Naším hlavním cílem je poskytovat našim klientům výjimečně kvalitní práci, a proto se v každém sprintu opíráme o naše rozsáhlé zkušenosti, odborné znalosti a neochvějné odhodlání. Věříme, že úzkou spoluprací s našimi klienty a důsledným upřesňováním potřeb a požadavků koncových uživatelů dokážeme dodat vysoce kvalitní práci, která je v souladu s jejich očekáváními. Kromě toho se snažíme zajistit, aby naši klienti měli nad svými projekty plnou kontrolu a mohli si kdykoli vybrat jiného poskytovatele softwaru, pokud nebudou s našimi službami spokojeni.

Jsme přesvědčeni, že náš úspěch jako společnosti zabývající se vývojem softwaru v konečném důsledku závisí na spokojenosti našich klientů, a snažíme se zajistit, aby každý náš projekt vedl k pozitivnímu výsledku pro obě strany.

Co používáme

Z agilních metodologických rámců používáme především Scrum, ale u některých projektů také kanban. Většinou pracujeme v krátkých - dvoutýdenních iteracích a na konci sprintu ukazujeme, diskutujeme a iterujeme výsledky se zákazníky. Sbíráme zpětnou vazbu, přenášíme ji do úkolů a na základě dohody se zákazníkem určujeme priority.
Pokud zákazník potřebuje náhlou změnu směru, není to problém, protože v agilním přístupu nejsme vázáni žádnými fixními smlouvami ani rigidními procesy. Jen si se zákazníkem vyjasníme jeho potřeby a v případě potřeby naplánujeme změnu od dalšího sprintu.

Proč tedy dáváme přednost agilnímu přístupu před vodopádem?

  • Protože nám záleží na tom, co vyvíjíme, záleží nám na konečném produktu.
  • Dáváme přednost úzké spolupráci se zákazníky na vytváření fungujících a smysluplných produktů před nekonečným vyjednáváním o každé minutě strávené na projektu.
  • Dáváme přednost agilitě a flexibilitě před slepým následováním původních plánů.
Read also

Recommended Reads for You

Proměna webových zážitků pomocí MediaPipe a JavaScriptu: Komplexní hluboký ponor do problematiky

4
minut na čtení
September 5, 2023
Tento článek se zabývá bezproblémovým spojením JavaScriptu a frameworku MediaPipe společnosti Google a ukazuje jejich společný potenciál na praktických příkladech kódu, reálných případech použití a návodech krok za krokem pro vytváření inovativních webových aplikací, zejména v oblasti rozšířené reality (AR), s rozšířenými interaktivními funkcemi.

Co je WebRTC (Web Real Time Communications)?

18
minut na čtení
September 21, 2024
V tomto článku Alexey Andrushchenko, zkušený vývojář Full-Stack, odhalí některé funkce používání WebRTC a zváží výhody a nevýhody této technologie.

Integrace AI v podnikání - pohled AI inženýra z Moravio

10
minut na čtení
September 24, 2024
Ladislav Husty, zkušený inženýr AI, sdílí své zkušenosti s integrací AI do podnikání
New articles

New blog posts you may be interested in

Moravio se stává VIP členem Hispánsko-české obchodní komory

3
minut na čtení
March 17, 2025
Moravio se stalo VIP členem Hispánsko-české obchodní komory! Náš tým je hrdý na to, že může přispět svými zkušenostmi v oblasti vývoje softwaru, umělé inteligence a obchodních řešení k podpoře inovací a růstu.

Moravio se připojuje k Asociaci obranného a bezpečnostního průmyslu ČR (AOBP)

4
minut na čtení
March 10, 2025
S hrdostí oznamujeme, že Moravio se připojilo k Asociaci obranného a bezpečnostního průmyslu ČR (AOBP). Náš tým je nadšený, že může přispět svými zkušenostmi v oblasti vývoje softwaru, umělé inteligence a digitálních řešení na podporu inovací v obraně a bezpečnosti.

Will Programmers Be Needed in the Future? - by Lukas Gren

5
minut na čtení
January 28, 2025
Short answer: "No", or at least, not as we understand it today. Programmers bring value beyond writing code. They solve real-world problems, manage complexity, and create tailored solutions. AI can't yet fully grasp non-digitalized problems, so human skills remain essential.

Jakub Bílý

Vedoucí obchodního rozvoje

Pojďme společně dosáhnout výsledků!
Vyplňte formulář a ozveme se vám do 8 pracovních hodin.
Rádi zodpovíme všechny vaše dotazy!
Analyzujeme váš projekt a probereme podrobnosti.

Kontaktujte nás

Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.