Zatvoriť

Ako zabezpečiť hladký priebeh realizácie projektu

Dekompozícia projektu na menšie celky a rozdelenie vývoja do etáp je jedným z hlavných predpokladov ako zabezpečiť hladký priebeh realizácie projektu.

Metodológia všade, kam sa pozrieme

Literatúry okolo metodológií na vývoj riešení je dnes tona. Začína na vodopádových princípoch, kedy je potrebné najprv všetko premyslieť, naplánovať a až potom sa pustiť do samotnej realizácie. Na opačnej strane sú to veľmi agilné prístupy, kde sa začína s myšlienkou, identifikovanými rizikami, vyčleneným budgetom a k jasnému cieľu sa nejako dopracujeme. Zvolenie vhodného postupu pre váš projekt je kľúčovým rozhodnutím. Môže zabezpečiť hladký a bezproblémový priebeh projektu alebo naopak, poriadne ho skomplikovať. A je jedno či projekt je korporátna webová stránka alebo rozsiahly sociálny portál s desiatkami pridružených mobilných a webových aplikácií a so státisícovou návštevnosťou denne. Seriózne webové riešenia sú dnes spravidla 6 - 9 mesačné projekty, na ktorých participuje celý team ľudí od projektového manažéra, analytika, architekta, cez celú škálu developerov a UX designerov až po serverového administrátora a QA testera. Od bežných softvérových riešení sa líšia hlavne svojou dynamikou a neustále meniacimi sa trendmi aj počas priebehu projektu.

Teória v praxi

Akákoľvek dekompozícia problému na menšie celky výrazne pomáha pochopiť ciele projektu a jasne zadefinovať zodpovednosti. Projekt je rozdelený do etáp / sprintov / iterácií s hmatateľným výsledkom na ich konci, ktorý je možné vyhodnotiť. Koniec etapy je ideálnym časom na stretnutie celého projektového teamu s prehodnotením aktuálneho stavu projektu a potenciálnymi návrhmi na vylepšenia. Prejdú sa otázky typu: Pomôže nám táto zmena k naplneniu stratégie? Je toto riešenie lepšie ako to, ktoré máme implementované? Čo najhoršie sa môže stať zakomponovaním tejto novej funkcionality? Ako to ovplyvní budget vyčlenený na túto funkcionalitu? Ilustračný obrázok etapizácia projektov Na začiatku má projekt pomerne jasné očakávanie, ale existuje len veľmi hmlistá predstava, aký bude jeho samotný priebeh a ako sa dopracovať k výsledku. Pri webových projektoch je čas na akékoľvek detailné rozanalyzovanie problému skrátený na úplne minimum a vývoj môže byť veľmi hektický. Nepomáha tomu ani fakt, že pre klientov je to takmer vždy vykročenie do neznámych vôd. Nápady sa kreujú za pochodu a až postupne sa odstraňujú neurčitosti. Pridávajú sa change requesty a objavujú sa nové nápady. Myšlienka, že na začiatku všetko do detailu vymyslíme a navrhneme je zlá.

Kde začať?

Zahájeniu webového projektu by mala predchádzať hrubá analýza riešenia, ktorá definuje hlavný rámec projektu a slúži ako výborný podklad na tvorbu rámcovej ceny a orientačného projektového plánu. Popisuje hlavné ciele projektu, typy užívateľov, ktorí budú s projektom pracovať, špecifikuje kľúčové požiadavky na funkčnosť a obmedzenia projektu a hrubý technický návrh riešenia. Na základe hrubej analýzy poznáme rozsah projektu, máme zadefinované riziká a rozplánované míľniky. Nič nebráni tomu, aby sme projekt rozdelili do jednotlivých fáz. Povaha projektu, ale hlavne schopnosť reakcie klienta, definujú dĺžku jednej iterácie - ideálne sú to 2-4 týždne. Do každej etapy nie je zahrnuté len samotné programovanie ale aj analýza požiadaviek a rizík, tvorba UX a grafického návrhu riešenia, architektúra projektu, testovanie a release.

Prichádzajú prvé problémy

Bežne sa stretávame s tým, že klient je braný ako nestranný pozorovateľ, ktorý nie je zapojený do procesu a nedokáže reagovať na riadenie zmien. Na podklady sa čaká 2 týždne, dať dokopy projektový team sa nedarí už tretí týždeň, projekt sa odovzdá po štyroch mesiacoch bez priebežných konzultácií a bez pripomienkovania jednotlivých návrhov a drobných zmien. Dôležité je proces nastaviť už hneď od začiatku tak, aby bol klient neoddeliteľnou súčasťou teamu a vedel urobiť priebežné rozhodnutia. Ideálne po skončení prvej iterácie treba pre klienta vytvoriť prístup k pracovnej verzii projektu, kde môže vidieť aktuálny progres a my máme k dispozícii bezprostredný feedback na riešenie. Pravidelne sa stretávame so snahou včleniť všetky nápady, všetky kritické funkcie a nice-to-have funkcie hneď v prvých iteráciách. Dokonca aj v prípadoch, keď sú tieto požiadavky zadefinované veľmi hmlisto a nie je ani úplne jasné, ako by mali fungovať. V takomto prípade je dobré mať jednotlivé funkcionality rozdelené do niekoľkých kategórií (critical, must, nice-to-have). Vďaka tomu máme jasné priority a zároveň máme jasné nice-to-have funkcie, ktoré môžeme odsunúť do neskorších iterácií alebo do “roadmapy“. Pri must a nice-to-have požiadavkách si v prvých iteráciách môžeme dovoliť určitú dávku neurčitosti. V pokročilej fáze projektu sa nápady na nové funkcionality môžu začať prelínať s návrhmi na change requesty už existujúcich funkcionalít. K change requestom je potrebné pristupovať veľmi opatrne, bez zváženia všetkých dopadov je to ako cesta lesom v noci bez svetla. Stanovenie budgetingu projektu je rozsiahla problematika sama o sebe. Je veľmi dôležité budgeting rozdeliť do etáp rovnako ako samotný vývoj projektu. Vďaka tomu môžeme po skončení iterácie nenásilne zakomponovať change requesty, prípadne zaradiť úplne nové funkcionality. Nechať si finančnú rezervu, hlavne pri start-up projektoch, je kritické. Veľmi negatívny efekt majú situácie, kedy by bolo vhodné zaimplementovať funkcionality, ktoré môžu výrazne dopomôcť k úspechu projektu, nie je však už k dispozícii zvyšný budget. V praxi, v závislosti od veľkosti vývojového teamu, môžu bežať paralelne aj desiatky webových a softvérových projektov. Niektoré menšie, niektoré väčšie, projekty sú v rozdielnych fázach vývoja, navzájom sa prelínajú, pričom počet a možnosti ľudských zdrojov sú stále obmedzené. Rozdelenie projektov do etáp nám umožňuje flexibilne pracovať so zdrojmi a teda, v prípade potreby, vieme pomerne dobre plánovať a presúvať zdroje medzi projektami.

Čo tým dosiahneme?

Etapizácia vývoja konkrétneho riešenia nám dáva veľmi dôležitú flexibilitu pri riadení webových projektov. Aké sú teda benefity etapizácie projektu?
  • Nemáme zviazané ruky, práve naopak, dodáva nám voľnosť.
  • Vieme pracovať s toľko obávanou neurčitosťou a nejasnými predstavami o fungovaní projektu.
  • Drahocenný čas ľudí v teame vieme efektívne využívať naprieč všetkými projektmi.
  • Umožňuje nám premyslené zakomponovanie nových požiadaviek a change requestov. Máme k dispozícii pravidelný feedback.
  • Vieme robiť updates, tak aby užívatelia postupne dostavali svoje nové funkcionality. Máme kompletný pohľad na projekt v pomere – čas / budget / kvalita.
Webový projekt je živý organizmus, kde neexistuje zlatá cesta, ktorá nám vyrieši všetky problémy pri jeho riadení. Ak si však správne rozdelíme projekt do jednotlivých etáp, tak aby to vyhovovalo projektovému manažérovi, vývojovému teamu a klientovi, tak je to najlepší predpoklad k hladkému priebehu realizácie projektu.  

Daľšie články

Táto stránka používa cookies

Súbory cookie používame na zhromažďovanie a analýzu informácií o výkone a používaní stránok, na poskytovanie funkcií sociálnych médií a na vylepšenie a prispôsobenie obsahu a reklám. Viac o cookies