corso di laurea triennale in ingegneria informatica ingegneria del software gestione di progetto
TRANSCRIPT
![Page 1: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/1.jpg)
Corso di Laurea Triennale in Ingegneria Corso di Laurea Triennale in Ingegneria InformaticaInformatica
Ingegneria del softwareIngegneria del software
Gestione di progettoGestione di progetto
![Page 2: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/2.jpg)
Ingegneria del Ingegneria del softwaresoftware Contenuti Contenuti
• Gestione di progetto• Ruoli professionali• Pianificazione di progetto• Stima dei costi di progetto• Rischi di progetto
![Page 3: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/3.jpg)
Ingegneria del Ingegneria del softwaresoftware Gestione del progettoGestione del progetto
• Dal processo al progetto – Da processo definito a standard aziendale– Processo istanziati secondo le esigenze del progetto
• Stimare i costi e le risorse necessarie• Pianificare le attività, assegnarle alle persone• Controllare le attività e verificare i risultati
![Page 4: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/4.jpg)
Ingegneria del Ingegneria del softwaresoftware ProblematicheProblematiche
• Il prodotto software è intangibile e flessibile• All’ingegneria del software non viene riconosciuta
la dignità di altre discipline ingegneristiche• Il processo di sviluppo
![Page 5: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/5.jpg)
Ingegneria del Ingegneria del softwaresoftware Fattori di rischioFattori di rischio
• Variabilità del personale– Incluso il responsabile
• Disponibilità della piattaforme di sviluppo di esecuzione• Variabilità dei requisiti• Ritardo nelle specifiche
– Iniziali (del committente) e/o interne (del fornitore)– Variabilità delle tecnologie
• Prodotti nuovi vs obsoleti (non più manutenuti)• Competizione sul mercato
![Page 6: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/6.jpg)
Ingegneria del Ingegneria del softwaresoftware Gestione dei rischiGestione dei rischi
• Identificazione – Nel progetto, nel prodotto, nel business
• Analisi– Probabilità di occorrenza e conseguenze possibili
• Pianificazione– Come evitarne o minimizzare gli effetti
• Controllo– Attenzione continua nel corso del progetto
![Page 7: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/7.jpg)
Ingegneria del Ingegneria del softwaresoftware Ruoli Ruoli
• Funzioni aziendali assegnate al progetto• Sviluppo: aspetti tecnologici• Direzione: responsabilità decisionali• Amministrazione: gestione dei processi• Controllo: gestione del sistema qualità
• Profilo professionale• Requisiti per l’assunzione di un ruolo in un progetto• Competenze tecnologiche e metodologiche• Esperienze espresse in anni e partecipazione a progetti
![Page 8: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/8.jpg)
Ingegneria del Ingegneria del softwaresoftware Analisti e progettistiAnalisti e progettisti
• Analisti– Conoscono il dominio ed hanno una cospicua esperienza
professionale– Hanno grande impatto sul successo del progetto– Sono pochi. Raramente seguono il progetto fino alla conclusione
• Progettisti– Hanno competenze tecniche e tecnologiche aggiornate ed esperienza
professionale– Hanno grande impatto sugli aspetti tecnici e tecnologici del progetto.
Spesso ne assumono responsabilità di scelta e gestione – Sono pochi. Talvolta seguono il prodotto fino alla manutenzione
![Page 9: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/9.jpg)
Ingegneria del Ingegneria del softwaresoftware Programmatori e verificatoriProgrammatori e verificatori
• Programmatori• Partecipano alla realizzazione e manutenzione del prodotto• Hanno competenze tecniche, visione e responsabilità circoscritte• Formano la categoria storicamente più numerosa• Partecipano anche alla manutenzione
• Verificatori• Partecipano all’intero ciclo di vita• Hanno competenze tecniche, conoscenza delle norme, esperienza
di progetto• Hanno capacità di giudizio e di relazione
![Page 10: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/10.jpg)
Ingegneria del Ingegneria del softwaresoftware Responsabile di progettoResponsabile di progetto
• Rappresenta il progetto• Accentra le responsabilità di scelta e approvazione• Partecipa al progetto per tutta la sua durata• È difficilmente sostituibile
• Responsabilità • Pianificazione• Gestione delle risorse umane• Controllo e coordinamento
• Deve avere conoscenze e capacità tecniche• Per comprendere ed anticipare l’evoluzione del progetto
![Page 11: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/11.jpg)
Ingegneria del Ingegneria del softwaresoftware Amministrazione di progettoAmministrazione di progetto
• Controllo dell’ambiente di sviluppo• Amministrazione delle risorse e delle infrastrutture• Risoluzione di problemi legati all’ambiente e al processo• Gestione della documentazione di progetto• Controllo di versioni e configurazioni
• Funzione o ruolo?• Funzione in aziende molto strutturate, con progetti simili• Ruolo (spesso si più persone) in progetti diversificati
![Page 12: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/12.jpg)
Ingegneria del Ingegneria del softwaresoftware Controllo della qualitàControllo della qualità
• La funzione di più recente introduzione– Funzione e non ruolo
• Accertamento della qualità– Dei prodotti e dei processi– Sia verso il committente che verso la direzione aziendale
• Dare confidenza– Definendo e manutenendo i processi aziendali– Verificandone la corretta applicazione
![Page 13: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/13.jpg)
Ingegneria del Ingegneria del softwaresoftware Pianificazione di progettoPianificazione di progetto
• Definizione delle attività– Per pianificarne lo svolgimento e controllarne l’attuazione– Per avere una base su cui gestire l’allocazione delle risorse– Per stimare e controllare scadenze e costi
• Strumenti per la pianificazione– Work Breakdown structure– Diagrammi di Gantt “works, Wages and profit”, HenryL.
Gantt” the engineering magazine” 1910)
![Page 14: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/14.jpg)
Ingegneria del Ingegneria del softwaresoftware Work breakdown structureWork breakdown structure
• Struttura gerarchica delle attività• Ogni attività si compone di sottoattività• Non necessariamente sequenziali• Univocamente identificate
1. offerta
1.3 piano di progetto
1.2 analisi dei requisiti
1.1 studio di fattibilità
![Page 15: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/15.jpg)
Ingegneria del Ingegneria del softwaresoftware Diagrammi di GanttDiagrammi di Gantt
• Dislocazione temporale delle attività» Per rappresentare la durata» Per rappresentare sequenzialità e parallelismo» Per confrontare le stime con i progressi
tempo
Studio di fattibilità
Analisi dei requisiti
Piano di progetto
Durata effettivaDurata pianificata
![Page 16: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/16.jpg)
Ingegneria del Ingegneria del softwaresoftware Diagrammi PERTDiagrammi PERT
• Dipendenze temporali tra attività– Per ragionare sulle scadenze di un progetto– Slack time, free slack, total slack…– Cammino critico
Studio di fattibilità
8/11 30/11
Analisi dei requisit
19/11 9/11
Piano di progetto
30/11 14/11
Slack=0
Slack=5
![Page 17: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/17.jpg)
Ingegneria del Ingegneria del softwaresoftware Allocazione delle risorseAllocazione delle risorse
• Assegnare attività e ruoli a persone• Problemi
– Non sottostimare– Non sovrastimare
• Risorse impegnate su progetti diversi• Per non correre il rischio di sottoallocare• Per far fronte alle richieste dei clienti ( mai rifiutare)• Cammini critici su più progetti
![Page 18: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/18.jpg)
Ingegneria del Ingegneria del softwaresoftware Stima dei costi di progettoStima dei costi di progetto
• Come pianificare– Gli strumenti permettono di:
• organizzare le attività• evidenziare le criticità• studiare scenari diversi
– Come definire durata e costo della attività?• Tempo/persona
– Unità di misura del tempo necessario a un progetto– Come stimare il tempo/persona?
![Page 19: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/19.jpg)
Ingegneria del Ingegneria del softwaresoftware Fattori di influenzaFattori di influenza
• Dimensione del progetto• Esperienza del dominio• Tecnologie adottate• Ambiente di sviluppo• Qualità richiesta dei processi
![Page 20: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/20.jpg)
Ingegneria del Ingegneria del softwaresoftware Tecniche di stimaTecniche di stima
• Legge di Parkinson• 1951, C. Northcote Parkinson. Parkinson’s law: the pursuit
progress: “work expands to fill the time available”.• Prezzo per vincere• Giudizio dell’esperto• Stima per analogia• Modello algoritmico dei costi
![Page 21: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/21.jpg)
Ingegneria del Ingegneria del softwaresoftware Constructive Cost ModelConstructive Cost Model
• Stima le risorse necessarie in mesi/persona– Software engineering economics, b. Boehm, Prentice Hall,
1981• M/P=CxDSxM
– C fattore di complessità del progetto– D misura della dimensione stimata del prodotto– S esponente di complesità– M fattore derivante dalla valutazione di altri attributi
• D=KDSI– Kilo Delivered Source Instructions
![Page 22: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/22.jpg)
Ingegneria del Ingegneria del softwaresoftware CoCoMO in versione baseCoCoMO in versione base
• Bassa complessità del progetto: Simple– È possibile avere una visione globale del prodotto– C=2.4, S=1.04, M=1 [organic]
• Complessità media: Moderate– Il prodotto può essere compreso solo per componenti– C=3.0, S=1.12, M=1 [semi-detatched]– Complessità elevata: Embedded– Il prodotto interagisce con componenti ed ambiente esterne/o– C=3.6, S=1.20 , M=1
![Page 23: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/23.jpg)
Ingegneria del Ingegneria del softwaresoftware Stime CoCoMOStime CoCoMO
200
400
600
800
1000
M/P
20 40 60 80 1000 KSDI
E
M
S
![Page 24: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/24.jpg)
Ingegneria del Ingegneria del softwaresoftware Raffinamenti del modelloRaffinamenti del modello
• Intermediate CoCoMo– Effect adjustment Factors: fattori moltiplicativi
• Attibuti di prodotto: affidabilità, categorie,…• Attibuti tecnologici: piattaforma, strumenti• Attibuti del personale: esperienza competenze
– M/P=FxCxDSxM, con F=Πifi
• Detailed CoCOMO• Decomposizione del progetto• Stima intermediate per singole componenti• Composizione dei risultati
![Page 25: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/25.jpg)
Ingegneria del Ingegneria del softwaresoftware Rischi di progettoRischi di progetto
• Risultati dei progetti software– Costi eccessivi, scadenze non rispettate– Prodotti insoddisfacenti
• Cause
![Page 26: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/26.jpg)
Ingegneria del Ingegneria del softwaresoftware Categorie di prodotti (1994)Categorie di prodotti (1994)
• Progetti di successo – 16.2% dei progetti
• Progetti a rischio – 52.7% costi pari al 189% delle stime iniziali
• Fallimenti – 31.1%
![Page 27: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/27.jpg)
Ingegneria del Ingegneria del softwaresoftware Fattori di successoFattori di successo
• Coinvolgimento del cliente 15.9%• Supporto della direzione esecutiva 13.9%• Definizione chiara dei requisiti 9.6%• Pianificazione corrette 9.6%• Aspettative realistiche 8.2%• Personale competente 7.2%
![Page 28: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/28.jpg)
Ingegneria del Ingegneria del softwaresoftware Fattori di fallimentoFattori di fallimento
• Requisiti incompleti 13.1%• Mancato coinvolgimento del cliente 12.4%• Mancanza di risorse 10.6%• Aspettative non realistiche 9.9%• Mancanza di supporto esecutivo 9.3%• Fluttuazione dei requisiti 8.7%
![Page 29: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/29.jpg)
Ingegneria del Ingegneria del softwaresoftware Categorie di prodotti (2004)Categorie di prodotti (2004)
• Progetti di successo – 34% dei progetti – Grazie ad un miglioramento nelle tecnihce di gestione
• Fallimenti – 15%
![Page 30: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/30.jpg)
Ingegneria del Ingegneria del softwaresoftware Riferimenti Riferimenti
• B. Boehm,”Cost Models for future software life cycle processes: CoCoMoII,” http://sunset.usc.edu
![Page 31: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/31.jpg)
Corso di Laurea Triennale in Ingegneria Corso di Laurea Triennale in Ingegneria InformaticaInformatica
Ingegneria del softwareIngegneria del software
Miglioramento del processoMiglioramento del processo
![Page 32: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/32.jpg)
Ingegneria del Ingegneria del softwaresoftware Contenuti Contenuti
• Norme per la definizione delle attività• Strumenti per la definizione dei processi
![Page 33: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/33.jpg)
Ingegneria del Ingegneria del softwaresoftware
Standard per la definizione del Standard per la definizione del processoprocesso
• IEEE/EIA 12207.0-1996//ISO/IEC12207:1995• IEEE/EIA 12207.1-1996• IEEE/EIA 12207.2-1997
![Page 34: Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto](https://reader035.vdocuments.pub/reader035/viewer/2022081511/5542eb4c497959361e8b9f01/html5/thumbnails/34.jpg)
Ingegneria del Ingegneria del softwaresoftware CMMCMM
• Capability maturity model