La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto."— Transcript della presentazione:

1 Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto

2 Ingegneria del software Contenuti Gestione di progetto Ruoli professionali Pianificazione di progetto Stima dei costi di progetto Rischi di progetto

3 Ingegneria del software Gestione 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

4 Ingegneria del software Problematiche Il prodotto software è intangibile e flessibile Allingegneria del software non viene riconosciuta la dignità di altre discipline ingegneristiche Il processo di sviluppo

5 Ingegneria del software Fattori 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

6 Ingegneria del software Gestione 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

7 Ingegneria del software 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 lassunzione di un ruolo in un progetto Competenze tecnologiche e metodologiche Esperienze espresse in anni e partecipazione a progetti

8 Ingegneria del software Analisti 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

9 Ingegneria del software Programmatori 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 allintero ciclo di vita Hanno competenze tecniche, conoscenza delle norme, esperienza di progetto Hanno capacità di giudizio e di relazione

10 Ingegneria del software Responsabile 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 levoluzione del progetto

11 Ingegneria del software Amministrazione di progetto Controllo dellambiente di sviluppo Amministrazione delle risorse e delle infrastrutture Risoluzione di problemi legati allambiente 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

12 Ingegneria del software 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

13 Ingegneria del software Pianificazione di progetto Definizione delle attività –Per pianificarne lo svolgimento e controllarne lattuazione –Per avere una base su cui gestire lallocazione 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)

14 Ingegneria del software Work 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à

15 Ingegneria del software Diagrammi 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 effettiva Durata pianificata

16 Ingegneria del software Diagrammi PERT Dipendenze temporali tra attività –Per ragionare sulle scadenze di un progetto –Slack time, free slack, total slack… –Cammino critico Studio di fattibilità 8/1130/11 Analisi dei requisit 19/119/11 Piano di progetto 30/1114/11 Slack=0 Slack=5

17 Ingegneria del software Allocazione 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

18 Ingegneria del software Stima 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?

19 Ingegneria del software Fattori di influenza Dimensione del progetto Esperienza del dominio Tecnologie adottate Ambiente di sviluppo Qualità richiesta dei processi

20 Ingegneria del software Tecniche di stima Legge di Parkinson 1951, C. Northcote Parkinson. Parkinsons law: the pursuit progress: work expands to fill the time available. Prezzo per vincere Giudizio dellesperto Stima per analogia Modello algoritmico dei costi

21 Ingegneria del software Constructive Cost Model Stima le risorse necessarie in mesi/persona –Software engineering economics, b. Boehm, Prentice Hall, 1981 M/P=CxD S xM –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

22 Ingegneria del software CoCoMO 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

23 Ingegneria del software Stime CoCoMO 200 400 600 800 1000 M/P 204060801000KSDI E M S

24 Ingegneria del software Raffinamenti 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=FxCxD S xM, con F=Π i f i Detailed CoCOMO Decomposizione del progetto Stima intermediate per singole componenti Composizione dei risultati

25 Ingegneria del software Rischi di progetto Risultati dei progetti software –Costi eccessivi, scadenze non rispettate –Prodotti insoddisfacenti Cause

26 Ingegneria del software 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%

27 Ingegneria del software Fattori 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%

28 Ingegneria del software Fattori 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%

29 Ingegneria del software Categorie di prodotti (2004) Progetti di successo –34% dei progetti –Grazie ad un miglioramento nelle tecnihce di gestione Fallimenti –15%

30 Ingegneria del software Riferimenti B. Boehm,Cost Models for future software life cycle processes: CoCoMoII, http://sunset.usc.edu

31 Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Miglioramento del processo

32 Ingegneria del software Contenuti Norme per la definizione delle attività Strumenti per la definizione dei processi

33 Ingegneria del software Standard per la definizione del processo IEEE/EIA 12207.0-1996//ISO/IEC12207:1995 IEEE/EIA 12207.1-1996 IEEE/EIA 12207.2-1997

34 Ingegneria del software CMM Capability maturity model


Scaricare ppt "Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto."

Presentazioni simili


Annunci Google