Gestione dello sviluppo software Modelli Agili

Documenti analoghi
Gestione dello sviluppo software Modelli Agili

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo

Ingegneria del Software

AGENDA SECTION n Approccio Agile al PM. 2. Il metodo SCRUM

Ingegneria del Software

Sistemi Qualità e normativa

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi

Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software. Processo software. Marina Mongiello. il processo

Sistemi di Interpretazione dati e Diagnosi Overview

Materiale didattico. Sommario

extreme Programming in un curriculum universitario

Cicli di Vita del Software. Porfirio Tramontana 2009 Ingegneria del Software Cicli di Vita del Software

Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi A5_1 V1.3 Applicazioni B2B

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

Introduzione all Ingegneria del Software

Corso di Ingegneria del Software. Modelli di produzione del software

Logica proposizionale

Laura Semini Dipartimento di Informatica Università di Pisa

Ingegneria del Software

Agile Principles Agile People. Gaetano Mazzanti Gama-Tech

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Organizzazione della lezione. Extreme Programming (XP) Lezione 19 Extreme Programming e JUnit. JUnit. JUnit. Test-Driven Development

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso

Software Open Source nella scuola primaria

Extreme programming e metodologie agili

L analisi preliminare

Comune Fabriano. Protocollo Generale, Servizio Progettazione, Servizio Edilizia Privata. Progetto di Certificazione secondo le norme ISO 9000

PROGETTO SOSTIENI UNA CLASSE

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

Implementazione e ottimizzazione dei processi e dell assetto organizzativo

Progetto di Informatica III

Standard di Percorso Formativo Tecnico della progettazione e della stampa con tecnologia 3D Allegato 2B

Service Desk Incident Problem Management

Caratteristiche delle Linee di Prodotto Concetti di Base

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

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

UNIVERSITA CARLO CATTANEO

Progetto DSA: Guida al metodo di studio

Il metodo extreme Programming in sintesi

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Progetto di valutazione Risultati A.S

PON FESR PROGETTO A1-FESRPON-VE

La valutazione partecipata nei servizi per l infanzia 1 - Problematiche

F O R M A T O E U R O P E O

Ingegneria del Software 2. Ciclo di vita. Dipartimento di Informatica Università di Pisa A.A. 2014/15

ERP, ENTERPRISE RESOURCE PLANNING

TECNICHE di GESTIONE AZIENDALE

Assolombarda Servizi propone nuovi corsi di Formazione sui principali temi d innovazione, Controllo della Qualità e Sistemi di Gestione.

LA TECHNOLOGY TRANSFER PRESENTA SANDER HOOGENDOORN 22 APRILE GIUGNO 2016 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROMA

La Comunicazione Pubblica tra l e-government e la Governance

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013

Introduzione al Calcolo Scientifico

MAJORANA. A.S. 2015/16 INDICAZIONI PER LA FORMAZIONE DEI DOCENTI NEOASSUNTI. Fonti normative

Lo sviluppo del progetto informatico

Sviluppo Agile. Prof. Filippo Lanubile. Processo software

Your mission, our passion

Master class Potenziare le strategie di vendita dei viaggi con contenuti sempre più personalizzati e strumenti consulenziali

Corso di Ingegneria del Software

Il sistema integrato: Accreditamento, Risk Management e HTA

CONSEGNA EFFICIENTE DEL SOFTWARE 6 PROBLEMI DEGLI STAKEHOLDER CHE SI POSSONO FACILMENTE RISOLVERE CON ATLAS

Il BIM per la gestione della commessa. Ing. Antonio Ianniello

AURORA WebDOC Document Management System

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria

APPENDICE 4 AL CAPITOLATO TECNICO

Oggetto: progetto Benessere, prevenzione e gestione rischio stress lavoro-correlato. Comune di Scandicci. 1. PREMESSA

Il ciclo di vita del SW

PIANO DI LAVORO INDIVIDUALE PIANO DI LAVORO ANNUALE - CONTRATTO FORMATIVO

Progetto formativo aziendale PROJECT MANAGEMENT: METODOLOGIE, TECNICHE E STRUMENTI PER LA CONDUZIONE E GESTIONE DEI PROGETTI

Analisi e specifica dei requisiti

CATALOGO DI HEVA MANAGEMENT ACCREDITATO DA FONDAZIONE IDI

IL PROCESSO di PROGETTAZIONE

OPEN SOURCE. Concetti chiave e implicazioni per le scelte aziendali (fornitori e utenti)

Parole note, nuovi significati: linguaggio, determinismo e infinito

Analista Programmatore o Gestione del Software sviluppato nella tecnologia.net 1.1 PCT (Processo Civile Telematico)

SELEZIONE PER L'ASSUNZIONE A TEMPO INDETERMINATO DI UNA RISORSA NEL PROFILO DI GESTORE PROGETTI IN AMBITO SVILUPPO JAVA rif. LC16TI01 Verbale n.

Progettazione stampi per la pressofusione

La suite SPRING Motori. Il gestionale facile, affidabile e sempre aggiornato per le aziende del Motor trade

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

PRINCE2 e altri modelli di Project Management L approccio della Ragioneria Generale dello Stato

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Autovalutazione e Valutazione

PLANS ARE NOTHING... PLANNING IS EVERYTHING

MODALITÀ DI ACQUISIZIONE DEL SOFTWARE APPLICATIVO

PIANO DI LAVORO DEL PROFESSORE

Overview su Horizon 2020: struttura, criteri di eleggibilità, regole di partecipazione

LE RISORSE E LE COMPETENZE COME BASE DELLA STRATEGIA

RESPONSABILE MARKETING DI PRODOTTO

Syllabus Start rev. 1.03

Prefazione...IX. Ringraziamenti...XIII. Gli autori...xv. Capitolo 1 - Le tecnologie mobili: la nuova generazione di tecnologie dell informazione...

La formazione dei neo-assunti in 7 mosse

Xerox FreeFlow Print Server V 9.0 SP3

E il software applicativo che deve adattarsi alle esigenze dei processi aziendali. Non il contrario.

Customer satisfaction 2014 SINTESI DEI RISULTATI

ISO 14001:2015 NUOVI APPROCCI DELL AUDIT DI CERTIFICAZIONE

Elementi di gestione di dati con MS Access 2000

LA FORMAZIONE PER IL MANAGEMENT NELLE IMPRESE EDILI. Corsi, Seminari, Workshop, Servizi Informativi

Obblighi di controllo dei Fornitori esterni. Rischio tecnologico

REGOLAMENTO IN MATERIA DI CREDITI FORMATIVI PROFESSIONALI DEL PERSONALE TECNICO AMMINISTRATIVO DELL UNIVERSITA DEGLI STUDI DI PAVIA

L Amministrazione digitale: semplificazione, accessibilità, trasparenza totale

Transcript:

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_3 V1.2 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 Aspetti positivi e negativi 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: Osservazione dei desideri del committente Progetto dell applicazione Scrittura del codice Verifica delle funzionalità (testing) 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à A4 Gest sviluppo software Paolo Salvaneschi 15

SCRUM Processo A4 Gest sviluppo software 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 A4 Gest sviluppo software 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. A4 Gest sviluppo software 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 A4 Gest sviluppo software Paolo Salvaneschi 21

Utilizzo dei metodi agili Si possono specificare, progettare, costruire in modo agile? Fift of Forth Bridge Edinburgh 1890 Toronto A4 Gest sviluppo software 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 A4 Gest sviluppo software Paolo Salvaneschi 23

Aspetti positivi e negativi Bertrand Meyer: Agile! The Good, the Hype and the Ugly Springer-Verlag, 2014 A4 Gest sviluppo software Paolo Salvaneschi 24

Aspetti positivi e negativi In che modo gli elementi agili (principi, regole organizzative, tecniche, ) si sostituiscono/integrano con processi più strutturati (specifica-architettura-..)? Gli elementi agili includono: Aspetti dannosi per il processo software Aspetti indifferenti e poco usati Aspetti buoni e utilizzabili con profitto integrati in processi strutturati A4 Gest sviluppo software Paolo Salvaneschi 25

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 26

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 27

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 28

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 29

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 30

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 31

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 32

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 33

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 34

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 35

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 36

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 37

Aspetti positivi e negativi A4 Gest sviluppo software Paolo Salvaneschi 38