Trasformazione dei Processi in Progetti DIB 1
Generalità DIB 2
Progetto PROGETTO: esecuzione di un insieme di attività in un tempo e con risorse limitati per raggiungere uno specifico scopo. A causa dell interazione tra i processi per lo sviluppo di un software, le attività eseguite in un progetto appartengono a processi diversi che interagiscono DIB 3
Processi implicati in un progetto Progetto xyz processo1 processo 2..processoN fase1.1 fase1.2 fase1.3 fase1.m fase2.1 fase2.2 fase2.3 fase2.m.. Manufatto1.1 Manufatto1.2..Manufatto1.m Manufatto2.1 Manufatto2.2 Manufatto2M. Scopo DIB 4
Relazione tra processo e progetto PROCESSO Requisiti del committente Analisi dei requisiti requisiti Specifiche dei requisiti Difetti nello SRS SRS-draft validazione SRS Requisiti del committente Difetti nei requisiti PROGETTO Analisi dei requisiti Specifiche dei requisiti Validazione Specifiche dei requisiti Analisi dei requisiti Specifiche dei requisiti Analisi dei requisiti Specifiche dei requisiti Validazione Specifiche dei requisiti Validazione Specifiche dei requisiti Validazione SRS DIB 5
Piani di Progetto e Progetto Esecutivo DIB 6
Definizioni preliminari Modello di Processo E la descrizione concettuale del processo, descrizione astratta del cosa fare. Piano di Progetto Indica la sequenza temporale potenziale con cui sono eseguibili i passi dichiarati nel modello di processo. Piano Esecutivo Indica la sequenza temporale reale dei passi, considerati i vincoli di progetto (solitamente indicati negli attributi del processo ) quali: date di consegna, risorse umane, risorse strumentali risorse economiche ecc. DIB 7
Definizioni Preliminari Rappresentazione dei Piani Il PERT (Project Evaluation Review Technique) è una rappresentazione grafica della mappa di attività che fanno parte di un progetto. Ogni attività è raffigurata con un rettangolo, e rappresenta un nodo collegato con altri nodi. A2 A3 START A1 A4 A5 STOP DIB 8
Definizioni Preliminari Il Gantt rappresenta le attività su assi cartesiani con lo scorrere del tempo in ascisse e la successione delle attività in ordinate. La rappresentazione permette di pianificare nel tempo qualsiasi successione di operazioni, di controllarne lo stato di avanzamento e di verificare il grado di completamento del progetto. ATTIVITA A Pianificato Effettivo B C D 3 5 8 oggi 15 T DIB 9
Perché utilizzare i PIANI? Per specializzare il modello di processo in base alle caratteristiche specifiche della organizzazione esecutrice ed ai suoi obiettivi. Per rendere flessibile il processo: eseguire i passi con sequenze reali dipendenti dalle risorse disponibili e cambiare decisone sulle sequenze, con il numero ed il tipo di risorse disponibili, assicurando la conformità con i processi. DIB 10
Trasformazione di Modelli di Processo in Piano di Progetto ed in Piano Esecutivo DIB 11
PMF: Definizione Un Frammento del Modello di Processo (Process Model Fragment) e l insieme di attività {A i } appartenenti ad una porzione del processo da eseguire. Un PMF potrebbe anche essere l intero modello di processo; in genere è la porzione di processo che, si stima, possa essere eseguito in un tempo solare in cui non si modifichino le variabili di processo DIB 12
Descrizione di un Piano di Progetto Il Piano di Progetto corrispondente ad un PMF è descritto con un PERT, in cui ogni nodo (N i ) corrisponde ad una attività (A i ): Due nodi connessi attraverso una freccia, si succedono temporalmente nella direzione indicata dalla freccia, mentre i nodi appartenenti a sequenze distinte rappresentano attività eseguibili parallelamente. Nei diagrammi di PERT ogni nodo deve avere almeno una freccia entrante, il che significa che un attività può iniziare solo quanto tutte le precedenti attività, tra loro connesse, sono terminate. Ogni nodo deve avere almeno una freccia uscente, il che significa che un attività può precederne un altra, o una sequenza di altre attività. Ci sono due nodi speciali: il nodo START e il nodo STOP, ai quali non è associata alcuna attività. Il nodo START ha solo frecce uscenti, mentre il nodo STOP ha solo frecce entranti. DIB 13
Algoritmo di Trasformazione in Piano di Progetto 1) Porre nel diagramma PERT il nodo START e inizializzare l insieme dei manufatti disponibili {MD}={insieme di tutti i manufatti e i dati di ingresso disponibili} 2) Per ogni attività A i appartenente al PMF considerato 2.1) se tutti gli input necessari alla sua esecuzione sono disponibili allora 2.1.1) inserire nel diagramma PERT(PMF) il nodo Ni corrispondente all attività considerata; 2.2.2) collegare Ni a tutti i nodi già tracciati i cui manufatti di output sono utilizzati dall attività Ai. 2.2.3) aggiornare l insieme {MD} aggiungendo i manufatti prodotti dall esecuzione della attività Ai 3) ripetere il passo 2 finché ad ogni A i PMF corrisponde N i PERT (PMF) 4) Terminare la costruzione di PERT (PMF) con il nodo STOP connettendolo ad ogni N i PERT(PMF) tale che N i non ha frecce uscenti. DIB 14
Caratteristiche del Piano di Progetto Strategia dell algoritmo di trasformazione:ad un tempo T sono attivabili tutte le attività i cui i manufatti in input sono completati allo stesso tempo. L algoritmo produce un Piano di Progetto che massimizzano la produttività: rende parallele tutte le attività che possono essere tali, senza i vincoli di Risorse umane e strumentali disponibili Tempi di esecuzione dei progetti Risorse finanziarie Altri vincoli specifici del progetto DIB 15
Esempio Inizialmente gli input disponibili sono I1 e I2, quindi le attività A1 e A2 possono essere eseguite parallelamente poiché tutti i dati necessari sono disponibili. Terminata A1 può partire A4 perché sono disponibili m 1 ed m 2 Terminate A1 ed A2 può partire l attività A3 perchè terminate le loro esecuzioni sono disponibili m 2 ed m 3. A4 e A3 possono essere eseguite parallelamente Infine, l attività A5 può partire quando A4 e A3 sono terminate e, quindi, sono disponibili i manufatti m4 ed m5. I 1 A1 m 1 A4 m 4 m 2 m 3 I 2 A3 A2 A2 START A1 A5 m 5 A3 A4 A5 STOP DIB 16
Attributi dell attivit attività In conformità agli attributi dell attività di processo con cui si traccia quella del piano si definiscono gli attributi. Alcuni di essi sono dati dal contesto del progetto altri sono ricavati durante l esecuzione. Attributi di un manufatto : Attributi di un attività base (step): Misurazioni di qualità Supporto di comunicazione Formato Standard di Presentazione Istruzioni o linee guida per la compilazione Dimensione attuale e Prevista del manufatto Priorità di esecuzione Tecniche e strumenti di esecuzione Data inizio attività richiesta Data fine attività richiesta Stato Attività Esecutori designati Impegno speso e stimato delle risorse Budget previsto DIB 17
Piano Esecutivo Il Piano Esecutivo si ricava dal Piano di Progetto tenendo conto de: I vincoli di progetto Le decisioni del management per scegliere la sequenza da eseguire, tra quelle alternative consentite dai vincoli Può essere rappresentato attraverso i diagrammi PERT, o se si preferisce, attraverso i diagrammi GANTT Nel proseguo è utilizzata la rappresentazione con i PERT, senza perdere in generalità grazie alla immediatezza della trasformazione dei PERT in GANTT. DIB 18
Trasformazione del Piano di Progetto in Piano Esecutivo Le attività in sequenza nel Piano di Progetto devono rimanere tali anche nel Piano Esecutivo Le attività in parallelo nel Piano di Progetto Restano in parallelo nel Piano Esecutivo se ci sono tutte le risorse disponibili Sono rese sequenziali se sono indisponibili le risorse Terminata la trasformazione si verifica il rispetto dei vincoli di progetto. Se si stima che questi siano soddisfacibili, il Piano Esecutivo è eseguibile; il rispetto dei vincoli sono Rischi di Progetto che devono essere continuamente monitorati Se si stima che questi non siano soddisfacibili, è necessario verificare la possibilità di migliorare il parallelismo delle attività Se questa possibilità non si verifica con la granularità con cui è espresso il Piano di progetto si deve analizzare le attività con granularità più fine, utilizzando gli scenari procedurali del modello di processo Se non c è possibilità di parallelismo ulteriore o di impiegare maggiori risorse per migliorare il parallelismo, Si devono modificare i vincoli Deve essere dichiarato che non si può realizzare compiutamente lo scopo del Modello di Processo a cui fa riferimento il Piano di Progetto DIB 19
Esempi di Attributi aggiunti o Modificati nel Piano Specifiche di Sistema Metriche Attuali: N. di rilievi corretti = 35; N. di rilievi non corretti = 2; Report dei rilievi (in lavorazione) = Report xxx04 Dimensione Attuale: N.Pagine = 73; N. Diagrammi = 62; N. Procedure = 15; N.Formule = 5 Dimensione Prevista:N.Pagine = 112; N. Diagrammi = 75; N. Procedure = 22; N.Formule = 5 ( ci sono scostamenti rispetto alle previsioni iniziali) Analisi dei Requisiti Data Inizio: 1/03/2004 Data Fine : 1/01/2005 Stato: In Esecuzione Esecutori: Ciccio Cappuccio; Pinco Pallino;Carlo Neruda Impegno Speso: 15,2 mesi uomo Impegno Stimato: 20,5 mesi uomo ( 3 mesi di scostamento rispetto alle previsioni iniziali) Budget Previsto: 6.540.000 DIB 20
Strategie Decisionali nella Trasformazione Quando nel Piano Esecutivo si devono rendere sequenziali due attività che nel Piano di Progetto sono in parallelo si esegue per prima l attività con maggiore priorità In caso di uguale priorità la decisione può essere adottata con una di queste strategie: efficacia del progetto: si esegue prima l attività che produce i manufatti intermedi che sono più immediatamente tracciabili con i manufatti di output; questa strategia rende più prossima la produzione dei deliverable riconosciuti dal committente flessibilità della schedulazione: si esegue prima l attività che produce i manufatti con più alto scope (numero di attività che utilizzano il manufatto) così che aumenti il numero di attività che possono partire perché sono pronti i manufatti in input. DIB 21
Modifica del Piano Esecutivo per Variazioni del Processo Una modifica del Piano Esecutivo può essere richiesta dal verificarsi di un evento: Interno, causato dal cambiamento spontaneo delle variabili di processo Esterno, causato per cambiamento indotto da iniziative di miglioramento Le modifiche si realizzano attraverso raffinamenti del Piano Esecutivo decisi dagli ingegneri di processo a seguito di misurazioni di progetto che potrebbero far capire meglio le variabili di processo del contesto, indipendenti, e la loro influenza sulle variabili di processo dipendenti, a causa di eventi interni od esterni Nella trasformazione dei successivi FPM si tiene conto delle modifiche e della migliore comprensione del processo DIB 22
Modifica del Piano Esecutivo per Variazioni del Processo:Esempi In un incremento/fpm, due attività previste in sequenza possono diventare parallele/concorrenti perché si verificano entrambe le seguenti condizioni: Disponibilità di nuove risorse necessarie per l esecuzione delle due attività(evento esterno) Il Piano di Progetto prevede che queste due attività possano essere eseguite in parallelo Durante la esecuzione di un incremento si migliora il modello di previsione dell impegno uomo per talune attività, con le seguenti conseguenze: Le risorse uomo assegnate a due attività previste in esecuzione parallela, non risultano più sufficienti per entrambe (evento interno) Il Piano di Progetto deve essere modificato portando le due attività in esecuzione sequenziale ed impegnando il tempo uomo eventualmente rimasto disponibile in altre attività, anche di progetti diversi. DIB 23
Esempio di Piano Esecutivo A2 A3 A partire dal Piano di Progetto di fig a) Si supponga di non avere le risorse umane per eseguire le attività A1 e A2 in parallelo; esse devono essere eseguite in sequenza; il Piano Esecutivo è mostrato in (fig. b). Si supponga ora che le attività A3 ed A4 debbano essere eseguite da 2 programmatori con almeno 4 anni di esperienza, le attività A3 ed A4 sono eseguite in sequenza dall unico programmatore disponibile, dando luogo ad un ulteriore raffinamento del piano Esecutivo (fig. c); START START A1 A2 A3 A4 A5 STOP A1 a) START A1 A2 A3 A4 A4 A5 STOP A5 c) b) STOP DIB 24