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)