Is the future of IT projects in Agile?

Spoločnosti si dnes nemôžu dovoliť, aby proces, postup a dokumentácia pri vývoji IT produktov spomalili ich čas uvedenia na trh. Oneskorenia ich stoja konkurenčnú výhodu a zákazníkov. Tento aspekt v kombinácii s rýchlym vývojom technológií a spoločenskými turbulenciami viedli k potrebe prehodnotenia tradičných prístupov k riadeniu IT projektov. Odpoveďou sa stali agilné metodiky. Agilní praktici tvrdia, že lepšie zvládajú dynamickú povahu podnikateľského prostredia a umožňujú projektovému tímu rýchlo sa prispôsobiť nepredvídateľným a meniacim sa požiadavkám. Skutočne je ale Agile pre IT vývoj nevyhnutný?

Podľa výskumu o budúcnosti projektového manažmentu z roku 2020 je v súlade pôvodného plánu a k spokojnosti zainteresovaných strán realizovaná približne polovica projektov. Čo sa týka splnenia času a rozpočtu, je to len niečo cez 40 %.  Za nesplnenie požiadaviek môžu najmä nerealistické očakávania, týkajúce sa práve času, rozpočtu i rozsahu. Tie vyplývajú z nedostatku údajov, aby sa mohli robiť informované rozhodnutia. S tým priamo súvisí navyšovanie rozpočtu a náklady na zdroje na jednej strane, ale i schopnosť presne určiť rozsah a potreby dodávky na strane druhej.

Práve agilná metodológia pomáha prekonať tieto prekážky. Agilné projekty majú úspešnosť 64 %, zatiaľ čo projekty podľa lineárnej waterfall metódy len 49 %. Agilné projekty sú takmer 1,5-krát úspešnejšie. Po prijatí Agile zaznamenali tiež spoločnosti v priemere 60 % nárast tržieb a zisku.

Tieto štatistiky sú síce veľavravné, ak by sme však mali odpovedať na otázku v titulku, pravdou je, že IT agilný vývoj nutne nepotrebuje. Je však prirodzené, že sa práve Agile profiluje ako ideálna odpoveď na aktuálne výzvy. Agile je totiž v tom najvšeobecnejšom zmysle slova o skúšaní vecí, o tom, čo funguje, o rýchlych opravách pri zlyhaní a neustálom zlepšovaní a napredovaní.

aspecta logo

Čo je "Agile"?

Ide o „kultúrne hnutie“, ktoré navrhuje nahradiť klasický projektový manažment iteratívnym prístupom. Jeho zástancovia tvrdia, že je to „prirodzená“ metodológia – je najviac podobná ľudskému usudzovaniu. Keď o niečom premýšľame, náš mozog nevykonáva štruktúrovanú a komplexnú analýzu objektu, spoznáva ho postupne a k podstate sa dostáva postupnými krokmi.

Spoločnosti pred Agile uplatňovali štruktúrovanejší prístup známy ako vodopád (waterfall). Je založený na postupnosti krokov. Každý z týchto krokov tvoril fázy projektu, z ktorých každá pozostávala zo špecifického súboru úloh. Tento prístup, hoci účinný, bol náročný na proces a dokumentáciu. Tímy ako také nemali potrebnú prispôsobivosť, aby držali krok s dopytom zákazníkov. Agilný vývoj softvéru minimalizuje, ak nie odstraňuje, tieto výzvy. 

Agile verzus waterfall - porovnanie
Metodika alebo kultúra?

Existujú formálne agilné metódy, ale samotná agilnosť je skôr postojom ako metodológiou. Na jej prijatie nestačí len získať adekvátne znalosti, je nutné zmeniť aj svoj prístup. Plný potenciál dosiahnete len vtedy, keď prijatie agilnej metodológie pôjde ruka v ruke so zmenou postoja zainteresovaných osôb.

Agile je jednoducho spôsob myslenia. Je založený na schopnosti prispôsobiť sa zmenám a reagovať na ne.

 
Manifest pre agilný vývoj

História Agile siaha už do polovice 20. storočia, ale moderný agilný prístup bol oficiálne predstavený v roku 2001, keď IT profesionáli prišli s víziou flexibilného, ľahkého a tímovo orientovaného prístupu k vývoju softvéru a zmapovali ju v Manifeste pre agilný vývoj softvéru .

Celú oblasť vývoja softvéru dokázal manifest formovať len prostredníctvom 4 hodnôt:

  • Ľudia a komunikácia sú viac než procesy a nástroje.
  • Funkčný softvér je viac než vyčerpávajúca dokumentácia.
  • Spolupráca so zákazníkom je viac než dojednávanie zmluvy.
  • Radšej reagovať na zmenu než sa držať plánu.

Tieto hodnoty boli následne rozšírené na dvanásť princípov: 

  1. Našou najvyššou prioritou je uspokojiť zákazníka skorým a sústavným dodávaním hodnotného softvéru.
  2. Zmeny požiadaviek sú vítané dokonca aj v neskorých fázach vývoja. Agilné procesy dokážu pretaviť zmenu na konkurečnú výhodu zákazníka.
  3. Dodávame funkčný softvér často, od niekoľkých týždňov po niekoľko mesiacov, s uprednostnením čo najkratších intervalov.
  4. Ľudia z biznisu a vývojári musia denne spolupracovať počas celého projektu.
  5. Postavte projekty na motivovaných ľuďoch. Poskytnite im prostredie, podporu a dôverujte im, že svoju úlohu splnia.
  6. Najlepším spôsobom odovzdávania informácií vývojovému tímu a v tíme je osobný rozhovor.
  7. Základným ukazovateľom napredovania je funkčný softvér.
  8. Agilné procesy podporujú trvalo udržateľný rozvoj. Sponzori, vývojári a užívatelia by mali byť schopní trvalo udržať konštantné tempo.
  9. Sústavný dôraz na technickú vyspelosť a kvalitný návrh podnecujú agilitu.
  10. Jednoduchosť – umenie vykonať naozaj len to potrebné, je nevyhnutnosť.
  11. Samoorganizované tímy vytvárajú najlepšie koncepty, požiadavky a návrhy riešení.
  12. Tím v pravidelných intervaloch vyhodnocuje sám seba s cieľom byť efektívnejší a prispôsobuje tomu svoje správanie.
aspecta logo

Populárne agilné metódy

Ako reakcia na výhody Agile pri vývoji softvéru vzniklo mnoho metód, ktoré stavajú na jeho princípoch. Medzi najpopulárnejšie patrí Scrum, Kanban a Lean development.

Scrum

Scrum je najpopulárnejšia metodika pod hlavičkou Agile. Je to rámec, založený na krátkych „sprintoch“. Každý z nich má svoj cieľ, súbor úloh a často netrvá dlhšie ako dva týždne. Po skončení každého sprintu tím analyzuje svoju prácu a začne plánovať ďalšiu.

Kanban

Kanban je ďalším zo širšie rozšírených prístupov k agilnému riadeniu projektov . Zameriava sa na vizuálny prvok plnenia úloh a je obľúbený pre používanie „tabúľ s úlohami“. Pomáhajú tímu vidieť, kto na čom v konkrétnom momente pracuje, čo podporuje tímovú prácu.

Lean

Lean je ukážkovým príkladom toho, ako možno Agile aplikovať na iné vertikály, a nielen na vývoj softvéru. Tri hlavné piliere Lean prístupu sú neustále zlepšovanie, úcta k ľuďom, ľahké vedenie. To pomáha spoločnostiam eliminovať odpad, zlepšovať procesy a podporovať inovácie.

„…agilný posun v softvéri je súčasťou väčšieho smerovania k humánnejším a dynamickejším pracoviskám v 21. storočí.“

Autor: Rowan Bunning, prvý austrálsky ScrumMaster

aspecta logo

Výhody agilného vývoja

  • Flexibility

    Agile uznáva, že potreby zákazníkov sa menia a tímy sa musia vedieť prispôsobiť. Práca v časovo ohraničených iteráciách znamená, že tím nemusí čakať na zdĺhavý proces zmeny požiadaviek, kontroly a schvaľovania. Dochádza k častému prehodnocovaniu práce vykonanej v rámci cyklu, aby bol konečný produkt lepší.

  • Minimalizácia rizika

    Tradičný prístup k vývoju softvéru ponecháva testovanie a uvoľnenie produktu na koniec projektu. Čakanie na koniec necháva tím v neistote, či produkt spĺňa potreby zákazníka. Pri agilnom vývoji dostávajú tímy spätnú väzbu takmer denne a môžu na základe nej konať.

  • Produkt najvyššej kvality

    V rámci agilného projektu sa tím nepokúša vyvinúť všetky funkcie naraz. Namiesto toho tím priraďuje každému sprintu menšiu podmnožinu funkcií. Týmto spôsobom majú vývojári viac času na zdokonalenie týchto položiek pred vydaním. V agilnom riadení projektov je tiež testovanie integrovanou súčasťou fázy realizácie projektu, čo znamená, že celková kvalita konečného produktu je vyššia.

  • Spolupráca s klientom a komunikácia

    Aby bol agilný vývoj softvéru úspešný, je dôležité, aby bol produktový vlastník zapojený do celého procesu. Zákazník je úzko zapojený do vývoja a môže meniť požiadavky alebo akceptovať návrhy tímu. Na rozdiel od vodopádu sú majitelia produktov veľmi aktívnymi účastníkmi agilných šprintov. V Agile je zákazník vždy zapojený do rozhodovacieho procesu, čo vedie k väčšej retencii zákazníkov.

  • Zameranie na používateľa

    Pri agilnom vývoji softvéru sú požiadavky používateľov reprezentované ako „príbehy používateľov“. Tieto príbehy definujú akciu, ktorá poskytuje hodnotu pre zákazníka. Koncept používateľských príbehov je v ostrom kontraste s pomerne dlhým zoznamom požiadaviek vyvinutých v tradičnej metodike vývoja.

Moderný Agile - jeho výhody

SOURCE: 

Výhody pre klientov

• Proces vývoja je transparentnejší a lepšie reaguje na návrhy.
• Dodanie je rýchle a v predvídateľných časových rámcoch.
• Vyššia kvalita hotového výrobku.

Výhody pre vývojárov

• Pútavý proces vývoja softvéru.
• Výsledky práce oceňuje manažment aj klienti.
• Viac slobody pre inovatívne myslenie a kreatívne procesy.

Výhody pre projektových manažérov

• Efektívna správa a sledovanie úloh prostredníctvom softvéru a časté stretnutia.
• PM majú vždy ruku na pulze projektu a uvedomujú si jeho stav.
• Problémy sú zachytené skôr, ako sa môžu nabaliť na väčšie problémy.

aspecta logo

Ako vám Agile šetrí peniaze?

Po zvážení opísaných výhod je ľahké zistiť, ako ich možno premeniť na zisk

Pri tradičnom vývoji softvéru na mieru ste objednávku vykonali vopred. Ak sa počas obdobia, kedy čakáte na produkt udiali neočakávané udalosti (napríklad problém s financovaním, pandémia a podobne), peniaze, ktoré ste už zaplatili za vývoj, nemôžete použiť na iné veci. Nemáte teda ani peniaze a zatiaľ ani systém.  

Keďže Agile funguje na postupnom dodávaní, väčšinou je tiež financovaným prírastkovými platbami. V prípade neočakávaných udalostí tak máte stále určité finančné prostriedky a potenciál presunúť zameranie vývoja produktu na relevantnejšie funkcie, ako je napríklad monitorovanie zamestnancov, a zvyšok odložiť, kým sa vaše podnikanie nezotaví. 

Agilný vývoj softvéru rovnako eliminuje riziko, že dostanete za svoje peniaze softvér, ktorý nerobí to, čo potrebujete. Agile je zárukou, že dostanete produkt, ktorý skutočne budete používať a ktorý vyrieši vaše obchodné problémy. 

aspecta logo

Conclusion

Agilný vývoj softvéru nie je len módne slovo. V podstate je to filozofia, ktorú mnohé spoločnosti považujú za základ svojej práce. Agile transformovalo prácu tak, aby bola nielen efektívnejšia, ale aj viac zameraná na skutočných ľudí.

Odpoveďou na to, či je Agile budúcnosťou IT projektov je teda fakt, že IT je výnimočne rýchlo sa rozvíjajúcim odvetvím a vyžaduje mimoriadnu flexibilitu a schopnosť reagovať v každom aspekte vývoja projektu. Agilné metodológie aj napriek zmenám a nepredvídateľným okolnostiam umožňujú dodávať špičkové produkty a zároveň ich udržiavať v súlade s trendmi trhu a požiadavkami používateľov. 

Agilný vývoj pomáha zamerať sa na riešenia založené na tom, čo vidíme, a nie držať sa pevne stanoveného plánu. Plány sa totiž často vypracúvajú v ranej fáze projektu, v ktorej nie je vždy dostatok príležitostí učiť sa a rozoberať obchodné problémy. Umožňuje vývojárom inovovať s obmedzeniami a zároveň držať krok s obchodnými rozhodnutiami. Riziká sú identifikované dostatočne skoro na to, aby sa dali zvládnuť alebo zmierniť.

Pre niektoré projekty nemusí byť použitie agilných metód vhodné (najmä mimo IT odvetvie). Agile v IT projektoch však má zmysel, najmä ak sa robí správne. Preto predtým, než sa rozhodnete pre agilný vývoj softvéru, dajte si záležať na spolupráci so spoločnosťou, ktorá má s agilným riadením projektov skúsenosti a vďaka Agile splní vaše požiadavky na 100 %.

Did you like the article?

Sign up for the newsletter
Share it on social networks