Agilní vývoj vs. fix price/fix time

Agilní vývoj vs. fix price/fix time

Tým každého startupu při tvorbě strategického plánu svého projektu přemýšlí nad tím, který způsob projektového řízení preferuje. Buď to fix time, fix price metodu nebo agilní vývoj. O tom se dá rozhodnout ve fázi strategického plánování, které řeší rozpočty, funkcionalitu a rozpis projektových etap.

Agilní vývoj vs. fix price/fix time

Agilní vývoj

Agilní metodiky a přístupy jsou dnes ve sféře vývoje softwaru dobře známým a hojně využívaným nástrojem. Agilní přístup míní nejen technickou část projektu, ale i způsob projektového řízení, rozpočtu a případně typ smluvního vztahu. Díky tomu, že agilní metoda vyžaduje úzkou spolupráci mezi zákazníkem a vývojářským týmem, je akceptovatelná pružná reakce na změnu požadavků. Další charakteristikou výše popsaného přístupu je rozdělení celého procesu do cyklů, které se opakují do té doby, dokud zákazník nebude spokojený s návrhem vývojáře. K metodikám agilního vývoje patří Lean development, TDD, FDD, XP, apod.

Nejčastěji se používá takzvaná metodika Scrum spočívající v rozdělení procesu vývoje do několika fází, které se nazývají sprinty a trvají od jednoho do čtyř týdnů. V nultém sprintu dochází k analýze celého projektu a rozčlenění funkcionalit do jednotlivých bloků. Tyto bloky se následně nahrávají do produktového backlogu. Nultá iterace také odpovídá za odhad počtu sprintů nutných pro celkovou přípravu a spuštění projektu. Ve fázi aktivního vývoje softwaru probíhají meetingy se zákazníkem, který může navrhnout požadavky na úpravy, změny a nebo schválit prezentovanou část projektu. Navržené úpravy či změny se pak integrují v rámci dalšího sprintu, v případě jejichž schválení nastává řada sprintu následujícího. Tak se pokračuje do té doby, dokud projekt nebude schválen a nasazen.

Agilní vývoj je dobrý pro zákazníky, kteří chtějí svůj projekt rozvíjet okamžitě a mají dostatek času na jednání s vývojovým týmem. Díky pravidelné komunikaci šetří čas a náklady na tvorbu projektové dokumentace. Může měnit priority projektů a také dílčích částí, což je ideální pro zákazníky, kteří neví, co je konečným cílem jejich projektu nebo ho chtějí upravovat a doplňovat od sprintu ke sprintu. Agilní přístup softwarového vývoje je ideální pro dlouhodobou spolupráci, která se neustále rozrůstá.

Minusem výše popsané metody ale bude časová náročnost a nejasný rozpočet.

Fix price/fix time

V tradičním přístupu softwarového vývoje se často používá metoda "fix price/fix time", což pro zákazníka znamená, že čas a rozpočet tu jsou předmětem domluvy dvou stran, nikoliv výsledkem reálných odhadů. Volba nástroje fixní cena/fixní čas je dobrá pro projekty, ve kterých je jasné od začátku, jak dlouho samotný vývoj bude trvat a kolik to tedy bude stát. Kromě toho je tato metoda akceptovatelná pro menší projekty a „emvépéčka“, a také pro zákazníky, kteří nemají čas na periodická jednání s vývojáři a preferují projekt na klíč neboli design, vývoj a testování v jednom balíčku.

Na podobu fix price/fix time modelu je nahlíženo jako na svažující se tok (vodopád) charakterizovány následujícími fázemi:

  • Analýza a specifikace zadání
  • Design a UX (user experience design)
  • Vývoj software
  • Testování
  • Beta verze a spuštění projektu
  • Provoz a další rozvoj projektu 

K nedostatkům daného modelu patří nutnost jasné představy podoby projektu, časových a peněžních nákladů na jeho realizaci. Častým problémem fix price je, že i když je jasné zadání projektu, klient přesto mění zadání v průběhu vývoje. Tyto změny jsou většinou ku prospěchu výsledného řešení, ale v původní kalkulaci nejsou zahrnuty, a proto je potřeba řešit aktualizaci ceny. 

A jak to děláme my

U vývoje webových aplikací je agilní vývoj nejlepší možná cesta. Stanovíme si základní zadání projektu a řekneme si orientační ceny, ale reálný rozpočet se řídí agilním přístupem.

Co se týče webových prezentací, tam používáme náš odzkoušený hybridní přístup. Klientovi je v kalkulaci prezentována předpokládaná cena projektu na základě sepsaného zadání, ale zároveň k rozpočtu přikládáme rezervu, ze které se čerpá právě v případě, kdy jsou různé změny zadání. Pokud je potřeba rezervu čerpat, klientovi vysvětlíme důvod a reportujeme reálně odpracovaný čas. V praxi to pak znamená, že projekt není napnutý rozpočtem a pokud vznikne v průběhu vývoje skvělý nápad na vylepšení, může se bez problému realizovat. 

Potřebujete webovky nebo aplikaci?

Co si dál přečíst