Project Management - Massimo Paolucci Home Page · float indicano con quale margine un’attività...
Transcript of Project Management - Massimo Paolucci Home Page · float indicano con quale margine un’attività...
Project Project ManagementManagement
Massimo Paolucci([email protected])
DIST – Università di Genova
2
Project Project ManagementManagement
Metodi per supportare le decisioni relative alla gestione di progetti• esempi sono progetti nell’edilizia, lo sviluppo di sistemi (software),
ricerca, ecc.
I problemi di gestione:• aumentano col crescere della grandezza del progetto (numero di
attività) • dipendono dal livello di interdipendenza delle attività• sono legati alla disponibilità limitata delle risorse• devono tener conto dei costi fissi e variabili del progetto (e.g. di
penali) e dei costi delle risorse
3
Project Project ManagementManagement
Domande a cui chi gestisce un progetto deve rispondere:• qual è la durata del progetto (la consegna) ?• quali attività più di altre possono influire su tale durata ?• quando possono iniziare e terminare le singole attività ?• quali margini di tempo esistono per ritardare delle attività senza
influire sulla durata del progetto ?• di quali attività posso prolungare la durata (risparmiando risorse)
senza influire sulla durata del progetto ?• su quali attività conviene concentrare le risorse per cercare di
ridurre la durata del progetto ?• come posso ridurre complessivamente i costi del progetto
mantenendone la durata fissata o eventualmente aumentandola sino ad un livello accettabile ?
4
Project Project Management Management -- DefinizioniDefinizioni
PERT (Project Evaluation and Review Technique) (1950)
CPM (Critical Path Method) (1957)
Progetto• un insieme di attività che devono essere svolte con un certo
ordine
Attività• un’operazione che richiede delle risorse ed un certo tempo
per essere eseguita
5
Project Project Management Management -- DefinizioniDefinizioni
Carta di Gantt• strumento grafico per la pianificazione dei progetti
• E’ una rappresentazione che non evidenzia le dipendenze trai task ⇒ non mi permette di rispondere a molte domande.
T1 T2
T3 T5
T4
T6
tempo
risor
se
tempoat
tività
T1
T2
T3
T4
T6
T5
6
Project Project Management Management –– PERTPERT--CPMCPM
PERT-CPM• Sono metodi time-oriented, ovvero determinano lo
scheduling dei task nel tempo• Scheduling:
Assegnare, Sequenziare, Temporizzare
• Sono anche dette tecniche reticolari per la programmazione dei progetti
• Sono tecniche di scheduling che non tengono conto della presenza di risorse limitate
• Sono metodi efficienti (polinomiali)
7
Project Project Management Management –– PERTPERT--CPMCPM
Tre fasi del PERT-CPM• Planning
suddividere il progetto in attività (task) costruendo un grafo orientato in cui ciascun arco rappresenta una singola attività
• Schedulingcostruire una mappa temporale che riporti l’inizio e la fine di ogni attività e le relazioni di dipendenza tra le attività, mettendo in evidenza le attività critiche
• Controllingutilizzando il grafo e la mappa temporale permette di seguire l’avanzamento del progetto ed eventualmente apportare modifiche allo schedule
8
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningDeterminazione delle attività del progetto
• E’ la fase più importante della gestione del progetto• E’ un’analisi eseguita da un team• Individuare le attività rilevanti• Individuare le relazioni (precedenze) tra le attività• Stimare le durate delle attività
9
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningCostruzione del grafo orientato delle attività
Grafo delle attivitàRappresenta le relazioni (precedenze) tra le attività del progetto (Activity-On-Arc, AOA)
Evento: istante di inizio o di completamento di un’attività
Arco orientato ⇒ Attività
Nodo ⇒ Evento
i jattività (i, j)
evento i evento j
10
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningSignificato del grafo
• L’attività (j,h) deve attendere che siano terminate le attività (i, j) e (k, j) per potere avere inizio
• Ad ogni arco/attività si associa un peso che rappresenta la durata dell’attività
i
j
k
h
dij
djh
dkj
11
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningRegole per la costruzione del grafo
Regola 1Ciascuna attività è rappresentata da un solo arcoorientato
Regola 2Non possono esistere attività differenti caratterizzate dallastessa coppia di eventi (stesso evento iniziale e stessoevento finale) (alcuni software lo consentono)
12
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningRegole per la costruzione del grafo
• Per soddisfare la Regola 2 si introducono attivitàdummy (attività fittizie di durata zero)
i j
A
B
i j
k
A
B dummy
13
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningRegole per la costruzione del grafo
• Le attività dummy possono servire per definire megliorelazioni logiche
Ad esempio, A e B precedono C, B precede E
ij
k
h
f
i
gk
h
f
A
B
C
E
jA
B
C
E
dummy
14
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningRegole per la costruzione del grafo
Regola 3La correttezza delle relazioni di precedenza costruite puòessere verificata eseguendo ogni volta che si aggiungeun’attività i seguenti controlli:1. verificare quali attività devono completarsi immediatamente
prima che la nuova attività inizi2. verificare quali attività devono seguire l’attività3. verificare quali attività si devono svolgere
contemporaneamente
15
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planningOsservazioni
• Il grafo AOA mette in evidenza:l’esistenza di attività che possono essere eseguite in parallelola presenza di eventi di sincronizzazione nel progetto
• In alternativa le relazioni di precedenza (in modo piùintuitivo) possono essere descritte da un grafo Activity-On-Node
16
Project Project Management Management –– PERTPERT--CPMCPM
La fase di planning• Un esempio
A, B, C attività inizialiA, B → DB → E, F, HF, C → GE, H → I, JC, D, F, J → KK → LI, G, L attività finali
17
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingAllocare le attività nel tempo
• Si determinano gli istanti di possibile inizio e fine delleattività tenendo conto solo delle precedenze
• Si applica un algoritmo semplice (polinomiale) basato su operazioni aritmetiche eseguite direttamente sulgrafo
• Si determinano le attività critiche
18
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingAttivita critiche e percorso critico
Attività criticaun’attività che causerebbe un ritardo nel completamentodell’intero progetto se ne venisse ritardato l’inizio
Attività non criticail tempo che intercorre tra il primo istante in cui, in base alle precedenze, è possibile iniziare l’attività (Earliest Start, ES) e l’ultimo istante in cui “può terminare” (Latest Completion, LC) èmaggiore della durata dell’attività
Percorso critico (Critical Path, CP)la catena delle attività critiche dall’inizio alla fine del progetto
19
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingDeterminare il percorso critico (CP)
• Il calcolo del CP si esegue in due passi
Forward passDal nodo iniziale verso il nodo finale, per ogni nodo j sicalcola il ESj
Backward passDal nodo finale verso il nodo iniziale, per ogni nodo j sicalcola il LCj
20
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCP – Fase forward
• Si calcola ESi Earliest Start Time di tutte le attività chepartono dall’evento i, i=1,...,n
Per i=0 si pone ES0=0
dij è la durata dell’attivita associata all’arco (i, j)
[ ]iji)j,i(:i
j dESmaxES +=∃
21
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCP – Fase forward
• ESj
i
j
dijESi
ESj
attività che completano in j
ESi ESj
22
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCP – Fase backward
• Si calcola LCi Latest Completion Time di tutte le attivitàche terminano nell’evento i
Per per i=n si pone LCn = ESn
[ ]ijj)j,i(:j
i dLCminLC −=∃
23
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCP – Fase backward
• LCi
jdij
LCi
LCj
attività che iniziano in i
LCjLCi
i
24
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio
Attività Durata (dj) Precede
A 3 E, DB 2 CC 2 F, G, H, LD 3 F, G, H, LE 2 G, HF 3 IG 7 IH 5I 6L 2
25
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio
0
3
1
4
5
2
A, 3
B, 2
C, 2
E, 2
6
D, 3
F, 3
L, 2
H, 5G, 7
I, 6
dummy
26
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio: fase forward
0
3
1
4
5
2
A, 3
B, 2
C, 2
E, 2
6
D, 3
F, 3
L, 2
H, 5G, 7
I, 6
dummy
0
2
3
6
6
13 19
ESi
27
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio: fase forward
• I calcoliES0=0ES1=ES0+d01=0+2=2ES2=ES0+d02=0+3=3ES3=maxi[ESi+di3]=max[2+2, 3+3]=6ES4=maxi[ESi+di4]=max[6+0, 3+2]=6ES5=maxi[ESi+di5]=max[6+7, 6+3]=13ES6=maxi[ESi+di6]=max[6+5, 13+6, 6+2]=19
ESi
28
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio: fase backward
0
3
1
4
5
2
A, 3
B, 2
C, 2
E, 2
6
D, 3
F, 3
L, 2
H, 5G, 7
I, 6
dummy
ESi
LCi
1919
66
1313
66
33
24
00
29
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio: fase backward
• I calcoliLC6=ES6=19LC5=LC6-d56=19-6=13LC4=mini[LCi-d4i]=min[19-5, 13-7]=6LC3=mini[LCi-d3i]=min[6-0, 13-3, 19-2]=6LC2=mini[LCi-d2i]=min[6-3, 6-2]=3LC1=LC3-d13=6-2=4LC0=mini[LCi-d0i]=min[4-2, 3-3]=0
ESi
LCi
30
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingLe attività critiche
• L’attività (i, j) è sul CP se:1. ESi = LCi
2. ESj = LCj
3. ESj - ESi = LCj - LCi = dij
• La lunghezza del CP corrisponde al tempo minimonecessario per completare il progetto
31
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un esempio: identificazione delle attività critiche
0
3
1
4
5
2
A, 3
B, 2
C, 2
E, 2
6
D, 3
F, 3
L, 2
H, 5G, 7
I, 6
dummy
1919
66
1313
66
33
24
00
32
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCalcolo dei Margini (Float)
• Un insieme di quantità associate ad ogni attività dettefloat indicano con quale margine un’attività può esserespostata nel tempo ed in che modo tale spostamentoinfluenza le altre attività
• Tre floatTotal FloatFree FloatIndependent Float
33
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCalcolo dei Margini (Float)
• Total float (margine totale) di (i, j)
TFij = LCj - ESi - dij = LSij - ESi
dove LSij = LCj - dij è il Latest Start di (i, j)
• TFij è il margine di tempo tra il massimo intervallo in cui può essere eseguita (i, j) e la durata di (i, j)
• E’ il massimo ritardo dell’inizio di (i,j) rispetto ESj che non influenza la durata del progetto
34
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCalcolo dei Margini (Float)
• Free float (margine libero) di (i, j)
FFij = ESj - ESi - dij = ESj - ECij
dove ECij = ESi + dij è l’Earliest Completion di (i, j)
• Supponendo che le attività precedenti finiscano il prima possibile, rappresenta il margine di tempo che restacompletando prima possibile (i, j) e dovendo far iniziarele attività che iniziano con l’evento j il prima possibile
35
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCalcolo dei Margini (Float)
• Independent float (margine indipendente) di (i, j)
IFij = ESj - LCi - dij
• Supponendo che tutte le attività precedenti completinoil più tardi possibile e che quelle seguenti inizino prima possibile, rappresenta il margine di tempo che restacompletando il più tardi possibile (i, j) e dovendo far iniziare le attività che iniziano con l’evento j il prima possibile
36
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCalcolo dei Margini (Float)
• Graficamente
ESi
dij
ECijLCi ESj LCj
dij
LSij
TFij
FFij
IFij
37
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingCalcolo dei Margini (Float)
Osservazioni• I float indicano quale possibilità di manovra si ha nel
ritardare l’inizio di un’attività o nel farne crescere la durata senza influenzarne altre
• TFij = 0 per le attività critiche
• Se si ritarda l’inizio delle attività critiche o la loro durataaumenta, cresce di conseguenza la durata di tutto ilprogetto
38
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingLa rappresentazione dei risultati
• I risultati dell’analisi possono essere raccolti in una tabella
• Quindi è possibile costruire una carta di Gantt per rappresentare graficamente lo schedule. In questacarta non sono evidenziate le risorse (risorse infinite)
Attività Durata ESi LCj TFij FFij IFij
39
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingLa rappresentazione dei risultati
• Un esempio di carta di Gantt
tempo
0 1
0 2
3
4
5 6
Attività critica
CP
CP
Range per attività non critica
Attività non critica
Precedenza
ES0
LC2
40
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• L’esempio continua
0
3
1
4
5
2
A, 3
B, 2
C, 2
E, 2
6
D, 3
F, 3
L, 2
H, 5G, 7
I, 6
dmy
1919
66
1313
66
33
24
00
41
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• L’esempio continua
Attività Durata ESi LCj TFij FFij IFijA (0, 2) 3 0 3 0 0 0B (0, 1) 2 0 4 2 0 0C (1, 3) 2 2 6 2 2 0D (2, 3) 3 3 6 0 0 0E (2, 4) 2 3 6 1 1 1
dmy (3, 4) 0 6 6 0 0 0F (3, 5) 3 6 13 4 4 4G (4, 5) 7 6 13 0 0 0H (4, 6) 5 6 19 8 8 8I (5, 6) 6 13 19 0 0 0L (3, 6) 2 6 19 11 11 11
42
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling
0 2 4 6 8 10 12 14 16 18 20
4
2 3
5 6
0
1
1
dmyA D
G I
B
C
F
L
H
E
43
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling2
1
3
4
5 6dmy
0 2 4 6 8 10 12 14 16 18 20
0
1
A D
G I
B
C
F
L
H
E
44
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingOsservazioni
• Se TFij = FFij l’attività (i, j) può essere posizionataliberamente all’interno del proprio intervallo di attivazionesenza che ciò influenzi altre attività
• Se TFij > FFij l’attività (i, j) può essere ritardata rispetto ESisolo del FFij senza che questo influenzi le attività seguenti. Questo si verifica se un’attività che ne precede un’altra puòterminare (LC) anche dopo il primo possibile istante di iniziodella successiva (ES)
1
1
B
C 3
0
45
Project Project Management Management –– PERTPERT--CPMCPM
La fase di schedulingOsservazioni
• IFij può essere anche negativo.In questo caso tale quantità indica l’anticipo con cui dovrebbe verificarsi l’evento i rispetto LCi perchè lo schedule dell’attività (i, j) non influenzi le attività seguenti
ESi
dij
ECijLCi ESj LCjLSij
TFij
FFij
IFij <0
46
Project Project Management Management –– PERTPERT--CPMCPM
La fase di scheduling• Un altro esempio
Attività Durata (dj) Precede
A 3 DB 5 E, F, GC 7 F, GD 4 O, HE 2 I, LF 3 I, LG 2 MH 7I 3 NL 5 MM 3 NN 2O 6 I, L
47
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAssegnazione delle risorse
• Lo schedule determinato assume che siano presenti risorseinfinite (le risorse non modificano la possibilità di eseguire le attività)
• La presenza di margini nello schedule permette di assegnare le attività in modo da ridurre le risorse necessarieper la loro esecuzione
• In generale il problema del project scheduling con risorselimitate è NP-hard
48
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingValutazione della durata del progetto
• Se la durata prevista del progetto indicata dallo schedule non fosse accettabile ...
Analisi strategica: valutare se la struttura delle precedenze èproprio quella considerata per le attività critiche o può essere cambiata
Analisi tattica: effettuare l’analisi dei costi che si dovrebbero pagare riducendo ad un livello accettabile la durata del progetto
49
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAnalisi dei costi
• Determinato il CP è possibile eseguire un’analisi di post-ottimalità tenendo conto dei costi
• In genere il costo totale ( CT) di un progetto è dato da
A è l’insieme delle attivitàcij è costo dell’attivita (i,j) (costo diretto)cP è un costo associato globalmente al progetto (e.g., affitto macchinari, concessioni, penali, ecc.) (costo indiretto)
PA)j,i(
ijT ccC += ∑∈
50
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAnalisi dei costi
• I costi diretti dipendono dalla durata delle attività che a sua volta dipende dalla quantità di risorse utilizzate per eseguirla
• Alternative per ridurre CT:ridurre i costi diretti cij aumentando la durata di un’attività non critica rispettando i marginiridurre il costo indiretto cP riducendo la durata delle attivitàcritiche; in questo caso tuttavia i costi diretti delle attivitàcritiche aumenteranno ⇒ compromesso
• L’analisi deve essere effettuata imponendo che il CP non cambi
51
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingI costi diretti
• Si assumono lineari in una regione tra
dijn durata nominale → cij
n
dijc durata di crash → cij
c
• cij = αij⋅dij
cij
dijdij
ndijc
cijn
cijc
cij
nij
nij
cij
ijdd
cc
−
−−=α
αij<0
52
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingI costi indiretti
• Si assumono lineari
• cP = αP⋅dP
• dP = ESn=LCn
cP
dP
α P>0
d0
c0
53
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAnalisi dei costi
• Si può formulare un problema di PL
Obiettivo (minizzazione CT)
dp è una variabile dipendente →
Introducendo ESi e LCi come variabili → dP = ESn
PPijA)j,i(
ijT ddCmin α+⋅α= ∑∈
∑∈
=CP)j,i(
ijP dd
54
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAnalisi dei costi
• Vincolicosti diretti lineari →
definizione del CP →
conservazione del CP (post-ottimalità) →
Pk percorso tra l’evento inizio e l’evento fine del progetto
∑∈
=CP)j,i(
ijP dd
A)j,i(ddd nijij
cij ∈∀≤≤
CPPdd kPP)j,i(
ijk
≠∀≤∑∈
55
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAnalisi dei costi
• Una formulazione lineare più generale si ha usando le ESi e LCi come variabili
dP = ESn
Obiettivo (minizzazione CT)
nPijA)j,i(
ijT ESdCmin α+⋅α= ∑∈
56
Project Project Management Management –– PERTPERT--CPMCPM
La fase di controllingAnalisi dei costi
• Vincolicosti diretti lineari →
definizione degli ESi e LCi →
)i(predjdESES ijji ∈∀+≥
A)j,i(ddd nijij
cij ∈∀≤≤
)i(succjdLCLC ijji ∈∀−≤
A)j,i(dESLC ijij ∈∀≥−
57
Project Project Management Management –– PERTPERT--CPMCPM
Esempi con software
• Excel • MS Project
58
Project Project Management Management –– PERTPERT--CPMCPM
Esempi
59
Project Project Management Management –– PERTPERT--CPMCPM
Esempi
60
Project Project Management Management –– PERTPERT--CPMCPM
Esempi
1
2
3
4 5
61
Project Project Management Management –– PERTPERT--CPMCPM
EsempiActivity DIP
62
Project Project Management Management –– PERTPERT--CPMCPM
Esempi
ijA)j,i(
ijTCmin ∆⋅α−= ∑∈
)i(predj)d(ESES ijijji ∈∀∆−+≥
A)j,i(0 maxijij ∈∀∆≤∆≤
)i(succj)d(LCLC ijijji ∈∀∆−−≤
A)j,i(dESLC ijijij ∈∀∆−≥−
63
Project Project Management Management –– PERTPERT--CPMCPM
Considerazioni finali
• L’analisi del PERT-CPM può essere effettuata anche in presenza di durate aleatorie delle attività(almeno in presenza di ipotesi semplificative)