V tomto článku vysvětlíme, proč jsme přešli z Waterfall na Agile a jaké výsledky z toho vyplynuly.
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 se skládá ze čtyř fází:
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.
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.
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.
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.
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:
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í?
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.
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.
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.
Blog posts you may be interested in
New blog posts you may be interested in
Pomáháme korporacím, středním podnikům a startupům s digitálními produkty.