Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u...

21
Zavod za telekomunikacije Poslijediplomski studij za stjecanje doktorata znanosti Ak.g. 2008./2009. Konkurentni sustavi Siječanj 2009. Konkurentnost u programskim procesima Siječanj 2009. Konkurentni sustavi 2 od 126 Sadržaj predavanja Konkurentno in Konkurentno inženjerstvo enjerstvo Konkurentnost u modelima programskih procesa Konkurentnost u modelima programskih procesa Brzi razvoj programskog proizvoda Brzi razvoj programskog proizvoda Konkurentnost u fazama Konkurentnost u fazama životnog ciklusa programskog proizvoda ivotnog ciklusa programskog proizvoda Podr Podrška razvoju programskog proizvoda ka razvoju programskog proizvoda Upravljanje konfiguracijom Upravljanje konfiguracijom Mjerenja programskih proizvoda i procesa Mjerenja programskih proizvoda i procesa Alati za podr Alati za podršku konkurentnih aktivnosti u procesu ku konkurentnih aktivnosti u procesu Siječanj 2009. Konkurentni sustavi 3 od 126 Konkurentnost Siječanj 2009. Konkurentni sustavi 4 od 126 Uvod KVALITETA PROCES METODE POMAGALA Razumijevanje Komunikacija Poboljšanje procesa Upravljanje procesom Automatizirana podrška izvršavanju procesa Softverska organizacija Programski proces Siječanj 2009. Konkurentni sustavi 5 od 126 Programski proces Strukturirani skup aktivnosti skup aktivnosti koje zahtijevaju npr. specifikacija, dizajn, validacija, evolucija itd. Aktivnosti variraju ovisno o organizaciji i sustavu koji se razvija Proces mora biti eksplicitno modeliran - upravljanje Zna Značajke procesa ajke procesa Razumljivost Vidljivost Pouzdanost Kvaliteta Glavno područje za poboljšanje kvalitete programskog proizvoda jer sadrži aktivnosti tijekom kojih se programski proizvod ili neki njegov dio stvarno kreira!!! Siječanj 2009. Konkurentni sustavi 6 od 126 Konkurentne aktivnosti u životnom ciklusa PP t Zahtjevi Zahtjevi Dizajn Dizajn Implementacija Implementacija Testiranje Testiranje Isporuka Isporuka Odr Održavanje avanje Upravljanje Upravljanje konfiguracijom konfiguracijom Mjerenja Mjerenja Upravljanje Upravljanje projektom projektom Upravljanje Upravljanje kvalitetom kvalitetom

Transcript of Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u...

Page 1: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Zavod za telekomunikacije

Poslijediplomski studij

za stjecanje doktorata znanosti

Ak.g. 2008./2009.

Konkurentni sustavi

Siječanj 2009.

Konkurentnost u programskim procesima

Siječanj 2009.Konkurentni sustavi 2 od 126

Sadržaj predavanja

•• Konkurentno inKonkurentno inžženjerstvoenjerstvo

•• Konkurentnost u modelima programskih procesaKonkurentnost u modelima programskih procesa

•• Brzi razvoj programskog proizvodaBrzi razvoj programskog proizvoda

•• Konkurentnost u fazama Konkurentnost u fazama žživotnog ciklusa programskog proizvodaivotnog ciklusa programskog proizvoda

•• PodrPodršška razvoju programskog proizvodaka razvoju programskog proizvoda

–– Upravljanje konfiguracijomUpravljanje konfiguracijom

–– Mjerenja programskih proizvoda i procesaMjerenja programskih proizvoda i procesa

•• Alati za podrAlati za podrššku konkurentnih aktivnosti u procesuku konkurentnih aktivnosti u procesu

Siječanj 2009.Konkurentni sustavi 3 od 126

Konkurentnost

Siječanj 2009.Konkurentni sustavi 4 od 126

Uvod

KVALITETA

PROCES

METODE

POMAGALA

• Razumijevanje• Komunikacija• Poboljšanje procesa• Upravljanje procesom• Automatizirana podrška

izvršavanju procesa

Softverska organizacija

Programski proces

Siječanj 2009.Konkurentni sustavi 5 od 126

Programski proces

♦ Strukturirani skup aktivnostiskup aktivnosti koje zahtijevaju npr. specifikacija, dizajn, validacija, evolucija itd.

♦ Aktivnosti variraju ovisno o organizaciji i sustavu koji se razvija♦ Proces mora biti eksplicitno modeliran - upravljanje

♦♦ ZnaZnaččajke procesaajke procesaRazumljivost

Vidljivost

Pouzdanost

Kvaliteta

♦ Glavno područje za poboljšanje kvalitete programskog proizvoda jer sadrži aktivnosti tijekom kojih se programski proizvod ili neki njegov dio stvarno kreira!!!

Siječanj 2009.Konkurentni sustavi 6 od 126

Konkurentne aktivnosti u životnom ciklusa PP

tZahtjevi Zahtjevi DizajnDizajn Implementacija Implementacija TestiranjeTestiranje Isporuka Isporuka OdrOdržžavanjeavanje

Upravljanje Upravljanje konfiguracijomkonfiguracijom

MjerenjaMjerenja

Upravljanje Upravljanje projektomprojektom

Upravljanje Upravljanje kvalitetomkvalitetom

Page 2: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 7 od 126

Konkurentnost u životnom ciklusu - primjer

PLP = Product Line ProcessBOS = Bussiness Opportunity Scanning ProcessPPP = Product Provisioning Process

Siječanj 2009.Konkurentni sustavi 8 od 126

Ostali aspekti konkurentnosti

tZahtjevi Zahtjevi DizajnDizajn Implementacija Implementacija TestiranjeTestiranje Isporuka Isporuka OdrOdržžavanjeavanje

♦ Distribuirani razvoj

♦ Rad u timu

♦ Raznovrsni korisnici

♦ BRZI RAZVOJBRZI RAZVOJ♦♦ Osobni i timski procesi

Siječanj 2009.Konkurentni sustavi 9 od 126

Konkurentno inženjerstvo

• Istovremeno, interaktivno i interdisciplinarno uključivanje ljudi različitih tehničkih područja (dizajn, proizvodnja, podrška) u zajedničke projekte s ciljem skraćivanja razvojnog ciklusa održavajući pouzdanost, performanse proizvoda, kvalitetu i podršku korisnicima.

B.S. Dhillon. Engineering and Technology Management Tools and Applications. Artech House, 2002.

Siječanj 2009.Konkurentni sustavi 10 od 126

Konkurentno inženjerstvo

• KI postoji odavno, u svojoj suvremenoj formi početak 1980-tih – FordMotor Company, Taurus model

Siječanj 2009.Konkurentni sustavi 11 od 126

Ciljevi konkurentnog inženjerstva

1. Poboljšati kvalitetu proizvoda

2. Smanjiti troškove razvoja proizvoda

3. Smanjiti troškove proizvodnje

4. Smanjiti vrijeme do pojave na tržištu

5. Poboljšanje kompetitivnosti

6. Smanjiti troškove testiranje7. Povećati granice zarade

8. Smanjiti troškove održavanja

Siječanj 2009.Konkurentni sustavi 12 od 126

Osnovna načela konkurentnog inženjerstva

• Strukturiranje posla

– za razliku od računala ljudi ne mogu raditi istovremeno na nekoliko zadataka

– sistematsko strukturiranje posla ili radne okoline tako da se pojedini zadatak može izvršiti neovisno od strane čovjeka ili računala

Page 3: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 13 od 126

• Dojam vlasništva

• Postojanost ciljeva i svrhe

• Sklonost timskom radu

• Uzajamno razumijevanje

• Ujednačavanje znanja – velika domena: pomagala za podršku donošenja odluka u kombinaciji s bazom

ljudskog znanja

Osnovna načela konkurentnog inženjerstva

Siječanj 2009.Konkurentni sustavi 14 od 126

Osnovna načela konkurentnog inženjerstva

• Rano otkrivanje problema

• Rano donošenje odluka

• stalna analiza i otkrivanje potencijalnih problema/rizika, pogotovo tijekom početnih faza razvoja

Siječanj 2009.Konkurentni sustavi 15 od 126

Primjena principa KI

• Čimbenici koji definiraju stupanj i potrebe za KI unutar organizacije:

– veličina

– tip proizvoda

– razvojni i proizvodni procesi

– fizička lokacija grana kompanije

Siječanj 2009.Konkurentni sustavi 16 od 126

Timovi unutar konkuretnog inženjerstva

• Suradni timovi

• Članovi koriste svoje ekspertno znanje za postizanje ciljeva tima

Ciljevi:

• pojačana suradnja• efikasna komunikacija

• česte provjere razvoja

• dodjela odgovornosti

Siječanj 2009.Konkurentni sustavi 17 od 126

Suradnja u timu

Elementi:

• suradnja

• komunikacija

• kompromisi

• koordinacija• privrženost

• konsenzus

• kontinuirano poboljšanje

Siječanj 2009.Konkurentni sustavi 18 od 126

Preduvjeti uspješnog rada u timu

• Preduvjeti vezani uz posao

– Posao kojeg tim treba obaviti treba biti eksplicitno definiran

– Posao treba biti razumljiv i smislen

– Tim treba biti dobro upoznat s poslom koji treba obaviti

Page 4: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 19 od 126

Preduvjeti uspješnog rada u timu

• Preduvjeti vezani uz tim– Članovi tima trebaju biti jasno definirani– Članovi se trebaju međusobno poznavati (ili imati mogućnost

upoznati se na početku projekta)– Članovi trebaju znati vlastitu ulogu u projektu i uloge ostalih članova– Članovi su svjesni svoje odgovornosti i odgovornosti ostalih članova – Članovi trebaju imati znanja i vještine da izvrše zadani posao– Članovi trebaju biti motivirani

Siječanj 2009.Konkurentni sustavi 20 od 126

Preduvjeti uspješnog rada u timu (2)

• Preduvjeti vezani uz nadzor

• Nadzor nad izvršavanjem posla

• Nadzor nad aktivnostima tima

• Nadzor nad odnosima u timu (rješavanje problematičnih situacija, međusobno upoznavanje)

– Tim treba imati nadzor nad aktivnostima koje poduzima za izvršenje zadanog posla

– Tim ima kontrolu nad procesom koji koristi

– Tim treba biti obaviješten o napretku posla

Siječanj 2009.Konkurentni sustavi 21 od 126

Preduvjeti uspješnog rada u timu (3)

• Radni uvjeti tima

– prostor

– načini komunikacije

– tehnologija (obuka!)

– dostup literaturi i ostalim izvorima informacija

– nagrada za izvršeni posao

– ostale pogodnosti

Siječanj 2009.Konkurentni sustavi 22 od 126

Kohezija tima

• Čvrsta povezanost članova tima u radnu cjelinu– tim je smješten na istu fizičku lokaciju i provodi puno vremena

zajedno – članovi komuniciraju slobodno i često– surađuju, uzajamno se poštuju i podupiru jedni druge– članovi dijele iste ciljeve i vrijednosti, te imaju slične prioritete– u timovima s malom kohezijom: članovi djeluju kao pojedinci, bez

velike interakcije s ostalima

Siječanj 2009.Konkurentni sustavi 23 od 126

Visoko efikasni tim

• Postoji odanost timu i želja da se ostvare zadani rezultati

• Postoji i izražen je identitet tima

• Članovi tima imaju potrebne kompetencije

• Članovi posjeduju vještine koje se nadopunjuju s vještinama ostalih članova

• Postoji međusobno povjerenje i uzajamna ovisnost

• Komunikacijski kanali unutar tima su poznati i efikasni

• Postoji i užitak u izvršavanju zadanih poslova.

Siječanj 2009.Konkurentni sustavi 24 od 126

Konkurentnost u modelima programskih procesa

Page 5: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 25 od 126

Životni ciklus programskog proizvoda

Definicija i analiza zahtjeva

Dizajn sustava

Dizajn programa

Testiranje programa

Implementacija programa

Testiranje sustava

Integracijsko testiranje

Isporuka

Povlačenje iz uporabe

Održavanje

Siječanj 2009.Konkurentni sustavi 26 od 126

Modeli programskih procesa

• Raznolikost procesa razvoja programskog sustava• Ne postoji univerzalni programski proces!• Izbor procesa razvoja ovisi o tipu i veličini programskog proizvoda

Primjeri: ♦ poslovna aplikacija - aplikacija za obradu informacija u stvarnom

vremenu ♦ mala aplikacija (1 programer) – veliki programski sustav

(multinacionalna kompanija)

♦ Različite organizacije - različiti procesi za razvoj istog tipa programskih proizvoda.

Siječanj 2009.Konkurentni sustavi 27 od 126

Modeli programskih procesa(2)

•• VodopadniVodopadni modelmodel (70-te)

•• Evolucijski modelEvolucijski model•• IterativniIterativni

Iteracija 1 Iteracija 2 Iteracija 3

Primjer:♦Rational Unified Process (RUP)

Siječanj 2009.Konkurentni sustavi 28 od 126

Rational Unified Process

Organizirani i dokumentirani skup načela, metoda i procesa koji povećavaju kvalitetu i produktivnost razvoja programskog proizvoda.

Software Best Practices

Siječanj 2009.Konkurentni sustavi 29 od 126

Problemi prilikom razvoja projekata

Simptomi

• zahtjevi nisu ispunjeni• nemogućnost promjene zahtjeva• loša integracija• teško održavanje• kasno otkrivanje grešaka• loša kvaliteta• razmimoilaženje programera

Uzrocinedovoljni zahtjevi

slaba komunikacija

nestabilna arhitektura

prevelika kompleksnost

neotkrivenenedosljednosti

slabo testiranje

subjektivna procjena

vodopadni razvoj

nekontrolirana promjena

nedovoljna automatizacija

•• Iterativni Iterativni razvojrazvoj•• Upravljanje Upravljanje zahtjevimazahtjevima

••Komponentna Komponentna arhitekturaarhitektura

•• Vizualno Vizualno modeliranjemodeliranje(UML)(UML)•• Provjera Provjera kvalitetekvalitete•• Kontrola Kontrola promjenapromjena

BestBestPracticesPractices

Siječanj 2009.Konkurentni sustavi 30 od 126

Rational Unified Process - arhitektura

Vrijeme

Jezgrenediscipline

Discipline podrške

Page 6: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 31 od 126

Disciplina

• Skup srodnih aktivnosti koje imaju zajedničko područje interesa unutar projekta

• Bolje razumijevanje projekta i redoslijeda aktivnosti

• Svaka disciplina se prikazuje određenim skupom modela:– Model uporabnog slučaja– Dizajn model– Implementacijski model– Testni model

• Radni tok discipline se sastoji od niza međusobno poredanih aktivnosti, s ciljem ispunjenja određenog zadatka

Siječanj 2009.Konkurentni sustavi 32 od 126

Artefakt

• Radni proizvod procesa: Uloge koriste artefakte za obavljanje aktivnosti i pritom proizvode nove

• Artefakti su odgovornost pojedine uloge

• Artefakti nisu samo tekstualni dokumenti

• Podložni su kontroli verzije i upravljanju promjenama

• Primjer:

– Design Model– Plan projekta

– Dio programskog koda

Slika: Glavni artefakti u procesu te tok informacija između njih

Siječanj 2009.Konkurentni sustavi 33 od 126

Uloga

• Definira ponašanje i odgovornosti pojedinca ili tima koji obavlja ulogu– Aktivnosti koje pojedinac mora

obavljati

– Artefakte za koje je odgovoran• Uloge NE PREDSTAVLJAJU

pojedinačne osobe• Jedna osoba može imati više uloga• Više osoba može imati jednu ulogu

Siječanj 2009.Konkurentni sustavi 34 od 126

Pogled na arhitekturu

• Postoji ukupno 4+1 pogleda na arhitekturu:– Slučaj uporabe

– Logički– Implementacijski– Procesni

– Ugradbeni• Odgovara na pitanja:

– Koji su glavni dijelovi?– Kako ih međusobno uklopiti?

– Postoji li okvir na koji se može dodati preostali dio programskog proizvoda?

LogicalView

ImplementationView

ProcessView

DeploymentView

Use CaseView

Analyst / DesignerSW Architect

ProgrammerTester

Performance EngineerSupport

AdministratorDelivery, Installation

StakeholderEnd UserAnalystTester

Project Manager

Siječanj 2009.Konkurentni sustavi 35 od 126

Prilagodba RUP-a pojedinom projektu

• RUP tailoring

• Ovisi o veličini i lokaciji razvojnog tima, veličini i ciljevima projekta projekta

• Identificirati rizike

• Razina formalizama u projektu – što se sve mora dokumentirati?

•• Razina konkurentnostiRazina konkurentnosti

• Broj i format dokumentacije

• Odabrati ono što je neophodno i korisno za određeni projekt

Siječanj 2009.Konkurentni sustavi 36 od 126

Brzi razvoj programskog proizvoda

Page 7: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 37 od 126

Uvod

Brzi razvojBrzi razvoj (Rapid Application Development - RAD)

• kraće vrijeme do isporuke na tržište• zadržana kvaliteta prog. proizvoda

• veći napori na početku projekta

•• Jedan od glavnih principa RADJedan od glavnih principa RAD--aa:uvođenje konkurentnih aktivnosti (izbjegavanje aktivnosti, rano izvještavanje o rezultatima)

Konkurentne aktivnosti:Konkurentne aktivnosti:♦ postojanje informacija♦ koordinacija♦ kontrola napretka procesa i proizvoda.

Siječanj 2009.Konkurentni sustavi 38 od 126

Brzi razvoj

Pretpostavke brzog razvojaPretpostavke brzog razvoja

• U nekim situacijama 80% rješenje može se proizvesti u 20% vremena potrebnog za izradu cijelog rješenja.

• Poslovni zahtjevi se mogu implementirati u potpunosti čak i ako neki funkcijski zahtjevi nisu implementirani.

• Prihvatljivost se može postići prihvaćanjem min. skupa korisničkih zahtjeva.

Primjena:Primjena:• samostalne aplikacije• sustavi čije performanse nisu kritične• pouzdanost nije kritična• tehnologija starija od 1 godine

Siječanj 2009.Konkurentni sustavi 39 od 126

Brzi razvoj (2)

Za uspjeh:

• potreban dobar balans metoda, pomagala, osoblja i upravljanja

RAD o(ne)mogućavaju:

•• tip programskog proizvodatip programskog proizvoda (složenost domene/aplikacije)

•• projektprojekt (arhitektura, infrastruktura)

• osoblje (vještine, menadžment)

•• platformaplatforma

Siječanj 2009.Konkurentni sustavi 40 od 126

Modeli brzog razvoja

•• VodopadniVodopadni model s preklapanjem fazamodel s preklapanjem faza

•• VodopadniVodopadni model s paralelnim model s paralelnim podprojektimapodprojektima

•• DailyDaily BuildBuild and and SmokeSmoke TestTest

•• JointJoint ApplicationApplication DesignDesign (JAD):(JAD):

Continue withdevelopment

?

Approval?

Yes

Yes

Implementation

JAD Planningphase

system goalsprelim inary efforts

schedule estimates

JAD Designphase

detailed UI designdatabase schema

schedule estimates

Siječanj 2009.Konkurentni sustavi 41 od 126

Konkurentnost u fazama životnog ciklusa programskog proizvoda

Siječanj 2009.Konkurentni sustavi 42 od 126

Konkurentne aktivnosti prikupljanja zahtjeva

POSLOVNI CILJEVI

PROBLEMI KOJE TREBA

RIJEŠITI

OGRANIČENJA SUSTAVA

Utvrđivanje Utvrđivanje ciljevaciljeva

STRUKTURA ORGANIZACIJE

DOMENA APLIKACIJE

POSTOJEĆI SUSTAVI

IDENTIFIKACIJA SUDIONIKA

DODJELA PRIORITETA CILJEVIMA

FILTRIRANJE DOM. ZNANJA

ZAHTJEVI SUDIONIKA

ZAHTJEVI DOMENE

ORGANIZAC. ZAHTJEVI

Prikupljanje Prikupljanje znanjaznanja

Organiziranje Organiziranje znanjaznanja

Dokumentiranje Dokumentiranje zahtjevazahtjeva

Page 8: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 43 od 126

Praćenje zahtjeva

•• RequirementsRequirements traceabilitytraceability

PraPraććenje s obzirom na izvor zahtjeva:enje s obzirom na izvor zahtjeva:• Veza između zahtjeva i osoba/dokumenata koji ih specificiraju

PraPraććenje s obzirom na naenje s obzirom na naččelo zahtjevaelo zahtjeva:• Veza zahtjeva i objašnjenja zašto je zahtjev specificiran

PraPraććenje s obzirom na druge zahtjeve:enje s obzirom na druge zahtjeve:• Veza između svih zahtjeva koji su međusobno ovisni, veza je dvosmjerna

PraPraććenje s obzirom na arhitekturu:enje s obzirom na arhitekturu:• Veza zahtjeva i podsustava u kojima su zahtjevi implementirani, posebno važno kod

distribuiranog razvoja.

PraPraććenje s obzirom na dizajn:enje s obzirom na dizajn:• Veza zahtjeva i specifične sklopovske ili programske komponente koja se primjenjuje u

implementaciji zahtjeva.Siječanj 2009.Konkurentni sustavi 44 od 126

Konkurentne aktivnosti analize zahtjeva

Provjera nužnosti

Provjera konzistentnosti i

kompletnostiProvjera

izvedivosti

Nepotrebni zahtjevi

Nekonzist. i nekompletni

zahtjeviNeizvedivi

zahtjevi

ANALIZAANALIZA

Diskusija zahtjeva

Dodjela prioriteta zahtjevima Dogovor PREGOVORIPREGOVORI

Siječanj 2009.Konkurentni sustavi 45 od 126

Upravljanje zahtjevima

Siječanj 2009.Konkurentni sustavi 46 od 126

Primjer pomagala za zahtjeve

• Rational RequisitePro, podrška prikupljanju i upravljanju

• mogućnost praćenja - matrica, stablo

Siječanj 2009.Konkurentni sustavi 47 od 126

Primjer pomagala za zahtjeve (2)

Siječanj 2009.Konkurentni sustavi 48 od 126

Primjer pomagala za zahtjeve (3)

Page 9: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 49 od 126

Distribuirani razvoj

Siječanj 2009.Konkurentni sustavi 50 od 126

Distribuirani razvoj (1)

PokretaPokretačči:i:• Trend globalizacije• Dinamika tržišta (kratki proizvodni ciklusi)Ostale moguOstale moguććnosti:nosti:• Lokalizacija• Pool raspoloživih vještinaTipovi distribuiranih projekata:Tipovi distribuiranih projekata:• Open Source (dobrovoljni razvijatelji dodaju promjene, jezgreni tim

razvijatelja prihvaća ili odbija promjene)• Virtualne korporacije• Organizacije s više sjedišta

Siječanj 2009.Konkurentni sustavi 51 od 126

Distribuirani razvoj (2)

• Distribuirani timovi

☺ Ušteda troškova i vremena

☺ Brzi dostup do eksperata

☺ Brzi dostup do sklopovlja

• Pomagala:

video-konferencije

pomagala grupne podrške

Siječanj 2009.Konkurentni sustavi 52 od 126

Distribuirani razvoj (3)

• Ayoma:

“Distribuirani konkurentni razvoj zamjenjuje sekvencijalni centralizirani razvoj u velikim telekomunikacijskim programskim projektima.”

Prednosti:

• Drastično smanjenje vremena razvoja

• Veća produktivnost

Siječanj 2009.Konkurentni sustavi 53 od 126

Distribuirani razvoj (4)

Osnovni izazovi distribuiranog razvoja:• Komunikacija • Koordinacija

• Vremenski pomak

• Različite kulture

• Različite interpretacije

• Poznavanje ljudi

• Zajednički repozitorij

Siječanj 2009.Konkurentni sustavi 54 od 126

Distribuirani razvoj (5)

Problemi:Problemi:Suradnja Suradnja – (podrška neformalnoj komunikacija i pregovorima - sustavi

grupne podrške)– povećavaju se troškovi i smanjuju mogućnosti u distr. razvoju

Upravljanje dokumentacijomUpravljanje dokumentacijom– Upravljanje konfiguracijom (paralelni rad na više verzija)– Nekonzistentnosti: ne mogu se izbjeći, trebaju se identificirati i

pratiti– Onemogućen centralizirani pristup problemima! (☺?)

Page 10: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 55 od 126

Distribuirani razvoj (6)

Upravljanje projektom

• Modeliranje i definiranje procesa

• Planiranje i utvrđivanje rokova

• Praćenje procesa

Upravljanje znanjem

• Eksplicitno znanje• “Pronalaženje eksperata”

Lokalizacija

• Različiti centri distribuiranog razvoja imaju različite potrebe

• Različiti centri imaju primjenjuju različite metode/pomagala

Siječanj 2009.Konkurentni sustavi 56 od 126

PP s javno dostupnim kodom – “Open source software”

• Primjer distribuiranog razvoja• Open source SW pruža korisnicima :

– slobodu korištenja – slobodu mijenjanja ili prilagođavanja– slobodu distribucije.

• Uz program se distribuira:– izvorni kod– licenca – pravni dokument koji osigurava ove slobode

• Drugi naziv je slobodan softver (free software)

Siječanj 2009.Konkurentni sustavi 57 od 126

Nastanak “Open Source” softvera

• 1983. godine Richard Stallman pokreće Free Software Foundation -“Free as in free speech, not as in free beer”

• 1991. godine Linus Torvalds počinje pisati jezgru operacijskog sustava kojeg naziva Linux

• 1998. godine nastaje Open Source Initiative

• Razvojem Interneta dolazi i do punog korištenja Open SourceSoftware-a.

Siječanj 2009.Konkurentni sustavi 58 od 126

Primjeri “Open Source” softvera

• Linux– operacijski sustav temeljen na Unixu

• Apache– Web poslužitelj korišten na preko 50% poslužitelja

• Sendmail– poslužitelj koji procesira oko 80% ukupne elektroničke

pošte• OpenOffice

– skup uredskih alata

Siječanj 2009.Konkurentni sustavi 59 od 126

Razvoj “Open Source” softvera

• Tipičan open source projekt ima ove osobine:

– razvoj je baziran na Internetu

– vodeći tim razvijatelja (do 20ak članova) donosi odluke konsenzusom

– svi korisnici mogu se uključiti u proces razvoja i dati svoj doprinos

– projekt se u svakom trenutku može razgranati na dva projekta.

Siječanj 2009.Konkurentni sustavi 60 od 126

Prednosti razvoja “Open Source” softvera

☺ Omogućava neovisne recenzije:

– moguć velik broj recenzenata

– posljedica je kvalitetniji i pouzdaniji programski proizvod

☺ Omogućava lakše otkrivanje i brže ispravljanje neispravnosti

– velik broj razvijatelja može paralelno tražiti i ispravljati neispravnosti

– posljedica je stabilniji i pouzdaniji programski proizvod.

Page 11: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 61 od 126

Problemi razvoja “Open Source” softvera

Broj razvijatelja može biti velik i oni su najčešće prostorno dislocirani - komunikacija.

Može se dogoditi da više razvijatelja istovremeno radi na istom dijelu koda.

Različiti projekti mogu dijeliti dio koda

Siječanj 2009.Konkurentni sustavi 62 od 126

Sustavi grupne podrške - općenito

• Sustavi koji osiguravaju programsku podršku članovima nekog tima za postizanje zajedničkog cilja.

• Članovi tima:

– rade na različitim mjestima i u različito vrijeme

– ista ili neka druga radna organizacija

– surađuju

– komuniciraju

– stalni - privremeni članovi tima

– zahtjeva se brzi odaziv

– nemogućnost zajedničkog sastanka

– različiti izvori znanja.

Siječanj 2009.Konkurentni sustavi 63 od 126

Sustavi grupne podrške (3)

Prednosti sustava grupne podrPrednosti sustava grupne podršškeke:

☺ Paralelna obrada informacija

☺ Sudjelovanje velikog broja različitih sudionika

☺ Brze diskusije

☺ Agresivni - povučeni sudionici - u jednakom statusu

☺ Uštede na putovanjima.

Nedostaci sustava grupne podrNedostaci sustava grupne podršškeke:

gubitak konteksta i fokusa diskusije

mogućnost nerazumijevanja/nedorečenosti.

Siječanj 2009.Konkurentni sustavi 64 od 126

Sustavi grupne podrške (2)

Anytime/Anyplace Collaboration

• omogućeno preko Web-a

Groupware:

• programska podrška suradnji u timskom distribuiranom radu

• sustavi elektroničkih sastanaka

• sustavi elektroničkih konferencija

Okvir vrijeme/prostorOkvir vrijeme/prostor• Isto vrijeme - isti prostor: Decision Room

• Isto vrijeme - različiti prostor: Video konferencija • Ostale kombinacije vrijeme - prostor: Internet

Siječanj 2009.Konkurentni sustavi 65 od 126

Sustavi grupne podrške (3)

Dvorana za donoDvorana za donoššenje odluka enje odluka ((DecisionDecision roomroom))

• 12-30 umreženih osobnih računala

• računalo-poslužitelj (facilitator computer)

• veliki projekcijski sustav• potreba za medijatorom

sastanka

Siječanj 2009.Konkurentni sustavi 66 od 126

Primjer - Groove sustav

Page 12: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 67 od 126

Distribuirane inspekcije PP

Siječanj 2009.Konkurentni sustavi 68 od 126

Distribuirane inspekcije PP

• Ispitivanje programskog proizvoda

• Inspekcija - statički pregled koda

• Tijek odvijanja inspekcije:

– Inicijalizacija inspekcije

– Priprema za inspekciju– Odvijanje inspekcije

– Analiza rezultata

• Provjera specifikacije, dizajna i koda

Siječanj 2009.Konkurentni sustavi 69 od 126

Sustavi grupne podrške za inspekcije PP

• Rezultati (+):

☺60 do 80% pronađenih neispravnosti

☺Ušteda do 50% u parametru osoba-sat

☺Probijanje rokova 90% rjeđe

☺Organizacije troše 10 do 20% resursa na inspekcije programskog proizvoda

• Rezultati (-):

Ne znamo rezultate nakon inspekcije

Siječanj 2009.Konkurentni sustavi 70 od 126

Sustavi grupne podrške za inspekcije PP

• Vrste neispravnosti kod programskog proizvoda:

– Veće neispravnosti (majors)

– Manje neispravnosti (minors)

• Parametri kod inspekcija podržanih sustavima grupne podrške:

– Efektivnost (effectiveness)– Učinkovitost (efficiency)

– Učinak (yield)

Siječanj 2009.Konkurentni sustavi 71 od 126

Sustav za podršku elektroničkih sastanaka

• Tip sustava grupne podrške u kojim se komunikacije između sudionika uspostavljaju elektronički

• Lista neispravnosti u čvrsto definiranom formatu (kategorizacija)

• “Tihe sobe”

• Sudionici inspekcije ne moraju biti na istom dijelu koda

Siječanj 2009.Konkurentni sustavi 72 od 126

Rezultati istraživanja inspekcija podržanih sustavima za podršku elektroničkih sastanaka

Efektivnost

0,39

2,27

2,88

6,9

0,03

0,81

0,11

3

0

1

2

3

4

5

6

7

8

bro

j n

eis

pra

vn

ost

i de

tekt

iran

ih p

o s

tra

nic

i ko

da faza pripreme

faza sjednice

ne EMS EMS ne EMS EMSveće neispravnosti manje neispravnosti

Page 13: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 73 od 126

Proces održavanja

SW sustav

Proces razvoja SW

Korisnik• Implementirani

zahtjevi

• Ispravan rad

• Programski kod• Dokumentacija

Održavanje SW

Potrebno je uključiti održavanje u rane faze životnog ciklusa programskog proizvoda!

Siječanj 2009.Konkurentni sustavi 74 od 126

Proces održavanja

• Primjer konkurentnih aktivnosti u studijskom slučaju procesa održavanja telekomunikacijskog programskog proizvoda

Proces održavanja obuhvaća sljedeće timove:• Registracijski ured• Ured za prihvat rješenja • Ured za održavanje

– ekspert + 3 programera + 2 test makete

Konkurentnost:• istovremeno sudjelovanje u različitim aktivnostima procesa• Istovremeno rješavanje nekoliko problema

Siječanj 2009.Konkurentni sustavi 75 od 126

Studijski slučaj procesa održavanja PP

MR Analiza

DizajnProvjera

Implementacija

EkspertEkspert

EkspertEkspert

Odbijeno

Otvorenakorekcija

Korekcijapripravna za

testiranje

TestiranjeOdobrenje Korekcijatestirana

Odbijeno

Odbijeno ProgramerProgramer

ProgramerProgramerRegistracijski Registracijski uredured

UredUred zaza prihvatprihvatrjerješšenjaenja UredUred zaza odrodržžavanjeavanje

&&

Siječanj 2009.Konkurentni sustavi 76 od 126

Upravljanje konfiguracijom programskog proizvoda

23.1.2009

Siječanj 2009.Konkurentni sustavi 77 od 126

Promjene programskog proizvoda

• Nove verzije prog. proizvoda:

– različita računala/OS

– nove funkcionalnosti

– ispravci identificiranih neispravnosti

– prilagodba specifičnim korisničkom zahtjevima• Rješavanje zahtjeva za promjenama - timski rad

• Promjene:

– zahtjevi

– dizajn

– kod

– dokumentacija

Siječanj 2009.Konkurentni sustavi 78 od 126

Terminologija

Konfiguracija:Konfiguracija:

• kolekcija komponenata (najčešće datoteka) koji zajedno čine programski proizvod

Upravljanje zahtjevima za promjenomUpravljanje zahtjevima za promjenom (Change RequestManagement): ♦ pohranjivanje CR-ova i analiza isplativosti implementacije novih/promijenjenih zahtjeva

Zahtjev za promjenomZahtjev za promjenom (Change Request - CR): ♦ dokumentirana specifikacija traženih funkcijskih i nefunkcijskih promjena u programskom proizvodu♦ izvori: razvijatelji, korisnici, održavatelji

Page 14: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 79 od 126

Terminologija (2)

Verzija

• Instanca programskog proizvoda koja se funkcijski razlikuje od drugih instanci koje se odnose na isti zahtjev programskog proizvoda.

Isporuka (Release)

• Instanca programskog proizvoda koja se distribuira korisnicima izvan razvojnog tima

• Izvršni kod, konfiguracijske datoteke, instalacijski programi, dokumentacija (elektronička, papirnata)

• CD, WWW

Siječanj 2009.Konkurentni sustavi 80 od 126

Terminologija (3)

• Početni sustav (Baseline) - referentan za sve eventualne nadogradnje

• Ako revizije kreira više od jednog korisnika:obostrani isključivi pristup

Check-out: zaključana datoteka za ostale korisnike

Check-in: pohranjivanje nove revizije

Siječanj 2009.Konkurentni sustavi 81 od 126

Upravljanje programskom konfiguracijom

• Software Configuration Management (SCM)

• Upravljanje promjenama i složenošću programskog proizvoda

– Komunikacija

– Rad u timu

– Distribuirani razvoj

• Razvoj i primjena standarda i procedura za upravljanje evoluirajući prog. proizvodom

• Dio procesa upravljanja kvalitetom

Siječanj 2009.Konkurentni sustavi 82 od 126

Definicija SCM

• Upravljanje konfiguracijom programskog proizvoda je disciplina upravljanja i kontroliranja promjena tijekom evolucije programskog proizvoda.(IEEE Std. 1042-1987)

• Pomaže bolju koordinaciju pojedinaca koji rade u istoj fazi razvoja nekog dijela programskog proizvoda

• Osigurava informacije vezane uz:

– trenutno stanje verzija

– ispravak neispravnosti

• Omogućava oporavak u slučaju gubitka bilo kojeg dijela prog. proizvoda.

Siječanj 2009.Konkurentni sustavi 83 od 126

Problemi vezani uz SCM

Simultano ažuriranje

• Dva ili više razvijatelja rade istovremeno na istom kodu

Podijeljeni kod

• Unosi se promjena u kod o kojem ovisi rad drugih razvijatelja (treba ih pravovremeno obavijestiti ili im dostaviti promijenjeni kod).

Zajednički kod

• promjene se unose u biblioteke komponenata za višestruko korištenje

Siječanj 2009.Konkurentni sustavi 84 od 126

Kontrola promjena

• koristi se za upravljanje repozitorijom komponenti

• omogućava pohranjivanje različitih komponenti prog. proizvoda i njihovih verzija sigurno i jednoznačno

• Nakon svake promjene kreira se revizija neke datoteke

dat.1, dat.2, dat.3, ....

History - bilježi se tko je napravio reviziju i kada, eventualno dodavanje posebnih komentara (zašto?) - zasebna datoteka

• Revizije ne moraju nužno biti sekvencijalne

• Nova grananja: dat.2, dat.2.1, dat.2.2

Page 15: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 85 od 126

Struktura generiranja novih verzija

1.0 1.1 1.2

1.1.b 1.1.1

1.1.a

2.0 2.1 2.2

Primjer:

Siječanj 2009.Konkurentni sustavi 86 od 126

Praktični aspekti kvalitete procesa

• Upravljanje zahtjevima za promjenom (Change RequestManagement): pohranjivanje CR-ova i analiza isplativosti implementacije zahtjeva

• Upravljanje konfiguracijom(ConfigurationManagement):podjela poslova, kontrola verzija, upravljanje resursima, paralelni razvoj, koordiniranje aktivnosti

Configuration management

Siječanj 2009.Konkurentni sustavi 87 od 126

Upravljanje zahtjevima za promjenom

ZAHTJEV ZA PROMJENOM

DOKUMENTIRANJE

PRIHVAT PROMJENE?

Formulari zahtjeva za promjenom

Siječanj 2009.Konkurentni sustavi 88 od 126

Planiranje SCM-a

• rane faze projekta

• za velike sustave:

– veliki broj procesne dokumentacije (zahtjevi, specifikacije, kod, test-podaci, korisnički priručnici. itd.)

• Odrediti nivo formalizma (ovisi o veličini projekta, prog. proizvoda, timu, SW organizaciji)

• Poseban naglasak - dokumentacija za održavanje

Siječanj 2009.Konkurentni sustavi 89 od 126

SCM plan

Definiranje:

• tipovi dokumenata

• standardi imenovanja

• odgovornosti za CM

• politika kontrole promjena i upravljanje verzijama

• pomagala• održavanje CM zapisa

Siječanj 2009.Konkurentni sustavi 90 od 126

Pomagala za SCM

RCS

• staro pomagalo, upravljanje različitim verzijama sustava

CVS

• kasnije će biti detaljno objašnjeno

ClearCase

• više servera, modeliranje procesa, mehanizmi provjere

Page 16: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 91 od 126

RCS - Revision Control System

Verzija 1.0 Verzija 1.1 Verzija 1.2 Verzija 1.3

D1 D2 D3

Datum kreiranja

♦ Pohranjuju se samo razlike između verzija i početnog programskog proizvoda (baseline)

Siječanj 2009.Konkurentni sustavi 92 od 126

Paralelni razvoj s RCS-om

Verzija 1.0 Verzija 1.1 Verzija 1.2 Verzija 1.3 Verzija 1.4

Verzija 2.0 Verzija 2.1

D1.1 D1.2 D1.3 D1.4

D2.1Isporuka 1

Isporuka 2

Siječanj 2009.Konkurentni sustavi 93 od 126

Sustav konkurentnih verzija (CVS - Concurrent VersionsSystem)

• CVS je sustav za praćenje verzija izvornog koda

• omogućuje:

– dohvat starih verzija koda – npr. zato da bi se vidjelo koja je promjena u kodu uzrokovala neispravnost

– da više razvijatelja istovremeno radi na istom kodu

– grananje na dva ili više projekta i po potrebi njihovo kasnije “stapanje” u jedan projekt

• također omogućuje praćenje verzija i kod:

– tekstualnih dokumenata

– HTML stranica

Siječanj 2009.Konkurentni sustavi 94 od 126

CVS poslužitelj

Princip rada CVS-a

• originalne verzije koda se čuvaju u CVS repozitoriju

• razvijatelji rade na kopijama koje se poslije “stapaju” u novu verziju originala

• “stapanje” i otkrivanje mogućih konflikata je automatizirano

repozitorij

razvijatelj A

aktualnaaktualnaverzijaverzijakodakoda

kopijakoda

razvijatelj B

kopijakoda

razvijatelj C

kopijakoda

Siječanj 2009.Konkurentni sustavi 95 od 126

Dobre i loše strane CVS-a

• dobre strane:– olakšava traženje neispravnosti– eliminira potrebu za strogom koordinacijom razvijatelja– automatizira spajanje koda različitih razvijatelja– CVS je open source softver

• loše strane:– ne snalazi se najbolje s binarnim datotekama– nema ugrađen sustav za praćenje neispravnosti

Siječanj 2009.Konkurentni sustavi 96 od 126

Konkurentnost u upravljanju projektima

Page 17: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 97 od 126

Projekt - definicija

Projekt je privremeni usmjereni napor poduzet kako bi se razvio Projekt je privremeni usmjereni napor poduzet kako bi se razvio jedinstveni proizvod, usluga ili ostvario neki drugi specifijedinstveni proizvod, usluga ili ostvario neki drugi specifiččni rezultat.ni rezultat.[PMBOK 2004]

Siječanj 2009.Konkurentni sustavi 98 od 126

Svojstva projekta

• Svojstvo privremenosti:privremenosti:– vrijeme trajanja (početak, kraj)– projektni tim– tržište i sl.

–– Kraj projekta:Kraj projekta:• ciljevi ostvareni• znanje o nemogućnosti ostvarivanja ciljeva projekta• ne postoji više potreba za projektom.

• Svojstvo jedinstvenostijedinstvenosti

– prisutnost ponavljajućih elemenata u projektima ne mijenja njegovu jedinstvenost (na primjer korištenje prethodnog iskustva).

Siječanj 2009.Konkurentni sustavi 99 od 126

Svojstva projekta

• Svojstvo privremenosti:privremenosti:– vrijeme trajanja (početak, kraj)– projektni tim– tržište i sl.

–– Kraj projekta:Kraj projekta:• ciljevi ostvareni• znanje o nemogućnosti ostvarivanja ciljeva projekta• ne postoji više potreba za projektom.

• Svojstvo jedinstvenostijedinstvenosti

– prisutnost ponavljajućih elemenata u projektima ne mijenja njegovu jedinstvenost (na primjer korištenje prethodnog iskustva).

Siječanj 2009.Konkurentni sustavi 100 od 126

Svojstva projekta (2)

• Svojstvo progresivne elaboracije:progresivne elaboracije:

– ujedinjuje svojstva privremenosti i jedinstvenosti

– razvoj projekta u koracima

– opseg projekta se definira na početku

– tijekom trajanja projekta povećava se znanje projektnog tima o cilju i očekivanim rezultatima

– opseg projekta se redefinira

– projekt postaje eksplicitniji

– potreban nadzor opsega

Siječanj 2009.Konkurentni sustavi 101 od 126

Rezultati projekta

•• Jedinstveni proizvod, usluga ili ostvarenje nekog drugog rezultaJedinstveni proizvod, usluga ili ostvarenje nekog drugog rezultatata

•• Materijalni proizvodMaterijalni proizvod koji se može kvantificirati - konačni proizvod ili pojedina komponenta

•• MoguMoguććnost prunost pružžanja neke uslugeanja neke usluge (poslovne usluge koje podržavaju razvoj, distribuciju i sl.)

•• DokumentacijaDokumentacija

•• ZnanjeZnanje (istraživački projekti) - potrebno ga je adekvatno opisati.

Siječanj 2009.Konkurentni sustavi 102 od 126

Upravljanje projektom - definicija

Upravljanje projektom je primjena znanja, tehnika, vjeUpravljanje projektom je primjena znanja, tehnika, vješština, i pomagala tina, i pomagala na definirane aktivnosti projekta kako bi se ostvarili ciljevi pna definirane aktivnosti projekta kako bi se ostvarili ciljevi projekta.rojekta.[PMBOK 2004]

•• Projektni menadProjektni menadžžer:er: osoba odgovornaodgovorna za realizaciju projektnih ciljeva

Page 18: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 103 od 126

Upravljanje projektom - aktivnosti

• Identifikacija:

– zahtjeva– jasnih i realnih ciljeva

• Balansiranje zahtjeva za kvalitetom, opsegom, vremenom i troškovima

Troškovi Vrijeme

Opseg

Kvaliteta

Siječanj 2009.Konkurentni sustavi 104 od 126

Ekspertna područja tima za upravljanje projektom

Područja ekspertize projektnog tima [PMBOK 2004]

Siječanj 2009.Konkurentni sustavi 105 od 126

Projektna okolina

Projekti imaju pozitivan /negativan utjecaj na okoline:

• Kulturalna/sociološka okolina - način na koji projekt utječe na ljude i kako ljudi utječu na projekt

• Međunarodna/politička okolina - zakoni, običaji, politika, nacionalni praznici, putovanja

• Fizikalna okolina - okoliš, geografija

Potrebno je razmotriti projekt u kontekstu njegove okoline, s Potrebno je razmotriti projekt u kontekstu njegove okoline, s obzirom na svrhu projektaobzirom na svrhu projekta.

Siječanj 2009.Konkurentni sustavi 106 od 126

Podprojekti

• Podjela projekata na manje cjelina kako bi se olakšalo upravljanje.

• Podprojekti se mogu smatrati zasebnim projektima

Primjer:

• Projektni proces - pojedina faza životnog ciklusa projekta

• Zahtjevi za specifičnim vještinama pojedinih ljudskih resursa• Tehnologije (npr. automatsko testiranje programa)

Siječanj 2009.Konkurentni sustavi 107 od 126

Najčešći mitovi vezani uz upravljanje projektima (1)

"To je samo mali projekt. Upravljanje nije potrebno. Treba se odmah samo baciti na posao."

• Svaki projekt treba upravljanje.

• U malim projektima menadžer može imati i druge uloge

• Za svaki projekt, pa i najmanji, treba postojati plan

• Nadzor projekta: ciljevi, rokovi ....

Siječanj 2009.Konkurentni sustavi 108 od 126

Najčešći mitovi vezani uz upravljanje projektima (2)

"Upravljanje projektom će odnijeti znatan dio vremena zbog dokumentacije."

• Djelomično točno.

• Razina formalizma u projektu:

– tip projekta

– metoda/sustav za upravljanje

• Vještina projektnog menadžera da prilagodi potrebe projekta i razinu formalizma specifičnim okolnostima projekta.

Page 19: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 109 od 126

Najčešći mitovi vezani uz upravljanje projektima (3)

"Svaki projekt kojim se dobro upravlja ima vjerojatnost uspjeha 100%."

• Nije moguće nadzirati sve aspekte projekta.

• Upravljanje ne može kompenzirati nedostatak znanja/vještina tima, lošu/pogrešnu tehnologiju, nedostatak povratne veze unutar tima/od strane korisnika i sl, nerealne rokove i neadekvatnu podršku sponzora.

Siječanj 2009.Konkurentni sustavi 110 od 126

Najčešći mitovi vezani uz upravljanje projektima (4)

Glavna zadaća projektnog menadžera je osigurati zadovoljenje rokova.

• To je jedna u nizu zadaća i odgovornosti.

• Osiguranje i nadzor kvalitete, ostanak u granicama budžeta, izgradnja tima, ...

• Primjena pomagala za upravljanje projektima ne može nadomjestiti znanje, vještine, intuiciju, praksu projektnog menadžera, ali ih može nadopuniti.

Siječanj 2009.Konkurentni sustavi 111 od 126

Definicija projektnog procesa

Projektni proces:Projektni proces:•• Skup međusobno povezanih aktivnosti koje se izvrSkup međusobno povezanih aktivnosti koje se izvrššavaju kako bi se avaju kako bi se

ostvario prethodno specificirani skup rezultata, proizvoda ili uostvario prethodno specificirani skup rezultata, proizvoda ili usluga.sluga.

•• Procesi zajedniProcesi zajedniččki veki veććini projekata veini projekata većći dio vremena i dio vremena (pokretanje, planiranje, izvršavanje, praćenje i nadzor, završavanje projekta)

•• Procesi orijentirani prema proizvodu Procesi orijentirani prema proizvodu (specifični za određenu domenu, životni ciklus proizvoda)

Siječanj 2009.Konkurentni sustavi 112 od 126

Odabir projektnih procesa

•• Projektni menadProjektni menadžžer, uer, u suradnji s projektnim timom suradnji s projektnim timom, o, odgovoran dgovoran je za određivanje koji procesi su prikladni za određeni projektje za određivanje koji procesi su prikladni za određeni projekt, te , te potrebne razine formalizma i strogosti u implementaciji tih potrebne razine formalizma i strogosti u implementaciji tih procesa.procesa.

• Projekt može biti vođen na različite načine:

– složenost, veličina, trajanje, iskustvo tima, pristup resursima, zrelost organizacije u PM-u, industrija, domena ......

Siječanj 2009.Konkurentni sustavi 113 od 126

Načelo identifikacije projektnih procesa

PlaniranjePlaniranje IzvrIzvrššavanjeavanje

ProvjeraProvjeraDjelovanjeDjelovanje

Siječanj 2009.Konkurentni sustavi 114 od 126

Grupe procesa zajedničke većini projekata

• Grupa procesa za pokretanje projekta

• Grupa procesa za planiranje

• Grupa procesa za izvršavanje

• Grupa procesa za praćenje i nadzor

• Grupa procesa za završavanje projekta

Page 20: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 115 od 126

Interakcije između projektnih procesa

Planiranje

Izvršavanje

Pokretanje Završavanje

Praćenje i nadzor

Siječanj 2009.Konkurentni sustavi 116 od 126

Baza

Pokretač/Sponzor

Granice projekta

Planiranje

Izvršavanje

Pokretanje Završavanje

Praćenje i nadzor

Granice projekta

Ulazi

Izlazi

Dokumentacija

Pokretač/Sponzor

Siječanj 2009.Konkurentni sustavi 117 od 126

Definicija životnog ciklusa projekta

ŽŽivotni ciklus projekta:ivotni ciklus projekta:•• Skup uglavnom slijednih faza projekta koje se definiraju s obzirSkup uglavnom slijednih faza projekta koje se definiraju s obzirom om

na potrebe nadzora projekta.na potrebe nadzora projekta.

•• FazeFaze koje povezuju početak i kraj projekta. • Može biti dokumentiran određenom projektnom metodologijom.

Siječanj 2009.Konkurentni sustavi 118 od 126

Životni ciklus projekta

Određuje:

• Posao koji treba napraviti u određenoj fazi

• Rezultat svake pojedine faze

• Način provjere rezultata (inspekcije)• Sudionike pojedine faze

• Način nadzora i odobravanja faze

Siječanj 2009.Konkurentni sustavi 119 od 126

Rezultati izvršenja projektne faze

• zaključenje pojedine faze ne znači automatsko započinjanje nove

• svaka nova faza se formalno inicira specifikacijom što je u njoj dozvoljeno i očekivano - nadzor, upravljanje

Inspekcije po zavrInspekcije po završšetku pojedine faze:etku pojedine faze:• suglasnost za zaključenje dotične faze

• inicijacija sljedeće• phase exit, phase gate, kill point

Siječanj 2009.Konkurentni sustavi 120 od 126

Definiranje životnog ciklusa projekta

• Ne postoji jedinstvena definicija

• Mogućnosti:

– standardizacija za sve projekte unutar pojedine kompanije

– određivanje za svaki projekt posebno

– preferirani životni ciklusi ovisno o industrijskoj okolini projekta.

Page 21: Konkurentni sustavi - IEEE– Plan projekta – Dio programskog koda Slika: Glavni artefakti u procesu te tok informacija izme đu njih Konkurentni sustavi Siječanj 2009. 33 od 126

Siječanj 2009.Konkurentni sustavi 121 od 126

Faze životnog ciklusa projekta

Rezultat izvrRezultat izvrššavanja pojedine faze:avanja pojedine faze:• mjerljiva količina posla koja se može provjeriti

• specifikacija, studija izvodljivosti, izvještaj, dokumentacija, prototip

• za nadzor odvijanja projekta i postizanje njegovog konačnog cilja

Faza Faza nnFaza Faza nn11 Faza Faza nn22

PRIMARNA FAZAPRIMARNA FAZA

PODAFAZEPODAFAZE

Siječanj 2009.Konkurentni sustavi 122 od 126

Odnos faza životnog ciklusa projekta

Faza 1Faza 1Tehnički prijenos

Inspekcija

SUGLASNOST

Rezultati

Faza 2Faza 2

Siječanj 2009.Konkurentni sustavi 123 od 126

Preklapanje faza životnog ciklusa projekta

Faza 1Faza 1

Inspekcija

SUGLASNOST

Rezultati

Faza 2Faza 2

t

♦ Moguće ako preklapanje faza nosi mali rizik za projekt.

Siječanj 2009.Konkurentni sustavi 124 od 126

Faze životnog ciklusa projekta

Podjela na faze ovisi o:

• veličini projekta• složenosti

• rizicima

• toku novca

• Svaka podfaza treba imati definirane svoje rezultate - povezani su s rezultatima primarne faze

Siječanj 2009.Konkurentni sustavi 125 od 126

Rezultati izvršenja projektne faze

Faza 1Faza 1

Inspekcija

• SUGLASNOST• DORADA

Rezultati

Faza 2Faza 2

• ZAKLJUČENJE PROJEKTA

♦ Formalno zaključivanje pojedine faze ne znači automatsko započinjanje nove

Siječanj 2009.Konkurentni sustavi 126 od 126

PROIZVOD USLUGA PROIZVOD USLUGA REZULTATREZULTAT

InicijalnaInicijalna

Slijed faza u projektu

KonstrukcijskeKonstrukcijske ZavrZavrššnana

UlaziUlazi

FazeFaze

Izlazi vaIzlazi važžni za ni za upravljanje upravljanje projektomprojektom

Projektni Projektni rezultatirezultati

SuglasnostSuglasnost

IsporukaIsporukaIzvještaj o opsegu

Prijedlog Progres

PrihvaćenostOsnova za usporedbu

Plan

Ideja

Tim za upravljanje projektom