Agilní vs. neagilní přístup
K vývoji webových a mobilních aplikací je v zásadě možné přistupovat dvěma způsoby:
1. Agilní vývoj
Tento přístup spočívá v iteraci. To znamená, že se vývojáři neustále vracejí k stejným problémům, neustále je testují a opravují. Tato meta dokáže v průběhu vývoje reflektovat změnové požadavky. Pojem se používá od roku 2001, kdy vznikl Manifest agilního programování.
Variant této metody je celá řada. V praxi se nejčastěji využívá metoda scrum.
2. Neagilní vývoj
Neagilní vývoj naopak probíhá postupně. Postupuje v sekvencích. Nejprve se dořeší první krok, pak následují další. Není tak pružný k reflektování změn. Tento postup je výrazně starší.
Velmi často se pro neagilní přístup k vývoji používá také název vodopádový model.
Metoda scrum: výhody a nevýhody
Klíčový princip agilního vývoje je, že se neustále může měnit zadání a požadavky na výslednou aplikaci. Vývojáři se neustále vracejí k různýcm částem vývoje. Vývoje se účastní všechny zainteresované strany a během vývoje zajišťuje komunikaci tzv. scrum master.
Role ve vývoji metodou scrum:
- Vlastník produktu (product owner)
- Vývojový team
- Scrum master
Scrum master není projektový manažer ani vedoucí týmu, je jen prostředník, který zajišťuje komunikaci mezi vývojem a vlastníkem aplikace. Ve vývojovém týmu neexistuje hierarchie a všichni členové jsou si rovni, mohou přinášet invence a zpochybňovat dosavadní vývoj.
Metoda scrum nemá jasně dané fáze, ale prochází tzv. scrumy, to jsou kontrolní schůzky vývojového týmu případně i s vlastníkem, dky se konzultuje dosavadní postup a plánují další kroky pro vývoj. Základní jednotkou vývoje je sprint. Sprint může být různě dlouhý (týden až měsíc).
Během sprintu si tým organizuje malé porady každý den, říká se jim denní scrum. Řeší se především problémy a věcné připomínky k vývoji. Denní scrum by neměl trvat déle než 15 minut. Z tohoto důvode se hodí scrum spíše pro menší týmy do 15 lidí.
Výhodou této metody je, že dokáže kdykoli pružně reagovat na změnové požadavky. Scrum dává vývojovému týmu více volnosti. Je totiž méně dokumentovaná a více zaměřená a kreativní část vývoje. Díky tomu se agilní metoda scrum hodí například pro vývoj složitých aplikací na míru, typu věrnostní program.
Základem metody je zapojení klienta do vývoje. Zapojuje se v pravidelných sprintech, kdy se kontrolují a konzultují dosavadní výsledky. Úspěch závisí do značné míry na tom, zda je klient ochoten věnovat svůj čas do konzultací./p>
Scrum se často nehodí pro velké digitální agentury, které řeší několik projektů najednou. Naopak se výborně hodí pro projekty, kdy se vývojový team soustředí jen na jeden projekt. Kvůli častým změnám zadání a neustálým úpravám může dojít k odchylkám při odhadu termínu a ceny, což je další faktor, který celé řadě klientů nevyhovuje. Většinou se při vývoji klient “pronajímá” čas vývojářů na období sprintu a sám rozhoduje o tom, čemu a jak se bude vývojový tým věnovat.
Vodopádový model: výhody a nevýhody
Vodopádový model postupuje lineárně. Dokud není dokončena první fáze vývoje, nepřechází k druhé. Některé fáze se v praxi mohou překrývat – například testování a některé části implementace. Tato metoda klade důraz na dodržování časového harmonogramu, rozpočtu a plánování realizace dopředu.
Vývoj má několik fází:
- Specifikace požadavků
- Návrh
- Implementace
- Integrace
- Testování a ladění
- „Instalace
- Údržba
Existuje celá řada modifikací fází i prací v modelu. V zásadě si jej každá agentura přizpůsobuje tak, aby co nejlépe vyhovoval jejímu systému práce a požadavkům klientů.
Velkou výhodou je, že na začátku vývoje se určí přesně požadavky, podle nich se stanoví harmonogram prací, termíny dokončení a rozpočet. Díky kvalitním analýzám a upřesnění na začátku vývoje, se dá mnohé předpovědět a rovnou navrhnout funkční model aplikace. Tím se dají ušetřit nemalé prostředky. Steve McConnell, autor knihy o softwarovém inženýrství, píše, že odstranění chyby, kterou se podaří odhalit až ve fázi implementace nebo údržby, stojí 50 krát až 200 krát více, než kdyby byla odhalena už ve fázi specifikace požadavků.
Výhodou je také jednoduchost modelu, je jasný a transparentní i pro klienty-laiky. Model dále klade důraz na kvalitní projektovou dokumentaci, což je obzvláště u náročnějších projektů rozhodně velké plus.
Naopak tato metoda není tak pružná ke změnovým požadavkům. Protože dopředu existuje jasný harmonogram prací a jakékoli vícepráce znemožňují harmonogram (a tedy i rozpočet) dodržet.
Jakou metodu využívá AITOM a proč
V AITOMu pracujeme vodopádovou metodou. Metoda scrum nám připadá někdy kreativnější a zábavná, ale není zdaleka tak transparentní pro naše klienty. Naprostá většina klientů očekává, že jim jasně sdělíme termín dokončení webu a jeho cenu, což u scrumu není vůbec snadné.
Velký důraz klademe na první fázi – tj. specifikace požadavků. Před každým projektem zpracováváme podrobnou vstupní studii, ve které jsou uvedené cíle projektu, wireframy, marketingový plán, analýzy SWOT a konkurence. V první fázi se hodně vyptáváme, až jsme s tím někdy otravní, ale jen díky tomu dokážeme celou řadu možných chyb odhalit už na začátku vývoje a předejít jim.
Naši klienti náš přístup oceňují, je pro ně snáze pochopitelný. Mají také od začátku prací do konce přesnou představu a tom, jak práce postupují, a o ceně projektů.