Typy projektového cyklu

Pri prepájaní konečných projektových výstupov a definovaných požiadaviek je nevyhnutné prihliadať na vývoj požiadaviek v čase, ktorý sa odvíja od charakteristiky životného cyklu projektu, lebo typy projektového cyklu ovplyvňuje, kedy a ako presne budú vecné požiadavky v projekte zadefinované.
 
Typ projektového cyklu Charakteristika
Predvídateľný (prediktívny) životný cyklus Forma životného cyklu projektu, v ktorej sú rozsah projektu - a čas a náklady potrebné na dodanie takéhoto rozsahu - stanovené v čo možno najskoršom štádiu životného cyklu.
Približovací (iteratívny) životný cyklus Životný cyklus projektu, kedy je rozsah projektu určený v rannom štádiu projektového cyklu, avšak odhady týkajúce sa času a nákladov sú pravidelne modifikované na základe postupného lepšieho pochopenia obsahu produktu projektovým tímom. Iterácie (priblíženia) však iba spresňujú obsah produktu za pomoci série opakovaných cyklov.
Prírastkový (stupňovitý) životný cyklus Životný cyklus projektu, kedy je rozsah projektu určený v rannom štádiu projektového cyklu, avšak odhady týkajúce sa času a nákladov sú pravidelne modifikované na základe postupného lepšieho pochopenia obsahu produktu projektovým tímom. Navyše prírastky (inkrementy) postupne pridávajú produktu ďalšiu funkčnosť.
Pružný (adaptívny) životný cyklus Životný cyklus projektu, známy tiež ako zmenovo orientovaný cyklus alebo agilný prístup, ktorý napomáha zmenám a vyžaduje vysoký stupeň stáleho zapojenia dotknutých strán. Pružný životný cyklus je tiež približovací a prírastkový (stupňovitý) s tým rozdielom, že iterácie sú veľmi krátke (zvyčajne 2 až 4 týždne) a majú nemenné časové rozpätie a zdroje.

Zmeny požiadaviek, ktoré ovplyvňujú konečné výstupy, sa počas projektové cyklu udejú teda z dvoch dôvodov:

  • Požiadavky pri spustení projektu neboli – dostatočne – jasné
  • Došlo k zmenám potrieb a následne požiadaviek projektom dotknutých strán

Riešenie nejasných požiadaviek je potrené zakomponovať do projektových plánov.

Agilný projektový manažment

Projektový proces je dlhý, často komplikovaný respekíve vystavený permanentným tlakom a zmenám, a preto často nedodržiavaný, prípadne manažment či zákazník nie sú schopní počkať na spätnú väzbu trvajúci niekoľko mesiacov, najmä ak ide o dôležité či rozsiahle investície. Agile je množinou postupov a metód zameraných na manažment vývoja a vývojové praktiky, ktoré pomáhajú s vývojom kvalitných produktov so zameraním na požiadavky zákazníka, dodávaných v pravidelných intervaloch, vyvíjaných navzájom spolupracujúcim tímom.

Základom sú štyri pravidlá (Agile Manifesto):

  • Viac sa preferuje funkčný softvér než obsiahla dokumentácia
  • Radšej reagujeme na zmeny ako sledujeme plán
  • Spolupráca zákazníka je dôležitejšia ako sledovanie plánu
  • Individuality a iterakcie sú dôležitejšie ako procesy a nástroje

Cieľom agilného prístupu je zabezpečiť:

  • Vysokú interakciu s klientom pri tvorbe produktu.
  • Prioritizáciu na základe jeho požiadaviek.
  • Odhad zložitosti poskytuje vývojový tím a nielen projektový manažér.
  • Z manažérov sa stávajú lídri.
  • Tím je samoorganizovaný, nikto mu úlohy neprideľuje ani neodhaduje. Tím je sám zodpovedný za rozdelenie práce.
  • Tím sa pravidelne zaoberá zlepšením pracovných postupov.
  • Produkt sa zákazníkovi dodáva pravidelne a často. Zákazník riešenie akceptuje alebo nie.
  • Tím pravidelne dostáva spätnú väzbu od zákazníka. Práca je neustále prioritizovaná zákazníkom alebo niekým, kto ho zastupuje.
  • Opakované činnosti sa tím snaží automatizovať.
 

Scrum - projekt riadený agilne

Scrum je inkrementálnym a iteratívnym rámcom pre projektový manažment. Ide o systematický procesný rámec, ktorý sa využíva pri nestabilnom prostredí resp. nejasných požiadavkách. Základný filozofický rozdiel oproti klasickým postupom ako napr. waterfall možno zhrnúť nasledovne:

  • Rozsah projektu je možné zmeniť.
  • Tím, kvalita a časový interval medzi dvoma verziami sú permanentné.
  • Produkt je síce dodávaný po častiach, ale pravidelne.
  • Požiadavky sú neustále prioritizované podľa potreby.

    Cieľom je optimálne využiť projektové kapacity kapacity, ktoré sú k dispozícii a dodávať zákazníkovi to najhodnotnejšie, teda výstupy, ktoré zákazníci ocenia a potrebujú čo najskôr. Takto je vývoj zameraný na možnú produkčnú kapacitu a dodávanú hodnotu a nie na konkrétny plán. Scrum aplikuje agilné hodnoty a princípy a je určený pre tímy, ktoré pracujú samostatne, no zároveň spolu pre dosiahnutie cieľov. Scrum adoptoval empirický prístup zohľadňujúci, že klient nie je schopný poskytnúť ucelený a nemenný zoznam požiadaviek. Požiadavky sú zhromažďované v produktovom backlogu, ktorý je utriedeným zoznamom a spravovaný typicky produktovým vlastníkom. Produktový backlog navyše obsahuje požiadavky v rôznom stupni detailu. Dosahuje sa tak investícia do detailizácie až v momente, keď je jasné, že produkt musí mať požiadavku. Z produktového backlogu sú požiadavky zaradené do backlogu iterácie, tzv. backlogu sprintu. V niektorých tímoch to robí počas plánovania iterácie produktový vlastník, iné tímy preferujú vyberanie požiadaviek tímom samotným. Výsledkom plánovania sprintu by mala byť kanban tabuľa obsahujúca nielen požiadavky, ale aj konkrétne úlohy popisujúce ako budú požiadavky implementované. Tím by mal zároveň preveriť svoje kapacity pre dokončenie požiadaviek. Výsledkom musí byť funkčný inkrement produktu. Tím sa počas iterácie, tzv. sprintu pravidelne denne stretáva a synchronizuje sa zdieľaním informácií o stave úloh, plánoch na ďalší deň a problémoch. Problémy eviduje a snaží sa riešiť ScrumMaster, ktorý sa okrem toho snaží tím chrániť, pomáhať mu s dodržiavaním pravidiel a procesom. Počas sprintu prebiehajú aj pravidelné stretnutia k novým položkám a zmenám produktového backlogu, tzv. backlog groomig stretnutia. Cieľom je spoznať zmeny, identifikovať riziká a odhadnúť aspoň nahrubo náročnosť implementácie. Na konci iterácie tím pripraví pre klientov demo z iterácie, počas ktorého sa snaží získať spätnú väzbu klienta. Je to práve demo, ktoré motivuje tímy dodať funkčný inkrement produktu. Sprint končí retrospektívou, stretnutím, na ktorom sa tím snaží identifikovať, čo v tíme funguje a čo by mohlo fungovať lepšie. V tíme sa tak naštartuje kultúra kontinuálneho zlepšovania. Manažment by mal tímu pomôcť s návrhmi, ktoré nie je tím schopný samostatne implementovať.