Gestione dello sviluppo software Modelli Agili



Похожие документы
Ingegneria del Software

Service Desk Incident Problem Management

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti

A3_4 V2.2 Analisi dei Requisiti e Specifica Relazioni con le altre fasi

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_3 V2.0. Processi. Scelta dei processi adeguati

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

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

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

Configuration Management

extreme Programming in un curriculum universitario

Gestione Operativa e Supporto

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

Sistemi Qualità e normativa

Ciclo di vita dimensionale

I modelli normativi. I modelli per l eccellenza. I modelli di gestione per la qualità. ! I modelli normativi. ! I modelli per l eccellenza

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

Appendice III. Competenza e definizione della competenza

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

Applicazioni Intranet e gestione della conoscenza

Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT. Paolo Salvaneschi B1_1 V1.0. Strumenti software

11. Evoluzione del Software

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Perfare MASSIMIZZARE IL VALORE DELL ATTUALE GAMMA DI PRODOTTI

Manuale della qualità. Procedure. Istruzioni operative

IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO

L Integrazione dei Processi di Gestione delle Risorse Umane

Introduzione all Ingegneria del Software

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

Concetti di base di ingegneria del software

ISO 9001:2015 e ISO 14001:2015

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

Descrizione dettagliata delle attività

ISO/IEC 2700:2013. Principali modifiche e piano di transizione alla nuova edizione. DNV Business Assurance. All rights reserved.

4.1 Che cos è l ideazione

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

IL PROJECT MANAGEMENT

Sistemi Informativi e Sistemi ERP

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività

CP Customer Portal. Sistema di gestione ticket unificato

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

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

PIANIFICAZIONE DELLA FORMAZIONE: processi, attori e strumenti

LINEE GUIDA PER L EROGAZIONE DELLA FORMAZIONE INTERNA

12. Evoluzione del Software

Introduzione alla teoria dei database relazionali. Come progettare un database

Imprese multinazionali e outsourcing

LA PIANIFICAZIONE DELLE ATTIVITÀ AZIENDALI E.R.P. (ENTERPRISE RESOURCE PLANNING)

Applicazioni Customer Relationship Management

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT LE 10 PROFESSIONAL PRACTICES

Business Process Management

Il Sistema di Valutazione delle Prestazioni del Gruppo Logiche e principali caratteristiche Presentazione alle OO.SS.

SVILUPPO TALENTI PROGETTO CONSEGUIRE OBIETTIVI RICERCARE ECCELLENZA

della manutenzione, includa i requisiti relativi ai sottosistemi strutturali all interno del loro contesto operativo.

Corso di Ingegneria del Software. Modelli di produzione del software

Procedura di gestione delle verifiche ispettive interne < PQ 03 >

Capitolo 4 - Teoria della manutenzione: la gestione del personale

L o. Walter Ambu japs: una soluzione agile (

ISO 9001:2000: COME UTILIZZARE LA NORMA PER GESTIRE I FORNITORI

Piani integrati per lo sviluppo locale. Progetti di marketing territoriale. Progettazione e start-up di Sistemi Turistici Locali

LA CERTIFICAZIONE. Dr.ssa Eletta Cavedoni Responsabile Qualità Cosmolab srl Tortona

GESTIONE DELLE NON CONFORMITÀ E RECLAMI

Sistemi di misurazione e valutazione delle performance

A3_1 V2.2 Analisi dei Requisiti e Specifica Significato, motivazioni e processi

MODELLO ORGANIZZATIVO REGIONALE PER LA GESTIONE DEL RISCHIO CLINICO.

UML e (R)UP (an overview)

leaders in engineering excellence

Dai sistemi documentari al knowledge management: un'opportunità per la pubblica amministrazione

Valutazione dello Stress Lavoro Correlato: cosa fare se

LA RETE DEGLI URP DELLA PROVINCIA DI MANTOVA

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

CONTROLLO DEGLI ACCESSI INTELLIGENTE PER UN FLUSSO DI PERSONE SICURO E CONFORTEVOLE. KONE Access

Ciclo di vita del progetto

Ricerca non informata in uno spazio di stati

ISO 9001:2015 vs. ISO 9001:2008

SISTEMA DI MISURAZIONE E VALUTAZIONE DELLE PERFORMANCE. N. responsabili posizioni organizzative

Dalla qualità alla fidelizzazione: soddisfazione clienti e dipendenti

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

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

ISTRUZIONI PER LE INSEGNANTI DI SOSTEGNO

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

Project Portfolio Management e Program Management in ambito ICT: la verifica di fattibilità del Piano.

ASSISTENTE DI DIREZIONE

Pianificazione e progettazione

ISO family. La GESTIONE DEI RISCHI Nei Sistemi di Gestione. Autore: R.Randazzo

Change Management. Obiettivi. Definizioni. Responsabilità. Attività. Input. Funzioni

INDICAZIONI OPERATIVE PER VALUTARE E PROMUOVERE L ORGANIZZAZIONE AZIENDALE DELLA SICUREZZA

Metodologia di monitoraggio Impianti fotovoltaici

Rational Unified Process Introduzione

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

GIORNATA DELLA TRASPARENZA IL RESTYLING DEL SITO WEB Lidia Merlo 2014 USR Toscana. Firenze 27 novembre 2014

Транскрипт:

Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_3 V1.1 Gestione dello sviluppo software Modelli Agili Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale

INDICE Metodi agili XP SCRUM Utilizzo dei metodi agili A4 Gest sviluppo software Paolo Salvaneschi 2

Metodi agili Il problema Tempi stretti e requisiti incerti Metodi (criteri gestionali, valori, euristiche, ) Importanza delle persone Adattamento vs pianificazione Poca documentazione.. A4 Gest sviluppo software Paolo Salvaneschi 3

Metodi agili Agile Modeling http://www.agilemodeling.com http://www.agilemanifesto.com extreme Programming (Kent Beck) http://www.xprogramming.com SCRUM http://www.scrumalliance.org/pages/what_is_scrum A4 Gest sviluppo software Paolo Salvaneschi 4

Metodi agili A4 Gest sviluppo software Paolo Salvaneschi 5

XP A4 Gest sviluppo software Paolo Salvaneschi 6

XP Criterio generale La produzione di un applicazione non è il risultato di un analisi precisa e di una pianificazione a priori. E il risultato di una successione di azioni di limitata durata temporale che vengono attuate sulla base della percezione dello stato corrente del progetto. Il lavoro dei programmatori procede organizzando quattro attività fondamentali che si ripetono nel corso del progetto: Scrittura del codice Verifica delle funzionalità (testing) Osservazione dei desideri del committente Progetto dell applicazione A4 Gest sviluppo software Paolo Salvaneschi 7

XP Whole team Il gruppo di lavoro include persone che, nell insieme, hanno competenze di analisi, progettazione, programmazione e test. L idea è che anche le singole persone abbiano più competenze specialistiche. Planning game Lo sviluppo dell applicazione è accompagnato dalla stesura di un piano di lavoro. Il piano è definito e, continuamente aggiornato, a intervalli brevi e regolari dai responsabili del progetto, secondo le priorità aziendali e le stime dei programmatori. A4 Gest sviluppo software Paolo Salvaneschi 8

XP Small releases Lo sviluppo dell applicazione prevede rilasci di versioni del prodotto funzionanti. Ogni rilascio realizza un insieme di casi d uso (storie di utilizzo che operano come specifica). Ogni rilascio è la conclusione di un iterazione di sviluppo e l inizio di una nuova pianificazione. Ogni iterazione dovrebbe durare non più di qualche settimana. Customer test Il committente deve essere coinvolto nello sviluppo. Partecipa alla stesura dei test di sistema e verifica periodicamente che il sistema realizzato corrisponda effettivamente alle proprie esigenze. A4 Gest sviluppo software Paolo Salvaneschi 9

XP Collective ownership Il codice dell applicazione può essere liberamente manipolato da qualsiasi sviluppatore (che deve essere messo nelle migliori condizioni di comprenderlo). Coding standard Il codice deve essere scritto sulla base di regole condivise. Tutti gli sviluppatori devono essere in grado di capire e modificare ogni linea di codice scritta da altri. A4 Gest sviluppo software Paolo Salvaneschi 10

XP Sustainable pace Lo sviluppo di applicazioni con i metodi dell extreme Programming è un attività che richiede grande concentrazione. Lo straordinario è da evitare per non provocare un deterioramento della qualità dell impegno. Metaphor Ogni progetto è guidato da una metafora condivisa da responsabili e sviluppatori. La metafora è una descrizione sintetica del sistema nel suo complesso e fornisce un vocabolario comune a tutte le persone coinvolte, senza scendere nei dettagli implementativi. A4 Gest sviluppo software Paolo Salvaneschi 11

XP Continuous integration Il codice sviluppato è frequentemente integrato in modo da avere una versione funzionante a disposizione di tutti i programmatori che cresce. Test driven development L applicazione è verificata sia a livello di sistema (test di sistema) sia a livello del singolo metodo (test di unità). I test di sistema sono basati su casi d uso. I test di unità sono rieseguibili automaticamente. L insieme di test per un modulo è rieseguito ad ogni modifica del modulo. A4 Gest sviluppo software Paolo Salvaneschi 12

XP Refactoring L applicazione è periodicamente ristrutturata per eliminare parti superflue o semplificare la struttura. Simple design L architettura dell applicazione deve essere la più semplice possibile. A fronte di nuove situazioni, saranno progettati nuovi componenti o riprogettati quelli esistenti. A4 Gest sviluppo software Paolo Salvaneschi 13

XP Pair programming La scrittura del codice è fatta da coppie di programmatori che lavorano al medesimo terminale. Le coppie non sono fisse, ma si compongono associando le migliori competenze per la risoluzione di uno specifico problema. Il lavoro in coppia permette, scambiandosi periodicamente i ruoli, di mantenere mediamente più alto il livello d attenzione. A4 Gest sviluppo software Paolo Salvaneschi 14

Scrum SCRUM Mischia (pacchetto di mischia del rugby). Metafora del team di sviluppo che deve lavorare insieme in modo che tutti gli attori del progetto spingano nella stessa direzione, agendo come un'unica entità coordinata Prevede di dividere il progetto in blocchi rapidi di lavoro (Sprint) alla fine dei quali consegnare una versione al cliente Indica come definire i dettagli del lavoro da fare nell'immediato futuro (Backlog), organizza riunioni giornaliere del team di sviluppo (Scrum Meeting) per verificare cosa si è fatto e cosa si farà Processi Agili Paolo Salvaneschi 15

SCRUM Processo Processi Agili Paolo Salvaneschi 16

SCRUM Processo Rethink Project Management Rethink what Scrum could mean for your complex project. Whether you're building the next ipad app, shipping dog food across the country, or running a charity event, Scrum can help Scrum is a way to prioritize large to-do items into manageable chunks of work Processi Agili Paolo Salvaneschi 17

SCRUM Differenza tra SCRUM e XP SCRUM è orientato alla gestione di un processo e non è strettamente legato ai processi IT XP è maggiormente focalizzato sugli aspetti tecnici legati allo sviluppo del software. Processi Agili Paolo Salvaneschi 18

Utilizzo dei metodi agili A4 Gest sviluppo software Paolo Salvaneschi 19

Utilizzo dei metodi agili Situated actions Plans A4 Gest sviluppo software Paolo Salvaneschi 20

Utilizzo dei metodi agili La collezione delle pratiche dei metodi agili di per sé non risolve i problemi della produzione ingegnerizzata del software Vi sono molti e diversi contesti di produzione La stabilità dell architettura software è un fattore chiave Le pratiche possono essere considerate utili strumenti da utilizzare (anche integrate in processi più strutturati) per: Ridurre la burocrazia e la produzione di documenti inutili Coinvolgere gli utenti nello sviluppo Migliorare la qualità del prodotto rilasciato Processi Agili Paolo Salvaneschi 21

Utilizzo dei metodi agili Si possono specificare, progettare, costruire in modo agile? Fift of Forth Bridge Edinburgh 1890 Toronto Processi Agili Paolo Salvaneschi 22

Utilizzo dei metodi agili Punti di attenzione Le applicazioni evolvono per lungo tempo Le architetture sono complesse I sistemi sono eterogenei Le conoscenze sono frammentate in gruppi diversi Sono utilizzati diversi outsourcer di sviluppo. La versione banale dei metodi agili (un piccolo gruppo molto competente lavora iterativamente con il cliente) può generare processi molto costosi e prodotti molto difettosi Processi Agili Paolo Salvaneschi 23