Project Management

Transcript

Project Management
Project Management
Massimo Paolucci
([email protected])
DIST – Università di Genova
2
Project Management
‰ 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 Management
‰ 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 Management - Definizioni
‰ 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 Management - Definizioni
‰Carta di Gantt
• strumento grafico per la pianificazione dei progetti
T1
T2
T3
T1
T2
T5
attività
risorse
T4
T3
T6
tempo
T4
T5
T6
tempo
• E’ una rappresentazione che non evidenzia le dipendenze tra
i task ⇒ non mi permette di rispondere a molte domande.
6
Project Management – PERT-CPM
‰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 Management – PERT-CPM
‰Tre fasi del PERT-CPM
• Planning
ƒ suddividere il progetto in attività (task) costruendo un grafo
orientato in cui ciascun arco rappresenta una singola attività
• Scheduling
ƒ costruire 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
• Controlling
ƒ utilizzando il grafo e la mappa temporale permette di seguire
l’avanzamento del progetto ed eventualmente apportare
modifiche allo schedule
8
Project Management – PERT-CPM
‰La fase di planning
¾ Determinazione 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 Management – PERT-CPM
‰La fase di planning
¾ Costruzione del grafo orientato delle attività
Grafo delle attività
ƒ Rappresenta le relazioni (precedenze) tra le attività del
progetto (Activity-On-Arc, AOA)
Arco orientato ⇒ Attività
Nodo ⇒ Evento
ƒ Evento: istante di inizio o di completamento di un’attività
evento i
j
i
attività (i, j)
evento j
10
Project Management – PERT-CPM
‰La fase di planning
¾ Significato del grafo
dij
i
j
k
djh
h
dkj
• 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à
11
Project Management – PERT-CPM
‰La fase di planning
¾ Regole per la costruzione del grafo
Regola 1
ƒ Ciascuna attività è rappresentata da un solo arco
orientato
Regola 2
ƒ Non possono esistere attività differenti caratterizzate dalla
stessa coppia di eventi (stesso evento iniziale e stesso
evento finale) (alcuni software lo consentono)
12
Project Management – PERT-CPM
‰La fase di planning
¾ Regole per la costruzione del grafo
• Per soddisfare la Regola 2 si introducono attività
dummy (attività fittizie di durata zero)
j
i
B
A
i
A
B
j
dummy
k
13
Project Management – PERT-CPM
‰La fase di planning
¾ Regole per la costruzione del grafo
• Le attività dummy possono servire per definire meglio
relazioni logiche
ƒ Ad esempio, A e B precedono C, B precede E
i
A
C
j
k
B
E
h
f
i
A
j
C
h
dummy
k
B
g
f
E
14
Project Management – PERT-CPM
‰ La fase di planning
¾ Regole per la costruzione del grafo
Regola 3
ƒ La correttezza delle relazioni di precedenza costruite può
essere verificata eseguendo ogni volta che si aggiunge
un’attività i seguenti controlli:
1. verificare quali attività devono completarsi immediatamente
prima che la nuova attività inizi
2. verificare quali attività devono seguire l’attività
3. verificare quali attività si devono svolgere
contemporaneamente
15
Project Management – PERT-CPM
‰ La fase di planning
¾ Osservazioni
•
Il grafo AOA mette in evidenza:
ƒ l’esistenza di attività che possono essere eseguite in parallelo
ƒ la presenza di eventi di sincronizzazione nel progetto
•
In alternativa le relazioni di precedenza (in modo più
intuitivo) possono essere descritte da un grafo Activity-OnNode
16
Project Management – PERT-CPM
‰ La fase di planning
• Un esempio
ƒ A, B, C attività iniziali
ƒ A, B → D
ƒ B → E, F, H
ƒ F, C → G
ƒ E, H → I, J
ƒ C, D, F, J → K
ƒ K→L
ƒ I, G, L attività finali
17
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Allocare le attività nel tempo
• Si determinano gli istanti di possibile inizio e fine delle
attività tenendo conto solo delle precedenze
• Si applica un algoritmo semplice (polinomiale) basato
su operazioni aritmetiche eseguite direttamente sul
grafo
• Si determinano le attività critiche
18
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Attivita critiche e percorso critico
Attività critica
ƒ un’attività che causerebbe un ritardo nel completamento
dell’intero progetto se ne venisse ritardato l’inizio
Attività non critica
ƒ il 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 Management – PERT-CPM
‰ La fase di scheduling
¾ Determinare il percorso critico (CP)
• Il calcolo del CP si esegue in due passi
Forward pass
ƒ Dal nodo iniziale verso il nodo finale, per ogni nodo j si
calcola il ESj
Backward pass
ƒ Dal nodo finale verso il nodo iniziale, per ogni nodo j si
calcola il LCj
20
Project Management – PERT-CPM
‰ La fase di scheduling
¾ CP – Fase forward
• Si calcola ESi Earliest Start Time di tutte le attività che
partono dall’evento i, i=1,...,n
ƒ Per i=0 si pone ES0=0
ƒ dij è la durata dell’attivita associata all’arco (i, j)
ES j = max
i:∃ ( i, j)
[ES i + d ij ]
21
Project Management – PERT-CPM
‰ La fase di scheduling
¾ CP – Fase forward
• ESj
ESi
attività che
completano in j
i
dij
ESj
j
ESi
ESj
22
Project Management – PERT-CPM
‰ La fase di scheduling
¾ CP – 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
[
LC i = min LC j − dij
j:∃(i, j)
]
23
Project Management – PERT-CPM
‰ La fase di scheduling
¾ CP – Fase backward
• LCi
attività che
iniziano in i
j LCj
dij
LCi
i
LCi
LCj
24
Project Management – PERT-CPM
‰ La fase di scheduling
• Un esempio
Attività
A
B
C
D
E
F
G
H
I
L
Durata (dj)
3
2
2
3
2
3
7
5
6
2
Precede
E, D
C
F, G, H, L
F, G, H, L
G, H
I
I
25
Project Management – PERT-CPM
‰ La fase di scheduling
• Un esempio
A, 3
0
E, 2
2
4
B, 2
dummy
D, 3
H, 5
G, 7
5
1
I, 6
C, 2
6
F, 3
3
L, 2
26
Project Management – PERT-CPM
‰ La fase di scheduling
• Un esempio: fase forward
0
A, 3
0
3
ESi
E, 2
2
6
4
B, 2
D, 3
13
1
2
G, 7
dummy
5
I, 6
C, 2
F, 3
3
6
H, 5
L, 2
19
6
27
Project Management – PERT-CPM
‰ La fase di scheduling
• Un esempio: fase forward
ESi
• I calcoli
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ES0=0
ES1=ES0+d01=0+2=2
ES2=ES0+d02=0+3=3
ES3=maxi[ESi+di3]=max[2+2, 3+3]=6
ES4=maxi[ESi+di4]=max[6+0, 3+2]=6
ES5=maxi[ESi+di5]=max[6+7, 6+3]=13
ES6=maxi[ESi+di6]=max[6+5, 13+6, 6+2]=19
28
Project Management – PERT-CPM
‰ La fase di scheduling
LCi
• Un esempio: fase backward
ESi
3
0
0
A, 3
0
6
3
E, 2
2
6
4
B, 2
dummy
D, 3
4
1
G, 7
13
13
I, 6
F, 3
6
6
3
19
19
5
2
C, 2
H, 5
L, 2
6
29
Project Management – PERT-CPM
‰ La fase di scheduling
• Un esempio: fase backward
LCi
ESi
• I calcoli
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
LC6=ES6=19
LC5=LC6-d56=19-6=13
LC4=mini[LCi-d4i]=min[19-5, 13-7]=6
LC3=mini[LCi-d3i]=min[6-0, 13-3, 19-2]=6
LC2=mini[LCi-d2i]=min[6-3, 6-2]=3
LC1=LC3-d13=6-2=4
LC0=mini[LCi-d0i]=min[4-2, 3-3]=0
30
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Le 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 minimo
necessario per completare il progetto
31
Project Management – PERT-CPM
‰ La fase di scheduling
• Un esempio: identificazione delle attività critiche
3
0
0
A, 3
0
6
3
E, 2
2
6
4
B, 2
dummy
D, 3
4
1
G, 7
13
13
19
19
5
I, 6
2
C, 2
H, 5
6
F, 3
6
3
6
L, 2
32
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Calcolo dei Margini (Float)
• Un insieme di quantità associate ad ogni attività dette
float indicano con quale margine un’attività può essere
spostata nel tempo ed in che modo tale spostamento
influenza le altre attività
• Tre float
ƒ Total Float
ƒ Free Float
ƒ Independent Float
33
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Calcolo 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 Management – PERT-CPM
‰ La fase di scheduling
¾ Calcolo 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 resta
completando prima possibile (i, j) e dovendo far iniziare
le attività che iniziano con l’evento j il prima possibile
35
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Calcolo dei Margini (Float)
• Independent float (margine indipendente) di (i, j)
IFij = ESj - LCi - dij
• Supponendo che tutte le attività precedenti completino
il più tardi possibile e che quelle seguenti inizino prima
possibile, rappresenta il margine di tempo che resta
completando il più tardi possibile (i, j) e dovendo far
iniziare le attività che iniziano con l’evento j il prima
possibile
36
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Calcolo dei Margini (Float)
• Graficamente
ESi
LCi
ECij LSij
ESj
dij
dij
TFij
FFij
IFij
LCj
37
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Calcolo 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 durata
aumenta, cresce di conseguenza la durata di tutto il
progetto
38
Project Management – PERT-CPM
‰ La fase di scheduling
¾ La rappresentazione dei risultati
•
I risultati dell’analisi possono essere raccolti in una tabella
Attività
Durata
ESi
LCj
TFij
FFij
IFij
• Quindi è possibile costruire una carta di Gantt per
rappresentare graficamente lo schedule. In questa
carta non sono evidenziate le risorse (risorse infinite)
39
Project Management – PERT-CPM
‰ La fase di scheduling
¾ La rappresentazione dei risultati
•
Un esempio di carta di Gantt
Attività critica
3
1
0
Precedenza
5
6
CP
ES0
0
4
2
CP
LC2
Attività non critica
tempo
Range per attività non critica
40
Project Management – PERT-CPM
‰ La fase di scheduling
• L’esempio continua
3
0
0
A, 3
0
6
3
E, 2
2
6
4
B, 2
dmy
D, 3
4
1
G, 7
13
13
I, 6
F, 3
6
6
3
19
19
5
2
C, 2
H, 5
L, 2
6
41
Project Management – PERT-CPM
‰ La fase di scheduling
• L’esempio continua
Attività
Durata
ESi
LCj
TFij
FFij
IFij
A (0, 2)
3
0
3
0
0
0
B (0, 1)
2
0
4
2
0
0
C (1, 3)
2
2
6
2
2
0
D (2, 3)
3
3
6
0
0
0
E (2, 4)
2
3
6
1
1
1
dm y (3, 4)
0
6
6
0
0
0
F (3, 5)
3
6
13
4
4
4
G (4, 5)
7
6
13
0
0
0
H (4, 6)
5
6
19
8
8
8
I (5, 6)
6
2
13
6
19
19
0
11
0
11
0
11
L (3, 6)
42
Project Management – PERT-CPM
‰ La fase di scheduling
2
0
3
D
A
dmy
6
5
G
4
I
1
B
C
1
E
F
L
H
0
2
4
6
8
10
12
14
16
18
20
43
Project Management – PERT-CPM
‰ La fase di scheduling
2
0
3
A
D
dmy
6
5
I
G
4
1
B
C
1
E
F
L
H
0
2
4
6
8
12
10
14
16
18
20
44
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Osservazioni
•
Se TFij = FFij l’attività (i, j) può essere posizionata
liberamente all’interno del proprio intervallo di attivazione
senza che ciò influenzi altre attività
•
Se TFij > FFij l’attività (i, j) può essere ritardata rispetto ESi
solo 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 inizio
della successiva (ES)
0
1
B
1
C
3
45
Project Management – PERT-CPM
‰ La fase di scheduling
¾ Osservazioni
•
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
LCi
ESi
LSij
ECij ESj
LCj
dij
TFij
FFij
IFij <0
46
Project Management – PERT-CPM
‰ La fase di scheduling
• Un altro esempio
Attività
A
B
C
D
E
F
G
H
I
L
M
N
O
Durata (dj)
3
5
7
4
2
3
2
7
3
5
3
2
6
Precede
D
E, F, G
F, G
O, H
I, L
I, L
M
N
M
N
I, L
47
Project Management – PERT-CPM
‰ La fase di controlling
¾ Assegnazione delle risorse
•
Lo schedule determinato assume che siano presenti risorse
infinite (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 necessarie
per la loro esecuzione
•
In generale il problema del project scheduling con risorse
limitate è NP-hard
48
Project Management – PERT-CPM
‰ La fase di controlling
¾ Valutazione 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 Management – PERT-CPM
‰ La fase di controlling
¾ Analisi dei costi
•
Determinato il CP è possibile eseguire un’analisi di postottimalità tenendo conto dei costi
•
In genere il costo totale ( CT) di un progetto è dato da
CT =
∑
( i, j)∈ A
c ij + c P
ƒ 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)
50
Project Management – PERT-CPM
‰ La fase di controlling
¾ Analisi 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 margini
ƒ ridurre 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 Management – PERT-CPM
‰ La fase di controlling
¾ I costi diretti
•
Si assumono lineari in una
regione tra
ƒ dijn durata nominale → cijn
ƒ dijc durata di crash → cijc
cij
cijc
cijn
dij
• cij = αij⋅dij
α ij = −
αij<0
dijc
dij
n
c ijc − c n
ij
dn
− d ijc
ij
52
Project Management – PERT-CPM
‰ La fase di controlling
¾ I costi indiretti
•
Si assumono lineari
cP
α P>0
• cP = αP⋅dP
• dP = ESn=LCn
c0
dP
d0
53
Project Management – PERT-CPM
‰ La fase di controlling
¾ Analisi dei costi
•
Si può formulare un problema di PL
ƒ Obiettivo (minizzazione CT)
min C T =
∑
(i, j)∈ A
α ij ⋅ d ij + α P d P
ƒ dp è una variabile dipendente → dP =
∑
(i, j)∈CP
dij
ƒ Introducendo ESi e LCi come variabili → dP = ESn
54
Project Management – PERT-CPM
‰ La fase di controlling
¾ Analisi dei costi
•
Vincoli
ƒ costi diretti lineari → dc ≤ dij ≤ dn
ij
ij
ƒ definizione del CP → dP =
∑
(i, j)∈CP
∀(i, j) ∈ A
dij
ƒ conservazione del CP (post-ottimalità) →
∑
(i, j)∈Pk
dij ≤ dP
∀Pk ≠ CP
Pk percorso tra l’evento inizio e l’evento fine del progetto
55
Project Management – PERT-CPM
‰ La fase di controlling
¾ Analisi dei costi
•
Una formulazione lineare più generale si ha usando le ESi e
LCi come variabili
ƒ dP = ESn
ƒ Obiettivo (minizzazione CT)
min C T =
∑
(i, j)∈ A
α ij ⋅ d ij + α P ES n
56
Project Management – PERT-CPM
‰ La fase di controlling
¾ Analisi dei costi
•
Vincoli
n
c
ƒ costi diretti lineari → dij ≤ dij ≤ dij
ƒ definizione degli ESi e LCi →
ESi ≥ ES j + dij ∀j ∈ pred(i)
LCi ≤ LC j − dij ∀j ∈ succ(i)
LC j − ESi ≥ dij
∀(i, j) ∈ A
∀(i, j) ∈ A
57
Project Management – PERT-CPM
‰ Esempi con software
• Excel
• MS Project
58
Project Management – PERT-CPM
‰ Esempi
59
Project Management – PERT-CPM
‰ Esempi
60
Project Management – PERT-CPM
‰ Esempi
2
4
1
3
5
61
Project Management – PERT-CPM
‰ Esempi
Activity DIP
62
Project Management – PERT-CPM
‰ Esempi
min C T =
∑
( i, j )∈ A
− α ij ⋅ ∆ ij
0 ≤ ∆ij ≤ ∆max
∀(i, j) ∈ A
ij
ESi ≥ ES j + (dij − ∆ij ) ∀j ∈ pred(i)
LCi ≤ LC j − (dij − ∆ij ) ∀j ∈ succ(i)
LC j − ES i ≥ dij − ∆ ij
∀(i, j) ∈ A
63
Project Management – PERT-CPM
‰ Considerazioni finali
• L’analisi del PERT-CPM può essere effettuata
anche in presenza di durate aleatorie delle attività
(almeno in presenza di ipotesi semplificative)