Software project management. www.vincenzocalabro.it



Documenti analoghi
3. SOFTWARE MANAGEMENT

Obiettivi della Lezione. Project Management. Software Project Management. Che cos è un progetto

GESTIONE DEI PROGETTI

GESTIONE DEI PROGETTI. Inizio

QUESTIONARIO 1: PROCESSO DI AUTOVALUTAZIONE

Gestione dei Progetti ( )

IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO

Concetti di base di ingegneria del software

Automazione Industriale (scheduling+mms) scheduling+mms.

ISTITUZIONI DI ECONOMIA AZIENDALE

figure professionali software

Project Management. Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali.

03. Il Modello Gestionale per Processi

Base di dati e sistemi informativi

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

Processi principali per il completamento del progetto

Organizzazione e pianificazione delle attività di marketing

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

IL PROJECT MANAGEMENT

REGOLAMENTO INTERNO DEL CONTROLLO DI GESTIONE

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per


La gestione manageriale dei progetti

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_1 V2.0. Gestione. Pianificazione e gestione del progetto

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

EUROPEAN PROJECT MANAGEMENT QUALIFICATION - epmq. Fundamentals. Syllabus

Stima dell'effort. IT Project Management. Lezione 6 Stima dell effort Federica Spiga. Monitoring del progetto (Earned Value)

La Metodologia adottata nel Corso

Software. Engineering

Metodologia TenStep. Maggio 2014 Vito Madaio - TenStep Italia

STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE

Indice. pagina 2 di 10

QUESTIONARIO 3: MATURITA ORGANIZZATIVA

Distinguere tra bisogni di cura standard e individualizzati. Valutazione delle esigenze e traduzione di queste in azioni adeguate

Configuration Management

Gestione di progetti (software)

Il Progetto e il Project Management

Il modello di ottimizzazione SAM

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING

UN ESEMPIO DI VALUTAZIONE

I NUOVI MODELLI ORGANIZZATIVI E TECNOLOGICI A SUPPORTO DELL EFFICIENZA AZIENDALE

LA PIANIFICAZIONE DELLE ATTIVITA E IL WORK BREAKDOWN STRUCTURE

ORGANIZZAZIONE E PIANIFICAZIONE DEL PROCESSO DI SVILUPPO PRODOTTO

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: Pag. 1

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate

SISTEMA DI GESTIONE INTEGRATO. Audit

COMUNICAZIONE PER IL MANAGEMENT D IMPRESA

SCHEDULAZIONI RIEPILOGATIVE E CONFRONTO DI: - FASI E ATTIVITA' DEL WBS; - PRODOTTI; - COMPITI; - RISORSE PROFESSIONALI; - EFFORT.

Release Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Dall Idea al Progetto

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO!

SCELTA DELL APPROCCIO. A corredo delle linee guida per l autovalutazione e il miglioramento

Introduzione al processo di Marketing Management Cap. 1

Sistemi di misurazione e valutazione delle performance

Sistemi Informativi I

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

11. Evoluzione del Software

Manuale della qualità. Procedure. Istruzioni operative

La soluzione web-based per il Project Management

Cap.1 - L impresa come sistema

14 giugno 2013 COMPETENZE E QUALIFICHE DELL INSTALLATORE DI SISTEMI DI SICUREZZA. Ing. Antonio Avolio Consigliere AIPS All right reserved

NOTA AIFIRM Associazione Italiana Financial Industry Risk Managers 23 luglio 2013

Analisi e diagramma di Pareto

Tecnologie dell informazione e della comunicazione per le aziende

ASSESSORATO PER LA SANITA'

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director

Allegato A al CCNL 2006/2009 comparto Ministeri

Lezione 3. La macro struttura organizzativa: la struttura funzionale e le sue modifiche; la struttura divisionale; la struttura a matrice.

Creating Your Future

Programmazione e controllo

MANUALE DELLA QUALITÀ SEZIONE 5.1: FUNZIONAMENTO DEL SISTEMA DI GESTIONE PER LA QUALITÀ

Software per Helpdesk

ISIPM Base. Project Management epmq: Project Management Fundamentals (ISIPM Base) Gruppo C Conoscenze Manageriali di Base Syllabus da a 3.4.

12. Evoluzione del Software

-Sistemi per il rilevamento di flussi di persone- Progetto:

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Sistemi informativi secondo prospettive combinate

Il catalogo MARKET. Mk6 Il sell out e il trade marketing: tecniche, logiche e strumenti

Ottava Edizione. La Programmazione e Controllo della Produzione Prof. Sergio Cavalieri

Database. Si ringrazia Marco Bertini per le slides

IL SISTEMA DI DELEGHE E PROCURE una tutela per la società e i suoi amministratori. Milano 18 novembre A cura di: Luca Ghisletti


La soluzione per le imprese che lavorano su commessa.

EVMS (Earned Value Management System) impatti organizzativi della sua implementazione CARLO GAVAZZI SPACE

EVOLUZIONE DELLE INIZIATIVE PER LA QUALITA : L APPROCCIO SIX SIGMA

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Sistemi Informativi I Function Point Analisys

REGIONE BASILICATA UFFICIO S. I. R. S.

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

3. APPLICABILITÀ La presente procedura si applica nell organizzazione dell attività di Alac SpA.

Infrastruttura di produzione INFN-GRID

FONDAMENTI di INFORMATICA L. Mezzalira

Ciclo di vita dimensionale

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Città di Montalto Uffugo (Provincia di Cosenza) SISTEMA DI MISURAZIONE E VALUTAZIONE DELLA PERFORMANCE

Trasformazione dei Processi in Progetti DIB 1

LA LOGISTICA INTEGRATA

Transcript:

Software project management

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 2

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 3

Struttura organizzativa Per funzione: non è assegnato personale allo specifico progetto e non c è un coordinatore delle attività; Per progetto: esiste un coordinatore (project manager) a tempo pieno ed il personale che opera sul progetto dipende direttamente da lui; A matrice: esiste un coordinatore a tempo pieno o parziale ed il personale che opera sul progetto è in parte assegnato al team di progetto. 4

Struttura Organizzativa Organizzazione per funzione Direzione Generale Risorse umane Amministrazione Progettazione Pianificazione Produzione Acquisti Controllo progetti 5

Struttura Organizzativa Organizzazione per progetto Direzione Generale Amministrazione Risorse Umane Progetto A Progetto B Progetto C Ricerca e Sviluppo 6

Struttura Organizzativa Organizzazione a matrice Direzione Generale Progettazione Pianificazione Produzione Acquisti Controllo progetti Progetto A Progetto B Risorse Progetto C 7

Struttura Organizzativa Tipo di organizzazione Caratteristiche Pregi Difetti Per funzione - Compiti e ruoli rigidi - Un solo diretto superiore - Specializzazione professionale - centralizzazione di risorse simili - Scarso coordinamento nell'ambito del progetto, - scarso coinvolgimento delle risorse (il progetto transita in più aree) Per progetto - Risorse allocate al team fino a conclusione del progetto - Buon coordinamento e comunicazione all'interno del team - elevata autorità del project manager - Poco efficiente utilizzo delle risorse A matrice - Centralità del progetto - partecipazione al progetto delle diverse funzioni aziendali - due superiori diretti - Ottimizzazione delle risorse - Conflitti tra project manager e Functional manager 8

Struttura Organizzativa Quale struttura scegliere: Struttura per funzione - progetti semplici che richiedono elevata specializzazione del personale Struttura per progetti - progetti complessi o molto grandi Struttura a matrice - progetti mediamente complessi 9

I giocatori in campo... Business 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 10

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

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 12

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

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 14

Controllato Centralizzato Il team leader decide sulle soluzioni e sull organizzazione Comunicazione verticale tra team leader e gli altri membri 15

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... 16

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 17

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 18

Distribuzione temporale delle attività 19

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) 20

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 21

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

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 23

Parametri Numero di input 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 24

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 = Σ Vi x [0.65 + 0.01 x Σ Fi] 25

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

LOC/FP Capers Jones ha determinato una tabella di corrispondenza tra Function Point e LOC per i alcuni linguaggi di programmazione: LINGUAGGIO LOC/FP ASSEMBLER 320 JCL 220 C 128 ANSI COBOL 74 105 CICS 46 Visual Basic 40 C++ 29 SQL 12 27

LOC/FP A questi valori si applica un coefficiente correttivo basato su tre parametri che possono assumere valori da 1 a 5: Complessità delle elaborazioni (numero e complessità degli algoritmi): si attribuisce il valore 5 per elevata complessità Complessità della base dei dati (grado di interrelazione dei dati): si attribuisce il valore 5 per elevata complessità Complessità del codice (grado di strutturazione del codice): si attribuisce il valore 5 per codice non strutturato 28

LOC/FP L espressione per il calcolo del coefficiente correttivo è la seguente: dove: CC = 0,7 + 0,05 (CT - 3) CT è la somma dei valori assegnati ai parametri 29

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

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 31

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? 32

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?) 33

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 34

5. Pianificazione del lavoro, delle risorse umane e del budget. 5.1 WBS (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 35

Grazie per l attenzione