Životni ciklus projekta

Osnovni životni ciklusi projekta

Životni ciklus projekta (Project Life Cycle) je skup sukcesivnih ili preklapajućih faza projekta određenih prirodom projekta, oblašću i potrebama za upravljanjem projektom. PLC definiše faze projekta, ključne tačke (npr. Phase-gates, Milestones ili Kill-point), pripadajuće aktivnosti, ulaze, izlaze i ključne elemente, te na taj način pomaže u struktuiranom upravljanju projektom. U najširem smislu, pod ovaj segment se mogu uklopiti i životni ciklusi (kontinualnih) isporuka (Continuous Delivery Life Cycle), sa Continuous Integration i Continuous Deployment praksama.

Uzimajući u obzir različitost projekata i industrija u kojima se realizuju, od posebne važnosti je razumevanje životnog ciklusa projekta. Generalno, odnosno uopšteno gledano, životni ciklus projekta može biti prediktivni (plan-driven), iterativni, inkrementalni i adaptivni (agilni):

  • Prediktivni tip koristi prednosti koje su poznate i dokazane. Predstavlja više tradicionalni pristup, s najvećim delom planiranja unapred, a zatim sledi sekvencijalno izvršavanje. Na ovaj način se smanjuje neizvesnost i složenost, što omogućava segmentaciju posla u sekvence
  • Iterativni tip omogućava korišćenje povratnih informacija o delimično završenom ili nedovršenom poslu, a u cilju poboljšanja i/ili modifikacije tog dela posla
  • Inkrementalni tip omogućava isporučivanje podskupa proizvoda/posla, koji korisnik može odmah početi koristiti
  • Agilni (adaptivni) tip koristi osobine iterativnih i inkrementalnih tipova uz visoku adaptivnost promenama

Bitno je istaći da je suštinska razlika životnih ciklusa u tome kada se vrši planiranje i u kojoj meri.

Kontinuum životnog ciklusa projekta (PMI)

Project Life Cycle

U zavisnosti od tipa životnog ciklusa mogu se posmatrati i razlike u klasičnom smislu, odnosno u kontekstu obima, troškova i vremena.

PLC Types

Generički prediktivni Životni ciklus projekta (PMI)

Životni ciklus projekta

Ilustrativni prikaz životnih ciklusa projekta

Project Life Cycle Illustrative

Disciplined Agile Life Cycles (DAD Life Cycles)

Fokus DAD-a je na isporuci (Delivery). Puni životni ciklus sistema/proizvoda kreće od početne ideje za proizvod, preko konstrukcije i isporuka, do operacija i podrške, a često ima mnogo iteracija s isporukama.

A high-level view of the Full Delivery Life Cycle

DA definiše više životnih ciklusa. Svaki tim je u jedinstvenoj situaciji, te se ostavlja mogućnost izbora između životnih ciklusa:

  • The Agile Life Cycle: A Scrum-based Life Cycle (Project Based)
  • The Lean Life Cycle: A Kanban-based Life Cycle (Project Based)
  • The Continuous Delivery: Agile Life Cycle
  • The Continuous Delivery: Lean Life Cycle
  • The Exploratory (Lean Startup) Life Cycle
  • The Program Life Cycle for a Team of Teams
  • Serial Life Cycle (npr. V-model)

DA tim bira tip životnog ciklusa, a pomoć pri izboru je data sledećim dijagramom toka.

Software Development Life Cycle (SDLC)

SDLC modeli se najčešće definišu prema različitim pristupima koji se koriste u razvoju softvera. Odabir odgovarajućeg tipa SDLC-a zavisi od specifičnih potreba projekta, ciljeva, veličine, složenosti, vrste softvera, vremena itd.  Postoji više različitih modela SDLC-a, a u najčešće korišćene spadaju:

    • Model vodopada (Waterfall): Ovaj pristup je linearan i sledi jasno definisanu sekvencu faza, gde se jedna faza završava pre nego što se započne sledeća. Često koristi u projektima gde se ne očekuju čestr promenr zahteva te kada je potrebno (i neophodno) obimnije planiranje.
    • V-model: Predstavlja varijaciju Waterfall SDLC-a u kome se naglašava testiranje tokom celog procesa razvoja. U ovom pristupu, faze razvoja softvera i faze testiranja su paralelne, što pomaže u ranom otkrivanju problema i smanjuje rizik.
    • Inkrementalni model: U ovom pristupu, softver se razvija u malim delovima koji se nazivaju inkrementi. Svaki inkrement se razvija i testira, a zatim se integriše s prethodnim inkrementima kako bi se stvorio funkcionalni softver. Inkrementalni model se često koristi u projektima gde je potrebno brzo isporučiti funkcionalnosti, ali s druge strane omogućiti i dodavanje novih funkcionalnosti tokom procesa razvoja.
    • Spiralni model: Zasniva se na ponavljajućem ciklusu faza koji omogućava fleksibilnost i prilagodljivost promenama. Svaki ciklus faza je nazvan spiralom, a svaka spirala predstavlja korak napred u razvoju softvera.
    • Prototip model: Ovaj model se koristi kada je potrebno brzo stvoriti funkcionalni prototip softvera. U ovom pristupu, razvija se kratak i jednostavan softverski prototip koji se koristi za testiranje i dobijanje povratnih informacija od korisnika. Na osnovu povratnih informacija, razvija se konačna verzija softvera. Često se koristi u projektima gde su potrebne nove i inovativne ideje, gde korisnički zahtevi nisu jasni ili se često menjaju.

TBC…..

Scroll to Top