3. PROJECT MANAGEMENT Gli obiettivi di questa lezione sono:

Slides:



Advertisements
Presentazioni simili
20/04/2006 COO-RU- Organizzazione Operativa 1 STRUTTURE SIN/ELI Struttura organizzativa COO/RU – Organizzazione Operativa 12 settembre 2007.
Advertisements

Il diagramma di Gantt Se il CPM/PERT rappresenta la relazione logica (interdipendenza) tra le attività (il “come” del progetto), il diagramma di Gantt.
La progettazione secondo la norma internazionale ISO 9001
COME PROGRAMMARE LE ATTIVITA’
Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Gestione di progetto.
Scelte di Progettazione Organizzativa Cap. 9
Pacchetti di lavoro, cronogrammi, matrici…..
DIAGRAMMI DI FLUSSO DEI DATI
Lezione N° 6 L’organizzazione
TECHNICAL COMPETENCES
PIANIFICARE, PROGRAMMARE E CONTROLLARE
Il Project Management in Fincantieri
1 Defect testing Lobiettivo: scoprire difetti in un programma Un test ha successo se forza il programma a comportarsi in modo anomalo I test provano la.
Gestione della Qualità
ORDINE DEI DOTTORI COMMERCIALISTI E DEGLI ESPERTI CONTABILI di Ivrea Pinerolo Torino CORSO DI FORMAZIONE IN MATERIA DI ENTI LOCALI UNIVERSITA DI TORINO.
Sistemi di misurazione e di controllo delle perfomance.
Dettaglio degli INPUT I vincoli istituzionali Le professionalità Diritti dei cittadini I criteri di allocazione delle risorse Le informazioni relative.
1 Il sistema di controllo organizzativo 4 marzo 2008 Programmazione e Controllo Università degli Studi di Cagliari.
Gestire il progetto Stefano Gheno Pescara, 12 aprile 2013.
Project net Principali funzionalità del programma web-based enterprise project management.
Introduzione a Scrum
costo del ciclo di vita dei prodotti nei settori ad alta tecnologia
L'alternanza scuola - lavoro.
1Milano, 3 Novembre 2004Assemblea Nazionale FISM WORKSHOP La certificazione dei requisiti di qualità per le Società Medico-Scientifiche Presentazione del.
FONDAMENTI DI INFORMATICA III A2A2-1 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO Argomento 2 Approfondimento 2 CARATTERISTICHE E MODELLIZZAZIONE.
Cos’è un CMS? Content Management System
Elementi di Informatica
Cliccare col mouse per avanzare
La natura della collaborazione
Presentazione Aziendale. La missione di Shape è la promozione di servizi integrati per le grandi imprese che vanno dalle consulenze specialistiche alle.
Il processo di sviluppo del Sw: strategia make
PROFILO Continua … è azienda leader del mercato. Produce Software per il settore Automotive e tra i suoi Clienti annovera primarie Società Assicuratrici,
Strumento per l'innovazione di prodotto eco-compatibile per le PMI
Il Business Plan: obiettivi e contenuti
DALL’ORGANIZZAZIONE BUROCRATICA ALLA GESTIONE PER PROCESSI ATTRAVERSO IL COINVOLGIMENTO DELLE RISORSE UMANE.
Appendice lezione 1 Il modello delle 7S un approfondimento
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
Vantaggi e vincoli di un sistema informativo integrato
Fasi di progetto di SI Impostazione strategica e di disegno concettuale Implementazione Utilizzo e monitoraggio.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 1 - Introduzione alle metriche Ernesto Damiani Università degli Studi di Milano.
Analisi dei Requisiti (Requirements Engineering) Seminario RE Università degli Studi di Padova, 12 Gennaio 2004.
CHE COS' È UN PROGETTO? Con il termine progetto si intende una sequenza si attività delimitate da un inizio e una fine, vincolate dal tempo, dalle risorse,
1 ORGAMIZZAZIONE E GESTIONE DELLE RISORSE UMANE. 2 PRESENTAZIONE DEL CORSO L’Organizzazione aziendale La gestione delle persone.
La progettazione organizzativa
Esercitazioni di Ingegneria del Software con UML
Typical steps in project planning and scheduling To identify the tasks and their durations To evaluate consistency of the task net To evaluate the critical.
Progettazione concettuale di SI basati su Web
Sezione I Controllo di progetto
UNIVERSITA’ CARLO CATTANEO
3. PROJECT MANAGEMENT Gli obiettivi di questa lezione sono: Introdurre caratteristiche e problematiche della direzione di progetto software (project management)
Che cos’è un progetto? È un’impresa: -complessa -unica
Università degli studi di Pavia Facoltà di Economia a.a Trasparenza dell’Informativa Finanziaria.
Che cos’è un progetto? È un’impresa: -complessa -unica
MBO Sistema Premiante RISORSE UMANE Selezione Risorse
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
Sistemi di Gestione per la Qualità
Sezione F Pianificazione di progetto
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 - Gestione della configurazione software Ernesto Damiani Università.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 -Gestione della configurazione software Ernesto Damiani Università.
VERI E FALSI PROBLEMI DELLE CRF ELETTRONICHE
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
L’ORGANIZZAZIONE AZIENDALE
STAY HANGRY STAY FOOLISH Steve Jobbs. Struttura del piano di progetto 1. Introduzione 2. Organizzazione del Progetto 3. Descrizione dei Processi Gestionali.
{ Area Ricerca Bilancio e produttività scientifica 20 Dicembre Antonello Paoletti – SSI Ufficio Area Scientifica, AC.
10 febbraio 1999AGAC S.p.A., Reggio Emilia1 Programmazione e Controllo dei Progetti.
© 2016 Giorgio Porcu - Aggiornamennto 21/04/2016 I STITUTO T ECNICO QUINTO ANNO G ESTIONE DEL P ROGETTO Realizzare un Progetto Informatico Pianificazione.
Transcript della presentazione:

3. PROJECT MANAGEMENT Gli obiettivi di questa lezione sono: Introdurre caratteristiche e problematiche della direzione di progetto software (project management) Discutere la pianificazione di un progetto e la temporizzazione (scheduling) Presentare rappresentazioni grafiche della pianificazione di un progetto

Software project management Sono le attività necessarie per assicurare che un prodotto software sia sviluppato rispettando le scadenze fissate rispondendo a determinati standard Interazione di aspetti economici e tecnici Un progetto diretto bene qualche volta fallisce, uno diretto male fallisce sicuramente L’importanza dell’esperienza

Che cos’è un progetto… Un progetto è un insieme ben definito di attività che ha un inizio ha una fine realizza un obiettivo è realizzato da un’equipe di persone utilizza un certo insieme di risorse non è riconducibile a “routine”

Problemi Il prodotto software è “intangibile”: per valutare i progressi ci si deve basare sulla documentazione L’ingegneria del software non è ancora riconosciuta come disciplina “solida”al pari dell’ingegneria meccanica, elettrica, Non ci sono standard per il processo di produzione software Ogni progetto ha una storia a sé (problemi di scheduling)

I giocatori in campo... Business managers Project managers definiscono i termini economici del progetto Project managers pianificano, motivano, organizzano e controllano lo sviluppo Practitioners hanno le competenze tecniche per realizzare il sistema Customers specificano i requisiti del software da sviluppare End users interagiscono con il sistema una volta realizzato

Perché c’è bisogno di un team? La maggior parte dei progetti software sono troppo impegnativi per essere realizzati da una sola persona

The mythical man/month Perché non calcolare la “forza lavoro” in termini di mesi uomo necessari? Persone/mese * Tempo allocato = Numero_Persone_Necessarie Alcuni compiti possono essere condivisi, altri no Esempio: raccogliere fragole vs. produrre un bambino overhead necessario per il coordinamento e la comunicazione

Tipologie di team (1) Democratico Decentralizzato Assenza di un leader permanente Consenso di gruppo sulle soluzioni e sulla organizzazione del lavoro Comunicazione orizzontale Vantaggi Attitudine positiva a ricercare presto gli errori Funziona bene per problemi “difficili” (ad esempio per la ricerca) Svantaggi È difficile da imporre… Non è scalabile...

Tipologie di team (2) Controllato Decentralizzato Un leader riconosciuto, che coordina il lavoro La risoluzione dei problemi è di gruppo, ma l’implementazione delle soluzioni è assegnata a sottogruppi da parte del leader Comunicazione orizzontale nei sottogruppi e verticale con il leader

Tipologie di team (3) Controllato Centralizzato Il team leader decide sulle soluzioni e sull’organizzazione Comunicazione verticale tra team leader e gli altri membri

Ruoli in un team Controllato Decentralizzato Project Manager pianifica, coordina e supervisiona le attività del team Technical staff conduce l’analisi e lo sviluppo (da 2 a 5 persone) Backup engineer supporta il project manager ed è responsabile della validazione Software librarian mantiene e controlla la documentazione, i listati del codice, i dati...

spazio condiviso & risultati condivisi Un team deve prima di tutto decidere gli strumenti che permettono la cooperazione La pianificazione Chi fa cosa Le scelte fatte Cosa è stato fatto

Le attività del project manager Stesura della proposta di progetto Stima del costo del progetto Pianificazione (planning) e temporizzazione (scheduling) Monitoraggio e revisioni del progetto Selezione e valutazione del personale Stesura di rapporti e presentazioni

Stimare i costi di un progetto Dilaziona la stima fino a quando il progetto non è in stato avanzato di sviluppo - modello non praticabile: la stima dev’essere fatta all’inizio Basa la stima su progetti simili già sviluppati - similarità di problemi, clienti, ecc. Usa tecniche di decomposizione per generare stime di costo e di risorse necessarie - approccio “divide et impera”, calcolando il costo delle componenti Usa uno o più modelli empirici - basati su dati storici, es. COnstructive COst MOdel (Boehm, 1981)

Stime quantitative: LOC KLOC = Migliaia di linee di codice Metriche: $ per KLOC errori o difetti per KLOC LOC per mese/persona pagine di documentazione per KLOC errori/mese-persona $/pagina di documentazione Il codice è il prodotto tangibile del processo di sviluppo, ed esiste già letteratura in proposito Dipende dal linguaggio di programmazione e penalizza programmi scritti bene e concisi

Stime quantitative (dimensionali) aspetti critici delle metriche dimensionali Difficile stimare la dimensione in LOC Non tiene conto diversa complessità e potenza delle istruzioni (di uno stesso linguaggio o di linguaggi diversi) Difficile definire in modo preciso il criterio di conteggio (istruzioni spezzate su più righe, più istruzioni su una riga...) Più produttività potrebbe portare a più codice senza qualità?

Stime funzionali: FP Function Points (punti funzione) misurare le funzionalità offerte dall’applicazione, a partire da: il dominio informativo da un giudizio sulla complessità del software

Parametri Numero di input Numero di output Numero di richieste informazioni distinte fornite dall’utente e utilizzate dal programma come dati di ingresso Numero di output informazioni distinte ritornate all’utente come risultato delle proprie elaborazioni Numero di richieste numero di interrogazioni in linea che producono una risposta immediata del sistema Numero di files file creati ed utilizzati internamente dal programma Numero di interfacce esterne files o di altri insiemi di dati scambiati con altri programmi

Function Points Pesi Indici Valore Sempl. Medio Compl. Vi N. input 3 4 6 N. Output 4 5 7 N. Richieste 3 4 6 N. File 7 10 15 N. Int. Est. 5 7 10 FP = S Vi x [0.65 + 0.01 x S Fi]

Fattori di influenza Il sistema richiede procedure di recovery e backup affidabili? È richiesta la trasmissione di dati? Vi sono funzionalità che richiedono elaborazioni distribuite? Le prestazioni sono critiche? Funzionerà in un sistema già carico? Richieste funzionalità avanzate per input e lettura in linea dei dati? Input dei dati mediante tramite interfacce a finestre? Archivi principali aggiornati in tempo reale? Informazioni complesse scambiate tra utente e programma? Codice complesso? Scritto per essere riusabile? Il progetto include anche le attività di istallazione e conversione? Programma progettato per essere istallato presso diversi utenti? Programma progettato per facilitare uso e modifiche da parte dell'utente?

LOC/FP

Struttura del piano di progetto 1. Introduzione 2. Organizzazione del Progetto 3. Descrizione dei Processi Gestionali 4. Derscrizione dei Processi Tecnici 5. Pianificazione del lavoro, delle risorse umane e del budget.

1. Introduzione 1.1 Overview del Progetto Descrizione di massima del progetto e del prodotto. 1.2 Deliverables del Progetto Tutti gli items che saranno consegnati, con data e luogo di consegna 1.3 Evoluzione del Progetto Piani per cambiamenti ipotizzabili e non 1.4 Materiale di riferimento Lista dei documenti cui ci si riferisce nel Piano di Progetto 1.5 Definizioni e Abbreviazioni

2. Organizzazione del progetto 2.1 Modello del Processo Relazioni tra le varie fasi del processo 2.2 Struttura Organizzativa Gestione interna, chart dell’organizzazione 2.3 Interfacce Organizzative Relazioni con altre entità 2.4 Responsabilità di Progetto Principali funzioni e attività; Di che natura sono? Chi ne è il responsabile ?

3. Processi gestionali 3.1 Obiettivi e Priorità 3.2 Assunzioni, Dipendenze, Vincoli Fattori esterni 3.3 Gestione dei rischi Identificazione, Valutazione, Monitoraggio dei rischi 3.4 Meccanismi di monitoraggio e di controllo Meccanismi di reporting, format, flussi di informazione, revisioni 3.5 Pianificazione dello staff Skill necessari (cosa?, quanto?, quando?)

4. Processi tecnici 4.1 Metodi, Strumenti e Tecniche Sistemi di calcolo, metodi di sviluppo, struttura del team, ecc. Standards, linee guida, politiche. 4.2 Documentazione del Software Piano di documentazione, che deve includere milestones, e revisioni 4.3 Funzionalità di supporto al progetto Pianificazione della qualità Pianificazione della gestione delle configurazioni

5. Pianificazione del lavoro, delle risorse umane e del budget. 5.1 Work Packages (Work breakdown structure) Il progetto è scomposto in tasks; definizione di ciascun task 5.2 Dipendenze Relazioni di precedenza tra funzioni, attività e task 5.3 Risorse Necessarie Stima delle risorse necessarie, in termini di personale, di tempo di computazione, di hardware particolare, di supporto software ecc. 5.4 Allocazione del Budget e delle Risorse Associa ad ogni funzione, attività o task il costo relativo 5.5 Pianificazione Deadlines e Milestones

Gestione dei rischi (punto 3.3) Identificazione dei rischi legati alla taglia del prodotto da costruire o modificare legati ai vincoli importi dal mercato o dal contratto legati alle caratteristiche del cliente legati alla buona definizione del processo legati all’ambiente di sviluppo (qualità e affidabilità degli strumenti) legati alla complessità del sistema da costruire e alle novità tecnologiche legate al sistema legati alla dimensione e all’esperienza del team di sviluppo Sviluppare una tabella: probabilità e impatto Strategia di gestione: evitare/monitorare/gestire

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% Cambiamenti dei requisiti 8.7%

Fattori di successo Coinvolgimento del cliente 15.9% Supporto della direzione esecutiva 13.9% Definizione chiara dei requisiti 13.0% Pianificazione corretta 9.6% Aspettative realistiche 8.2% Personale competente 7.2%

Pianificazione del lavoro (5.2) p:Project f1:Function f2:Function a1:Activity a2:Activity a3:Activity a2.1:Activity a2.2:Activity a2.3:Activity t1:Task t2:Task t3:Task t4:Task

Attività Unità principali di lavoro, con date di consegna precise f1:Function p:Project f2:Function Unità principali di lavoro, con date di consegna precise a1:Activity a2:Activity Scomponibili in una serie di tasks a2.1:Activity a2.2:Activity Culminano in una milestone t1:Task t2:Task t3:Task

Organizzazione delle attività In un progetto le attività devono essere organizzate in modo da produrre risultati valutabili dal management Milestones sono i punti finali di ogni singola attività di processo Deliverables sono i risultati che sono forniti al committente Il modello a cascata suggerisce una definizione ovvia di “milestone”

Milestones & deliverables

Funzioni Attività o insiemi di attività che coprono tutta la durata del progetto Project management Configuration Management Documentation Quality Control (Verifica e validazione) Training

Tasks Unità di lavoro “atomiche” Specifica di un task: Work package Hanno durata stimabile, necessitano di certe risorse, producono risultati tangibili (documentazione, codice, ...) Specifica di un task: Work package Nome e descrizione del lavoro che deve essere fatto Precondizioni per poter avviare il lavoro, durata, risorse necessarie Risultato del lavoro e criteri di accettabilità Rischi

Scheduling di progetto Dividi il progetto in attività e mansioni (tasks) e stima il tempo e le risorse necessarie per completare ogni singola mansione Organizza le mansioni in modo concorrente, per ottimizzare la forza lavoro Minimizza la dipendenza tra le singole mansioni per evitare ritardi dovuti all’attesa del completamento di un’altra mansione Sono necessari intuito ed esperienza

Processo di scheduling del progetto

Problemi nello scheduling E’ difficile stimare la difficoltà dei problemi ed il costo di sviluppo di una soluzione La produttività non è proporzionale al numero di persone che lavorano su una singola mansione Aggiungere personale in un progetto in ritardo può aumentare ancora di più il ritardo Imprevisti succedono sempre...

Grafo delle attività (PERT), grafico a barre e diagramma di Gannt Diversi tipi di rappresentazione grafica dello scheduling del progetto Mostrano la suddivisione del lavoro in mansioni. Le mansioni non devono essere troppo piccole (una settimana o due di lavoro) Il grafo delle attività (PERT) evidenzia le dipendenze e il cammino critico Il grafico a barre mostra lo scheduling come calendario lavori Il diagramma di Gannt esprime la temporizzazione

Network delle attività 5 days T-2 2 days T-3 1 days T-4 7 days T-6 T-5 T-7 3 days

Diagramma di PERT ES: earliest start time: EF: earliest finish time: il minimo giorno di inizio dell’attività, a partire dal minimo tempo necessario per le attività che precedono EF: earliest finish time: dato ES e la durata dell’attività, il minimo giorno in cui l’attività può terninare LF: latest finish time: qual è il giorno massimo in cui quel job deve finire senza che si crei ritardo per i jobs che dipendono da lui LS: latest start time: dato LF e la durata del job, qual è il giorno massimo in cui quel job deve iniziare senza provocare ritardo per i job che dipendono da lui

Cammino critico T-1 5 days T-2 2 days T-3 1 days T-4 7 days T-6 T-5 12 7 8 12 14 17 20 9 11 5 12 15 17 5 5 20

Mansioni: durata e dipendenze

Network delle attività

Diagramma di Gannt

Allocazione della forza lavoro

Pianificazione collaborativa

Riferimenti Software Project Managenment Technology Report, STSC Technical Report, 2000 http://www.stsc.hill.af.mil/index.asp A. Alessandroni, “La stima dei costi dei sistemi informativi automatizzati”, AIPA, http://www.aipa.it B. Boehm e altri, “Cost Models for Future Software Life Cycle Processes: CoCoMo II”, Centre for Software Engineering, http://sunset.usc.edu/ Standish Group, “The CHAOS Report”, http://www.pm2go.com/sample_research/index.asp