Gestione di progetto: pianificazione

Documenti analoghi
Gestione di progetto: pianificazione. Introduzione: dove siamo? Introduzione: pianificazione. Simona Bernardi

Ingegneria del Software

Gestione di progetto. Cosa è un progetto? Gestione di progetto. Fondamenti di gestione. Ruoli

Gestione di progetto. Cosa è un progetto? Gestione di progetto. Fondamenti di gestione. Criticità

Materiale didattico. Sommario

Gestione di progetto. Gestione di progetto. Fondamenti di gestione. Cosa è un progetto? Ruoli

Ingegneria del Software

Analisi e diagnosi dei processi aziendali. Corso di ebusiness

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Leveling delle attività

Gestione. di progetto. Gestione di progetto. IS Ingegneria del Software 1. Contenuti. Fondamenti. Criticità. Gestione dei rischi 1

14. Verifica e Validazione

18/05/2014. Università di Ferrara Corso di Ingegneria del Software AA 2013/2014

GESTIONE DEI PROGETTI

GESTIONE DEI PROGETTI. Inizio

Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1

Calcolo prezzi unitari per forniture a FP Pagina 1 di 9

Gestione di progetto. Gestione di progetto. Criticità. Fattori di rischio. Fondamenti. Istanziare processi nel progetto

Ingegneria del Software

Project Management dei Progetti Software. Prof. Paolo Ciancarini Corso di Ingegneria del Software CdL Informatica Università di Bologna

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Motivazioni 1

Modelli matematici e Data Mining

Piano di Testing. Fontolan Federico Giacomazzi Andrea Yoshida Kotono Rosada Fabio

Pratiche di XP [Beck] Extreme Programming (XP) Story Card. Gioco di pianificazione

Gestione dello sviluppo software Modelli Base

Unità di misura dei deliverables Come misurare l avanzamento dell ingegneria

Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software. Gestione di progetto. Marina Mongiello

Introduzione alla programmazione

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

12. Verifica e Validazione del Software

Progetti di ricerca: cenni metodologici. Alessandro Tuccio Provincia Autonoma di Trento Servizio Università e ricerca scientifica

Programmazione con Java

Ingegneria del Software

COLLEGIO DEI PERITI AGRARI E DEI PERITI AGRARI LAUREATI DELLA PROVINCIA DI SALERNO

Stato dell arte sulle tecniche di testing di Sistemi Embedded

Indice. Prefazione. 3 Oggetti e Java 53

IS Corso di Ingegneria del Software 1

Operations Management

viii Indice generale

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Ingegneria del Software L-A

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

Una Libreria di Algebra Lineare per il Calcolo Scientifico

La stima dei costi di produzione

CORSO DI MATEMATICA E LABORATORIO ESERCIZI ASSEGNATI NELL A.A. 2016/17

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

INTERAZIONE UOMO-MACCHINA

IS Corso di Ingegneria del Software 1

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

STIMARE GLI ELEMENTI ECONOMICI DI UN ALTERNATIVA (O DI UN PROGETTO)

ISTITUTO SUPERIORE ENRICO FERMI. PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

La stima dei costi nei dispositivi elettronici. Elettronica L Dispense del corso

INDICE 1 IL SISTEMA ECONOMICO

Corso di Calcolo Numerico

Acquisizione di prodotti e servizi Parte 2

Project Management dei Progetti Software. Prof. Paolo Ciancarini! Corso di Ingegneria del Software! CdL Informatica! Università di Bologna

Gestione di progetti (software)

Le funzioni in JavaScript. Modularizzazione

Massimo Paolucci DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Pianificazione e gestione di progetto. Adozione di tecniche e metodologie usate anche in settori diversi dalla progettazione sw

Progetto sito web Gigli Elisa

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

Esercizio 1. Esercizio 2

Gestione dei Progetti di Innovazione. C.d.L. INGEGNERIA INFORMATICA AUTOMATICA ELETTRONICA delle TELECOMUNICAZIONI. Corso di

Trasformazione dei Processi in Progetti DIB 1

CALENDARIO DIDATTICO MODALITÀ ONLINE

L adozione di MATLAB e Simulink nei Corsi di Ingegneria al Politecnico di Milano. Maurizio Magarini MATLAB EXPO Milano, 4 novembre 2014

CALENDARIO DIDATTICO MODALITÀ ONLINE

Argomenti Corso SAP Online ABAP/4 Completo

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Formalismi per la descrizione di algoritmi

Verifiche delle proprietà del software e della loro corrispondenza alle specifiche formali

Organizzazione aziendale Lezione 9 L organizzazione dell impresa Cap. 6. Ing. Marco Greco Tel

Piano di gestione della qualità

3. Ciclo di Vita e Processi di Sviluppo

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

Costo pieno: o Somma dei costi diretti attribuiti e di una quota equa dei costi indiretti allocati che coinvolgono la produzione dell output in

Focus: MES (Manufacturing Execution System) Ing. Gerardo Fabrizio / CEO Open Data

Reti combinatorie. Reti combinatorie (segue)

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

Metodologia di lavoro: PCM & GOPP

Ingegneria del Software (e Prova Finale) Luciano Baresi

Introduzione La natura e lo scopo dei sistemi contabili 1

High Return on Engagement. Analytics Report. per SAMPLE PROJECT

Corso di Ingegneria del Software. Modelli di produzione del software

Microsoft Visio 2007 e Project Francesca Benuzzi

Statistica a lungo termine: calcolo dell onda di progetto

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Indicatori compositi. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Le attività di project management 2

Le basi del linguaggio Java

Fondamenti di Informatica

Introduzione all uso delle funzioni in C++

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Transcript:

Gestione di progetto: pianificazione Simona Bernardi Corso di Ingegneria del Software 04/ 05 Prof.Susanna Donatelli Introduzione: dove siamo? Gestione di progetto: Pianificazione Monitoraggio e controllo Terminazione Processo di Produzione Processo Software Processo di Gestione del Processo Sviluppo Gestione Controllo dei cambiamenti Pianificazione: tutto ciò che deve essere fatto prima di iniziare Controllo: il piano viene eseguito ed aggiornato Terminazione per fornire info sul processo di sviluppo

Introduzione: pianificazione Condizione necessaria per il successo di un progetto anche di alto livello SRS Pianificazione Progetto piano piano = {attività} + scheduling + allocazione risorse 3 Attività della pianificazione Stima dei costi Schedule e milestones Pianificazione del personale Pianificazione della qualita del sw Pianificazione per la gestione dei cambiamenti Pianificazione del monitoraggio Gestione dei rischi 4

Stima dei costi Quanto costerà sviluppare il sw? Sono necessarie stime di costo e tempo (schedule) prima di iniziare lo sviluppo del sw Costi: Hardware (tempo di calcolo, memoria, etc.) Software (strumenti sw, compilatori, etc.) Personale Unita di misura: PM = person-month Stime di costo Soggettive Oggettive: uso di modelli matematici 5 Stima dei costi: limiti 4x x.5x.5x x.8x.67x.5x.5x Feasibility Req. System analysis design Detailed design Coding Testing Accepted Sw Accuratezza della stima dei costi 6

Stima dei costi: modelli Maturità della disciplina: - Stime ottenute con il modello COCOMO dopo la specifica dei requisiti ±0% del costo reale sul 68% dei progetti molto buono Modello di stima dei costi: F (x,..,x n ) Problema: - Identificare parametri chiave x,..,x n - Identificare la relazione F 7 Stima dei costi: parametri chiave Dimensioni progetto Abilità del programmatore (fattore 0 di differenza di produttività) Esperienza sviluppatori nel dominio applicativo Complessità progetto Affidabilità (l incremento del costo è spesso esponenziale) Devono essere misurabili!! 8

Stima dei costi: approcci Analisi di regressione Costo = var. dip., Parametri = var. indip. Usa dati storici per predire dati futuri può essere applicata solo se il processo è sotto controllo statistico Funzioni di una sola variabile: Costo = a Dimensione b progetti grandi Costo = a Dimensione + b progetti piccoli Esempio: oltre 60 progetti IBM con linee di codice da 4 a 467 KDLOC Costo = 5. Dimensione 0.9 9 Stima dei costi: dimensioni (I) DLOC = Delivered Lines of Code Solo linee di codice CONSEGNATE come parte del prodotto parti relative al test e altro supporto sw escluso Linee di codice create dallo staff codice generato automaticamente da applicativi escluso DLOC = una linea logica di codice e.g., "if-then-else viene conteggiato come DLOC Dichiarazioni incluse Commenti esclusi DFP = Delivered Function Point Misurano la funzionalità del sistema in termini di n. di funzioni che implementa, n. di input, n. di output, etc. 0

Stima dei costi: dimensioni (II) Problema di stima dei costi Problema di stima delle dimensioni È più facile stimare le dimensioni che i costi poichè la dimensione gode della proprietà additiva il costo NO! Dim. totale = Σ Dim. componenti Stima dei costi: modello COCOMO COnstructive COst MOdel Il costo é funzione di più di una variabile in cui la dimensione (in KDLOC) è il fattore primario Passi di base:. Ottenere una stima iniziale del costo di sviluppo (in PM) modello di base. Determinare un insieme di 5 fattori moltiplicativi di costo dalle caratteristiche del progetto 3. Aggiustare la stima moltiplicando la stima iniziale con i fattori di costo determinati al passo )

COCOMO: stima iniziale E i = a * (KDLOC) b I parametri a e b dipendono dal tipo di progetto: Progetto organic semidetached embedded a 3. 3.0.8 b.05..0 3 COCOMO: attributi di costo (I) Product Computer Personnel Project 4

COCOMO: aggiustamento della stima iniziale La stima iniziale viene aggiustata con un fattore moltiplicativo: EAF = Effort Adjustment Factor EAF pesa gli attributi: Del prodotto Del computer Del personale Del progetto E = E i * EAF dove EAF = 5 i = A i 5 COCOMO: stima del costo per ciascuna fase (I) Il metodo permette di ottenere una stima globale del costo di sviluppo Per il monitoraggio/controllo è utile avere una stima del costo ripartita su ciascuna fase dello sviluppo Il costo di una fase è una % del costo globale e dipende dal tipo e dalla dimensione del progetto 6

COCOMO: stima del costo per ciascuna fase (II) Fase Progetto Prog.dettagliato Codifica e test Integrazione e test Dimensione(KDLOC) 8 3 8 6 6 6 6 6 5 4 3 4 40 38 36 6 9 5 Organico 7 COCOMO: stima del costo per ciascuna fase (III) Per valori intermedi si usa l interpolazione lineare (NB: Nel libro pag. 68 c è un errore!) Esempio: la stima del costo di un progetto organico (di 6KDLOC) è di 0 PM qual è il costo per la codifica e il test? % di costo per la codifica e test per un progetto di 6KDLOC 40 + 38-40 (6 8) = 39,34% 3-8 Costo per la codifica e test: 0PM * 39,34% = 7.868 PM 8

COCOMO: esempio (I) Sistema per automazione d ufficio (organico stima dimensioni: 3 KDLOC) Attributi di costo considerati rilevanti:. Product complexity Alta.5. Main storage constraint Alta.06 3. Application experience Bassa.3 4. Programmer capability Bassa.7 Per gli altri tasso nominale (.0) EAF =.5 *.06 *.3 *.7 =.6 9 COCOMO: esempio (II) Costo stimato iniziale: E i = 3. * (3 KDLOC).05 = 0.4 PM Costo stimato finale: E = E i * EAF = 0.4 PM *.6 = 6.3 PM 0

TABELLA COCOMO: esempio (III) Costo stimato per ciascuna fase: o Progetto 6.3PM * o 6 + 6-6 8- *(3-) Progetto dettagliato = 6.3 PM *.6 =.6PM 6.3PM * 6 + 5-6 8- *(3-) = 6.3 PM *.58 = 4.PM o Codifica e test = 6.3PM *.466 =6.8PM o Integrazione e test = 6.3PM *.65 =.7PM Attività della pianificazione Stima dei costi Schedule e milestones Pianificazione del personale Pianificazione della qualita del sw Pianificazione per la gestione dei cambiamenti Pianificazione del monitoraggio Gestione dei rischi

Schedule e milestones Obbiettivo: determinare la durata complessiva del progetto e la durata di ciascuna fase del processo di sviluppo La relazione tra la durata del progetto e il costo non è lineare Esempio: Costo = N PM, staff di N persone durata progetto = M Comunicazione tra N persone costo O(N )!! 3 Schedule e milestones: stima della durata Modelli ad una variabile indip. Costanti determinate dai dati storici Modello IBM M = 4. * E 0.36 dove M=mesi Modello COCOMO M =.5 * E 0.38 (sw organico) 4

COCOMO: stima della durata per ciascuna fase Progetto Fase Programmazione* Integrazione 9 63 8 Organico Dimensione(KDLOC) 8 9 59 3 9 55 6 8 9 5 30 *Programmazione = Prog.dettagliato + Codifica + Test unità 5 COCOMO: esempio (IV) Durata complessiva progetto: M=.5 * (6.3) 0.38 = 7. Mesi Durata fasi del progetto: Progetto Programmazione Integrazione 0.9 * 7. =.37 mesi 0.63 * 7. = 4.5 mesi 0.86 * 7. =.34 mesi 6

COCOMO: esempio (V) progetto programmazione integrazione gennaio febbraio marzo aprile maggio giugno luglio agosto 6 7 7 Schedule e milestones: Gantt Chart 8

Schedule e milestones: PERT Charts (I) PERT = Program Evaluation and Review Technique Activity box Legame di precedenza 9 Schedule e milestones: PERT Charts (II) A e B devono essere completate prima che C possa iniziare A e B condotte in parallelo A dura 5 gg.,b 4 gg. e C 4gg. Durata totale max(5,4)+4 = 9gg. Tempo libero (spare time) P e Q attività parallele Q ha 3gg. di tempo libero Q può iniziare 3 gg. dopo P senza ritardare l inizio dell attività seguente (R) 30

Schedule e milestones: PERT Charts (III) Identificazione dei cammini critici, e.g., sequenze temporali di attività (tra di loro relazionate) che richiedono i tempi più lunghi 3 Attività della pianificazione Stima dei costi Schedule e milestones Pianificazione del personale Pianificazione della qualita del sw Pianificazione per la gestione dei cambiamenti Pianificazione del monitoraggio Gestione dei rischi 3

Pianificazione del personale Costi e durate (complessive e per fase) sono noti Numero medio persone sul progetto: N = Costo totale progetto (PM) Durata totale progetto (M) Non è una misura sufficientemente dettagliata COCOMO: si può calcolare N per ciascuna fase e/o per sottosistemi (moduli) 33 COCOMO: esempio (VI) Fase Progetto Programmazione Integrazione Costo.6.0.7 Durata.37 4.5.35 N progetto =.6/.37 =.9 persone N programmazione = /4.5 =.4 persone N integrazione =.7/.35 = persone 34

COCOMO: stima del costo per sottosistemi (I) Produttività nominale ProdNom = Dimensione progetto (KDLOC) E i (PM) Stima iniziale costo per sottosistema S j E ij = Dimensione Sj (KDLOC) ProdNom (KDLOC/PM) 35 COCOMO: stima del costo sottosistemi (II) Per ciascun S j si quantificano gli attributi di costo e si determina EAF j Stima finale di costo per sottosistema S j E j = E i j * EAF j Stima finale di costo per il sistema E = Σ j E j 36

COCOMO: esempio (VII) Sistema per automazione d ufficio (organico stima dimensioni: 3 KDLOC) Moduli principali:. Data entry (600 DLOC). Data update (600 DLOC) 3. Query (800 DLOC) 4. Report generation ( KDLOC) 37 COCOMO: esempio (VIII) Produttività nominale ProdNom = 3 KDLOC 0.4 PM = 0.9 KDLOC/PM Stima iniziale costo per sottosistema S j E i data entry = 0.6/0.9 = PM E i data update = 0.6/0.9 = PM E i query = 0.8/0.9 =.7 PM E i reports =.0/0.9 = 3.4 PM 38

COCOMO: esempio (IX) Stesso EAF =.6 per ogni S j Stima finale di costo per S j (include il costo di tutte le fasi) E data entry = *.6 = 3. PM E data update = *.6 = 3. PM E query =.7 *.6 = 4.3 PM E reports = 3.4 *.6 = 5.4 PM Stima finale progetto: 6. PM 39 Pianificazione del personale: piano Tabella che specifica il n. di persone allocate al progetto per mese Riga = attività Colonna = mesi Ultima riga = totale costo al mese Ultima colonna = totale costo attività Sono necessarie diverse iterazioni per ottenere valori consistenti con le stime calcolate il totale del piano può non coincidere con il costo totale stimato 40

COCOMO: esempio (X) Attività Progetto Data entry G F M A M G L A 3 Data update Query.5 Report.5 4 Integrazione 3.5 3 6.5 4 Pianificazione del personale: struttura dello staff(i) Democratico (egoless) tutti parlano con tutti capo a rotazione progetti di ricerca a lungo termine senza scadenze rigide 4

Pianificazione del personale: struttura dello staff(ii) Gerarchico capo capo di riserva bibliotecario programmatori Riduce le comunicazioni poche discussioni Progetti semplici con scadenze rigide Team decentralizzato controllato 43 Modello COCOMO Riferimenti B.W. Boehm, Software Engineering Economics, ISBN 0-3- 8-7 Prentice Hall, 98 (biblio L3073) Software Cost Estimation: Metrics and Models http://www.ivm.org.uk/aboutivm_publications_softwarevalueeng.htm COCOMO II Cost Driver and Scale Driver Help http://sunset.usc.edu/research/cocomoii/expert_coco mo/drivers. html Pert Charts tutorial http://www.getahead.uk.com/gwprpert. htm 44

Fine lezione 45 Formula interpolazione lineare Dati due punti P 0 (x 0,y 0 ) e P (x,y ) Equazione della retta passante per P 0 e P : y = y 0 + y y 0 x x 0 (x x 0 ) x (x 0,x ) 46