Nikola Perić Metodologija upravljanja IKT projektima Matematički fakultet Beograd, april 2016.
Nikola Perić, MSc CS ICT Project Manager 10 years of International Project Management experience Executive IT Consultant, Agile Coach, Developer Oracle Business Consultant Speaker at Seminars, Conferences & Congresses Research interests: Cryptology, Internet of Things, Internet of Everything, E-business, Business Intelligence, Data Warehousing & Mining
KHAOTICEN d.o.o. an Optima Group Company a technology risk and information security company more research-development departments in Serbia presence on the USA, Russia, Europe, Middle East, Africa,
KHAOTICEN d.o.o. Expertise: Software & Web Applications Development Information security & Technology risk (Cryptography, Cryptanalysis, Biometrics, etc) Network Penetration Testing (External & Internal Corporate, Virtual and Cloud, Wireless, VoIP) Application-based Penetration Testing (Desktop, Web, Mobile, Database, Source Code) Forensic Testing
CILJ: 1. pitanje - Koliko je uspelih softverskih projekata? odgovor: Do 1/3 uspelih softverskih projekata.
CILJ: 1. pitanje - Koliko je uspelih softverskih projekata? odgovor: Do 1/3 uspelih softverskih projekata. 2. pitanje - Koji su razlozi propadanja softverskih projekata? odgovor: Razloga je mnogo!
CILJ: 1. pitanje - Koliko je uspelih softverskih projekata? odgovor: Do 1/3 uspelih softverskih projekata. 2. pitanje - Koji su razlozi propadanja softverskih projekata? odgovor: Razloga je mnogo! 3. pitanje - Kako se može osigurati duži životni vek softvera? odgovor: Primenom adekvatne metodologije upravljanja IKT projektima.
Statistika Održivost KPMG Consalting grupa OASIG The Standish Group The CHAOS Report manje od 30% uspelih projekata 40% delimično uspelih više od 30% neuspelih
Statistika Uzroci neuspeha Održivost KPMG Consalting grupa OASIG The Standish Group The CHAOS Report Nejasni zahtevi klijenata Nekontrolisanje promena Promenjivost vremenskog plana Loše tehnike i alat Promenljivost budžeta Loša komunikacija Nekontrolisanje rizika Neodgovarajuće testiranje Loš kvalitet Nerealna očekivanja,... manje od 30% uspelih projekata 40% delimično uspelih stablo (ne)razumevanja više od 30% neuspelih
Statistika Uzroci neuspeha Održivost KPMG Consalting grupa OASIG The Standish Group The CHAOS Report Nejasni zahtevi klijenata Nekontrolisanje promena Promenjivost vremenskog plana Loše tehnike i alat Promenljivost budžeta Loša komunikacija Nekontrolisanje rizika Neodgovarajuće testiranje Loš kvalitet Nerealna očekivanja,... Koliko uspešno je moguće upravljati projektom? Koliko brzo se dostiže zrelost u upravljanju projektom? U kojoj meri je moguće iskoristiti primere dobre prakse kako bi se što pre osetila korist upravljanja projektima? manje od 30% uspelih projekata 40% delimično uspelih više od 30% neuspelih stablo (ne)razumevanja Uspešno realizovan projekat Uspešan projekat
STABLO (NE)RAZUMEVANJA
Metodologija je formalizovani proces ili skup iskustava za realizovanje softvera, skup pravila koje razvojni tim prati, skup konvencija koje je organizacija odlučila da prati (tzv. pravila igre ), sistematičan pristup za organizovanje i realizaciju IKT projekata.
Metodologija upravljanja IKT projektima je Veština, Nauka i Umetnost.
Metodologija upravljanja IT projektima Projekat Upravljanje projektom Metodologija upravljanja IT projektima Vođa (rukovodilac) projekta Program Upravljanje programom Studija izvodljivosti projekta Projektni tim Projektni portfolio Upravljanje portfoliom Životni ciklus projekta Plan projekta izvori: Američki međunarodni institut za upravljanje projektima PMI Internacionalna asocijacija za upravljanje projektima IPMA Asocijacija za upravljanje projektima - APM
Metodologija upravljanja IT projektima TROŠKOVI RESURSI VREME TROUGAO OGRANIČENJA
Metodologija upravljanja IT projektima Za dobro i uspešno planiranje potrebno je odgovoriti na pet ključnih pitanja: O kom problemu se radi? Metrika uspešnosti projekta? Koji je cilj projekta? Koji se zadaci moraju obaviti? Pretpostavke, rizici ili prepreke koje mogu uticati na uspešnost projekta?
Osnovne funkcionalne oblasti metodologije upravljanja IT projektima
Metodologija upravljanja IT projektima GANT dijagrami (gantogrami) CPM dijagrami (metoda kritičkog puta) PERT dijagrami (tehnika evaluacije i revizije projekta) ISHIKAWA dijagrami (Kaora Ishikawa, 1943.) Tehnike u upravljanju projektima RACI matrica (matrica odgovornosti, WBS+OBS) PBS dijagrami (faze projekta) WBS dijagrami (projektni zadaci) OBS dijagrami (kopetencije)
Konus neizvesnosti (Barry Boehm, 1981.)
GANT dijagram
CPM dijagram
PERT dijagram
Ishikawa ( riblja kost ) dijagram
Metodologije upravljanja IKT projektima koje se najčešće koriste: Waterfall model (tzv. Vodopad ) Waterfall model sa prototipom Metodologija za paralelni razvoj V model Inkrementalni model Spiralni model
Metodologije upravljanja IKT projektima koje se najčešće koriste: Rapid Application Development (RAD) Rational Unified Process (RUP) MS Solutions Framework Oracle Unified Method (OUM) Extreme Programming (XP) Scrum PRINCE2
Koraci u tradicionalnom upravljanju projektima
Waterfall
Spiralni model
Rational Unified Process (RUP)
Agilno upravljanje projektima temelji se na tradicionalnom pristupu i njegovih pet faza, ali su te faze modifikovane kako bi bile prikladnije za primenu u praksi: planiranje (eng. Envision) odrediti viziju projekta i projektnu organizaciju (umesto inicijalne faze, da se naglasi važnost vizije); nagađanje (eng. Speculate) razviti model koji je određen karakteristikama, funkcionalnošću, vremenskim odrednicama, planom iteracija za ostvarivanje vizije (umesto planiranja, da se naglasi nesigurnost jer je plan povezan sa određenošću); istraživanje (eng. Explore) isporučivati testirane delove u kratkim periodima i stalno tražiti načine za smanjenje rizika i nesigurnosti unutar projekta (umesto upravljanja, jer je istraživanje iterativno, odnosno nelinearno); prilagođavanje (eng. Adapt) pregledati isporučene rezultate, trenutnu situaciju i ponašanje projektnog tima i sve što je potrebno prilagoditi na adekvatan način; zatvaranje (eng. Close) završiti projekat i naglasiti ključne stvari koje su naučene u toku samog rada na projektu. Agilno upravljanje projektima
Ekstremno upravljanje projektima (eng. Extreme Project Management) je nastalo na temeljima ekstremnog programiranja. Životni ciklus projekta se sastoji od pet faza, kojima je malo promenjen naziv: istraživanje, planiranje, iteracije do završnog međuproizvoda, pretvaranje u proizvod, održavanje i smrt. Ekstremno upravljanje projektima
Ekstremno programiranje
Ekstremno programiranje KOMUNIKACIJA JEDNOSTAVNOST VREDNOSTI EKSTREMNOG PROGRAMIRANJA POVRATNA SPREGA HRABROST POŠTOVANJE Vrednosti ekstremnog programiranja
Ekstremno programiranje BRZA POVRATNA SPREGA PRETPOSTAVLJENA JEDNOSTAVNOST PRINCIPI EKSTREMNOG PROGRAMIRANJA POSTEPENE PROMENE PRIHVATANJE PROMENA KVALITETAN RAD Principi ekstremnog programiranja
Ekstremno programiranje PROGRAMI- RANJE U PARU PLANIRANJE IGRE RAZVOJ VOĐEN CELOKUPNOST TIMA STALNA INTEGRACIJA POBOLJŠANJE DIZAJNA TESTOVIMA (REFAKTORISANJE) OBAVEZNE PRAKSE EKSTREMNOG PROGRAMIRANJA MALE VERZIJE STANDARDI U KODIRANJU KOLEKTIVNO VLASNIŠTVO NAD KODOM JEDNOSTAVAN DIZAJN METAFORA U SISTEMU ODRŽIVI KORAK Obavezne prakse ekstremnog programiranja
Ekstremno programiranje
Ekstremno programiranje KODIRANJE TESTIRANJE AKTIVNOSTI EKSTREMNOG PROGRAMIRANJA SLUŠANJE DIZAJN Aktivnosti ekstremnog programiranja
Korišćenjem XP-a: vreme razvoja softvera je znatno kraće, orjentisanost ka ljudima, pre nego ka procesima, komunikacija licem u lice, pre nego obimna dokumentacija, želje klijenata su pravilno implementirane, promene se lakše dodaju u projekat, uvek postoji funkcionalna verzija, greške su znatno smanjenje tokom programiranja, odsustvo prekovremenog rada, prvo se testira, pa se onda kodira testovi za svaki deo programa, cilj je postići grub, ali upotrebljiv sistem na početku, pa ga tek onda poboljšavati,...
Industrijsko ekstremno programiranje (proširenje primene ekstremnog programiranja)
Scrum
Zaključak Svaki projekat je jedinstven i priča za sebe. Moguće je da ni jedan od postojećih pristupa metodologije upravljanja IT projektima neće zadovoljiti baš sve projekte. Umešno kombinovanje sistemskog i situacionog pristupa je nešto što se nameće kao opšte prihvatljiv kompromis pri razvoju metodologije upravljanja projektima unutar specifičnih organizacionih sistema. Još jedno od mogućih rešenja je stvaranje generičke metodologije, koja bi se oslanjala na postojeće pristupe upravljanja, a koju bi bilo moguće oblikovati prema datom projektu, čak i prilagoditi u toku samog projekta. Vrlo važan korak u tom oblikovanju predstavlja učenje na iskustvima završenih projekata.
Zaključak Ključ za definisanje uspeha jeste da se unapred definišu kriterijumi uspeha IKT projekta, poput: budžet projekta, trajanje projekta, iskorišćenost resursa, nivo kvaliteta, brzina povratka investicija, stepen inovativnosti, uticaj na tržište, zadovoljan klijent,... Dobro i pravovremeno planiranje realizacije IKT projekta je 60-70% uspešno urađenog posla!!! Metodologije upravljanja IKT projektima su realnost, to svakako radi, i postoje da bi se koristile i bile od koristi.
H V A L A Nikola Perić, MSc CS ICT Project Manager KHAOTICEN d.o.o. nperic@khaoticen.com
H V A L A careers@khaoticen.com praksa@khaoticen.com www.khaoticen.com