Sviluppo software Agile
|
|
|
- Arnoldo Nigro
- 9 anni fa
- Просмотров:
Транскрипт
1 Sviluppo software Agile Cesare Gallotti Cesare Gallotti Opera rilasciata sotto la Creative Commons Attribuzione 4.0 Internazionale ( Bisogna attribuire il lavoro a Cesare Gallotti con link a
2 Agenda Agile in breve Cos è Agile Persone, eventi, artifact Strumenti Agile e le certificazioni ISO
3 Agile in breve 3
4 Cos è Agile L approccio Agile nasce negli anni Novanta dopo aver analizzato i problemi dell approccio tradizionale a cascata o waterfall. I principi seguiti sono riportati nel Manifesto per lo Sviluppo Agile di Software : «Gli individui e le interazioni più che i processi e gli strumenti Il software funzionante più che la documentazione esaustiva La collaborazione col cliente più che la negoziazione dei contratti Rispondere al cambiamento più che seguire un piano Ovvero, fermo restando il valore delle voci a destra, consideriamo più importanti le voci a sinistra». I metodi Agili sono diversi (Scrum, Extreme programming, DSDM, Crystal clear, Lean, ecc); ciascuno può concentrarsi su un aspetto dello sviluppo (gestione del progetto, processi tecnici, pratiche). 4 Qui si farà riferimento soprattutto allo schema Scrum, molto diffuso in Italia e concentrato su come gestire i progetti. Vedere The Definitive Guide to Scrum: The Rules of the Game, developed and sustained by Ken Schwaber and Jeff Sutherland.
5 Approccio waterfall Problemi dell approccio waterfall: ambito (scope) definito completamnte all inizio, quando in realtà non si conosco tutte le esigenze; ogni richiesta di cambiamento può comportare costi elevati; per progetti lunghi e complessi, i requisiti iniziali non sono più quelli finali (cambiamento delle esigenze nel tempo); problemi di disallineamento tra aspettative degli utenti e prodotto finale; il prodotto finale ha molte funzionalità poi non utilizzate; i tempi e i costi e la qualità sono difficili da rispettare. 5
6 Approccio Agile (1/3) Caratteristiche dell approccio Agile: non definire completamente i requisiti all inizio, ma man mano, quando sono utili o prioritari; presentare frequentamente al cliente gli avanzamenti funzionanti; riesaminare e scegliere frequentemente i requisiti prioritari; il cliente e i suoi utenti devono essere coinvolti frequentemente. Operativamente: stabilire eventi di tipo timeboxed ; stabilire Iteration di 2-4 settimane, dette sprint ; a inizio sprint stabilire cosa sarà fatto (nessun cambiamento consentito); a fine sprint riesaminare tutto con il cliente e gli utenti; a fine sprint valutare i possibili miglioramenti di processo. 6
7 Approccio Agile (2/3) Iteration 1 Iteration 2 Iteration 3 Iteration N Product Increment 1 Product Increment 3 Product Increment N Analyze Design Build Integrate Test Scope Definition Working Software Analyze Design Build Integrate Test Scope Definition Working Software Analyze Design Build Integrate Test Scope Definition Working Software 7
8 Approccio Agile (3/3) I 12 principi 1. Soddisfazione dei clienti; 2. Accogliamo i cambiamenti nei requisiti; 3. Consegnamo frequentemente software funzionante; 4. Committenti e sviluppatori devono lavorare insieme; 5. Fondiamo i progetti su individui motivati e diamo loro fiducia; 6. Priilegiamo conversazioni faccia a faccia; 7. Il software funzionante è il principale metro di misura di progresso; 8. Gli sponsor, gli sviluppatori e gli utenti mantengono un ritmo costante; 9. Continua attenzione all'eccellenza tecnica e alla buona progettazione; 10.La semplicità è essenziale; 11.Team che si auto-organizzano; 12.Il team riflette su come diventare più efficace. 8
9 Quali sono le componenti di Scrum 1. Persone (Scrum team): Product owner; Scrum master; Development team; 2. Eventi The Sprint; Sprint Planning; Daily Scrum; Sprint Review; Sprint Retrospective; 3. Scrum Artifacts Product Backlog Sprint Backlog Increment Definition of Done 9
10 Scrum team (1/2) Product owner (uno solo per scrum team): è l unico riferimento del cliente; stabilisce i requisiti funzionali (Product Backlog items); li ordina per priorità; li rende visibili; stabilisce le date per le release. Scrum master (uno solo per scrum team): assicura che il processo sia seguito (non è un project manager); protegge il Development team. 10
11 Scrum team (2/2) Development Team (3-9 persone): stabilisce autonomamente lo sforzo richiesto per ogni attività; si auto organizza (lo Scrum master è esterno!); comprendono tutte le competenze necessarie; non hanno titoli specifici; per progetti più grandi, si hanno più Development team. 11
12 Eventi (1/2) Sprint: ha durata fissa (2-4 settimane); comprende Sprint Planning, Daily Scrums, lo sviluppo e test, Sprint Review e Sprint Retrospective; durante lo sprint non si cambiano i requisiti; ogni sprint è un progetto completo. Sprint planning: dal Product backlog, il Development team stima lo sforzo necessario per realizzare le User stories più prioritarie; dal Product backlog, il Development team estrae le User stories che possono essere realizzate durante lo sprint, considerandone priorità e richiesta di risorse; crea così lo Sprint backlog. 12
13 Eventi (2/2) Daily Scrum o Daily stand-up (15 minuti): riunione quotidiana del Development team (altri possono assistere). Sprint review (2-4 ore): alla fine dello sprint; partecipano tutte le parti interessate (clienti, utenti, ecc.) e lo Scrum Team; il Development team illustra quanto fatto (usando software funzionante, non presentazioni); si discute su cosa fare in futuro (output è un Product backlog aggiornato). Sprint retrospective (1-3 ore) partecipa lo Scrum team; alla fine dello sprint; si analizza come si è svolto lo Sprint appena concluso; si riesamina la Definition of done ; si stabiliscono i possibili miglioramenti. 13
14 Artifact (1/2) Product Backlog (con Product backlog item o PBI): contiene le user stories, requisiti funzionali visti con l ottica degli utilizzatori del software; le User stories sono ordinate in priorità sulla base di rischi; dipendenze; scadenze; valore per il cliente; il Product backlog non è statico; User stories meno prioritarie sono spesso accorpate in Epiche (di bassa priorità), poi raffinate quando diventano prioritarie; le User stories sono collegate a Task o attività ; il Development team stima le User stories, non i Task. 14
15 Artifact (2/2) Sprint Backlog: le Storie da realizzare in un determinato Sprint; lo Sprint backlog si fa solo a inizio Sprint (non si pianificano gli Sprint successivi). Increment: quanto consegnato dal Development team a fine Sprint; il nuovo incremento deve essere Done ; si raccomanda di operare in continuous integration, in modo che ogni piccolo cambiamento sia subito integrato con il prodotto e oggetto di compilazioni e test frequenti. Definition of Done : la stabilisce lo Scrum Team (allineata alle regole aziendali); può includere i test (tecnici, di integrazione, di accettazione; in diversi ambienti), la documentazione. 15
16 Strumenti Per gestire le attività Scrum sono disponibili strumenti gestionali (il più diffuso in Italia è Jira, ma a rigore potrebbero essere usati anche tabelloni con etichette) per la gestione di: user stories (con le loro caratteristiche), inclusi i bug; task (con le loro caratteristiche, inclusi quelli riaperti); product e sprint backlog; stato di avanzamento del prodotto e dello sprint; ulteriori scadenze. Per le attività tecniche sono disponibili strumenti per: la configurazione e il versionamento del software; la continuous integration; il controllo del codice; i passaggi in ambiente di produzione. 16
17 Altro Agile usa termini vari. Per esempio: grooming; scrum di scrum. Attenzione che normalmente ci troviamo di fronte a impostazioni Agile but. 17
18 Agile e le certificazioni ISO 18
19 Agile e qualità Pianificazione della progettazione: è il metodo stesso (può essere documentato in una pagina); product backlog e sprint backlog. Riesami e verifiche: sprint review (lista partecipanti, nuovi PBI; lista dei PBI conclusi); sprint retrospective (lista partecipanti, miglioramenti pianificati). Validazioni: Definition of Done; log di ciascuna User story o di ciascun Task ( Test fatto da... il... ); sprint review (lista dei PBI conclusi). Modifiche: product backlog; eventuali Task riaperti. 19
20 Agile e sicurezza delle informazioni Requisiti di sicurezza: la cosa più difficile da prevedere; si potrebbero prevedere dei PBI con flag di sicurezza o una documentazione complessiva dell architettura di sicurezza. Politica di sviluppo sicuro: nulla la vieta in Agile. Gestione dei cambiamenti: le User stories o i Task possono avere degli attributi (p.e. il livello di rischio). Test di sicurezza: possono essere inclusi nella Definition of Done; possono anche essere effettuati dalle Operations e quindi non essere in carico allo Scrum Team. 20
Luca Cabibbo A P S. Analisi e Progettazione del Software. Agile. 3.1 Metodi e atteggiamenti agili
Luca Cabibbo Analisi e Progettazione del Software Capitolo 3 marzo 2017 Agilità:1, ogni altra cosa: 0. Tom DeMarco 1 3.1 Metodi e atteggiamenti agili Lo sviluppo agile è una forma di sviluppo iterativo
I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo
Luca Cabibbo Analisi e Progettazione del Software Capitolo 3 marzo 2016 Agilità:1, ogni altra cosa: 0. Tom DeMarco 1 *** AVVERTENZA *** I lucidi messi a disposizione sul sito del corso di Analisi e progettazione
Sviluppo software in gruppi di lavoro complessi 1
Sviluppo software in gruppi di lavoro complessi 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia [email protected] Anno accademico 2017/18, I semestre 1 cba 2017 M.. Creative Commons
AGENDA SECTION n. 11. 1. Approccio Agile al PM. 2. Il metodo SCRUM
AGENDA SECTION n. 11 1. Approccio Agile al PM 2. Il metodo SCRUM 288 OBIETTIVO DEL PM AGILE L approccio Agile è uno dei più recenti ed è specificamente pensato per lo sviluppo di sistemi informatici di
Agile e Scrum in pratica
GRUPPO TELECOM ITALIA TIM Progettando a NO Torino, 04/05/2017 Agile e Scrum in pratica Senior Program Manager, TIM Fabio Ricciato, PMP, PSM I @fabioricciato Agility: Lesson Leaned #01 #02 #03 #04 #05 Se
Roberto Garrucciu Software Product Vargroup
Roberto Garrucciu Software Product Manager @ Vargroup «Agilità nei progetti» cultura, esperienze, approcci lean & devops nei progetti di sviluppo software 9 Maggio 2019 13 gennaio 2018 Branch Day PMI-NIC,
Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: 1.0. www.analisi-disegno.com. Pag. 1
Scrum Caratteristiche, Punti di forza, Limiti versione del tutorial: 1.0 Pag. 1 Scrum è uno dei processi agili (www.agilealliance.com) il termine è derivato dal Rugby, dove viene chiamato Scrum il pacchetto
AGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENT Andrea Pinnola TIM Senior Project Manager Le nuove sfide del Project Management: Complessità, Velocità e Innovazione - Torino, 31 Marzo 2017 1 in collaborazione con Quando mi sono
TECNOLOGIA E BUSINESS AGILITY L APPROCCIO AGILE DI ALTEA UP MASSIMILIANO LENZI, PMP
TECNOLOGIA E BUSINESS AGILITY L APPROCCIO AGILE DI ALTEA UP MASSIMILIANO LENZI, PMP Metodologia Tradizionale (waterfall): dimensioni di progetto Project Management: utilizzo delle risorse a disposizione
Agile Principles Agile People. Gaetano Mazzanti Gama-Tech
Agile Principles Agile People Gaetano Mazzanti Gama-Tech > Hello, I m Agile and I m not alone project product Agile is about change culture people organization Processes and Tools Comprehensive Documentation
Ingegneria del Software
Ingegneria del Software Processi di Sviluppo Agile Origini dello Sviluppo Agile Proposta di un gruppo di sviluppatori che rilevava una serie di criticità degli approcci convenzionali: Troppa rigidità dei
Sviluppo Agile. Prof. Filippo Lanubile. Processo software
Sviluppo Agile I processi (di sviluppo) del software bisogni nuovi o modificati Processo software Prodotto software nuovo o modificato Un processo software descrive quali sono le attività che concorrono
Un team agile allo sprint. 28 Febbraio 2013 Emiliano Soldi
Un team agile allo sprint 28 Febbraio 2013 Emiliano Soldi una questione di leggerezza COMPLESSITÀ VARIABILITÀ SPRECHI SOVRA-ALLOCAZIONI COLLI DI BOTTIGLIA DEBITO BUSINESS/TECNICO RIDURRE TEMPI ATTESA RIDURRE
Scrum. in cinque minuti
Scrum in cinque minuti Scrum e metodologie agili sono due temi caldi al giorno d oggi Un metodo semplice per la gestione di progetti complessi... a hyper-productivity tool! I vecchi metodi si concentrano
Svigruppo. Monga. Svigruppo. Monga
Sviluppo software in gruppi di complessi 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia [email protected] Lezione IV: Gruppi di (cont.) Anno accademico 2016/17, I semestre 1
Sviluppo software in gruppi di lavoro complessi 1
Sviluppo software in gruppi di complessi 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia [email protected] Anno accademico 2016/17, I semestre 1 cba 2016 M.. Creative Commons
Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software. Processo software. Marina Mongiello. il processo
Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del Processo Sommario 1. Prodotto e processo 2. Ciclo di vita del 3. Modelli del processo di sviluppo 1. Modelli a processo prescrittivo 2.
TOMMASO BECCA AREA CORPORATE - DIGITAL TRANSFORMATION
TOMMASO BECCA AREA CORPORATE - DIGITAL TRANSFORMATION INDICE 01 IL GRUPPO CAMAC 02 STORIA 03 CAMAC SRL: ORGANIZZAZIONE 3.1 ORGANIZZAZIONE: area corporate 3.2 ORGANIZZAZIONE: area fashion 3.3 area fashion:
OEC630 Agile PM Foundation
Tel. +39 02 365738 [email protected] www.overneteducation.it OEC630 Agile PM Foundation Durata: 3 gg Descrizione Il corso ha la durata di tre giornate, con questi obiettivi: fornire ai partecipanti
I Modelli Organizzativi Agile Scalati: il caso Tagetik Software
DIPARTIMENTO DI INGEGNERIA DELL ENERGIA, DEI SISTEMI, DEL TERRITORIO E DELLE COSTRUZIONI RELAZIONE PER IL CONSEGUIMENTO DELLA LAUREA MAGISTRALE IN INGEGNERIA GESTIONALE I Modelli Organizzativi Agile Scalati:
Agile Project Management - LC90.99B. Team Scrum (gruppo di progetto)
Che Cosa è SCRUM L interesse verso il project management Agile è unanimemente condiviso. Anche chi non è direttamente committed dovrà avvicinarsi alla nuova terminologia e la filosofia sottostante. Per
METODI AGILI IL CONTROLLO DI GESTIONE PER. Loredana G. Smaldore
METODI AGILI PER IL CONTROLLO DI GESTIONE 1 Fonte: Smaldore, L.G. (2014), Metodi «Agili» per il Controllo di Gestione, in Busco C., Giovannoni E. e Riccaboni A. (a cura di), Il controllo di gestione. Metodi,
La Guida a Nexus. La guida definitiva a Nexus: L esoscheletro dello sviluppo in scala con Scrum. Sviluppata e mantenuta da Ken Schwaber e Scrum.
La Guida a Nexus La guida definitiva a Nexus: L esoscheletro dello sviluppo in scala con Scrum Sviluppata e mantenuta da Ken Schwaber e Scrum.org Agosto 2015 Sommario Introduzione a Nexus...2 Scopo della
3. Ciclo di Vita e Processi di Sviluppo
3. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 3. Ciclo di Vita e Processi di
Modelli agili per lo sviluppo software: una panoramica su Scrum, Kanban e Scrumban
Alma Mater Studiorum Università di Bologna SCUOLA DI SCIENZE Corso di Laurea in Informatica Modelli agili per lo sviluppo software: una panoramica su Scrum, Kanban e Scrumban Relatore: Chiar.mo Prof. Paolo
Lean e Agile per lo sviluppo di prodotti hardware
Lean e Agile per lo sviluppo di prodotti hardware Claudio Saurin Direttore Sviluppo Prodotto in Breton Daniela Rinaldi - Architetto Libero Professionista 21/11/2014 L azienda Breton Fondata nel 1963 da
Certified ScrumMaster
Obiettivo del corso L obiettivo del corso è quello di imparare Scrum utilizzandolo all interno di un corso organizzato con Scrum! Con questo corso ufficiale di 2 giorni sarà possibile sostenere l esame
La famiglia ISO 9000: il gruppo coerente
La famiglia ISO 9000: il gruppo coerente La famiglia ISO9000 nasce per aiutare le organizzazioni ad attuare e applicare Sistemi di Gestione per la Qualità efficaci ISO9000: descrive i fondamenti dei sistemi
Laura Semini Dipartimento di Informatica Università di Pisa
Laura Semini Dipartimento di Informatica Università di Pisa Lezione precedente: Sistemi complessi Necessità di tecniche e strumenti per realizzarli Definizione di Ingegneria del Software Questa lezione
Programma integrato di. formazione e certificazione Scrum
Programma integrato di formazione e certificazione Scrum Scrum - Mania Scrum è l applicazione Agile più diffusa. È una metodologia di project planning adattativa, iterativa, veloce, flessibile ed efficace
Overview Cloudify NoiPA
Overview Cloudify NoiPA Formazione PPO Febbraio 2018 Realizzato nel quadro del Programma Realizzato Azione nel Coesione quadro Complementare del Programma al PON Azione Governance Coesione e Capacità Complementare
SERVICE MANAGEMENT E ITIL
IT governance & management Executive program VI EDIZIONE / FEBBRAIO - GIUGNO 2017 PERCHÉ QUESTO PROGRAMMA Nell odierno scenario competitivo l ICT si pone come un fattore abilitante dei servizi di business
L integrazione della ISO 26262 con le metodologie Agili
L integrazione della ISO 26262 con le metodologie Agili 11 Workshop on Automotive Software & Systems Milano, 7 Novembre 2013 Ernesto Viale Agenda Overview AIDA Model AIDA for Agile L integrazione della
Configuration Management secondo l ISO
SUPSI Project Management Forum Configuration Management secondo l ISO Alessandro Colasurdo [email protected] Lugano, 23 Giugno 2017 Alessandro Colasurdo Configuration Management secondo l
[RAGIONE SOCIALE AZIENDA] [Manuale Qualità]
[RAGIONE SOCIALE AZIENDA] [Manuale Qualità] Revisione [N ] - [Data di pubblicazione] Conforme alla ISO 9001:2015 (c) Tutti i diritti riservati. Questo documento può contenere informazioni riservate e può
Università degli studi di Padova
Università degli studi di Padova Dipartimento di Tecnica e Gestione dei Sistemi Industriali Corso di Laurea Triennale in Ingegneria Gestionale GESTIONE DI PROGETTI ATTRAVERSO LA TECNICA SCRUM RELATORE:
Introduzione all Agile Software Development
IBM Rational Software Development Conference 5RPDRWWREUH 0LODQR RWWREUH Introduzione all Agile Software Development 0DULDQJHOD2UPH Solution Architect IBM Rational Services PRUPH#LWLEPFRP 2008 IBM Corporation
CICLO DI VITA DEL PROGETTO
Minimaster in PROJECT MANAGEMENT CICLO DI VITA DEL PROGETTO Giovanni Francesco Salamone COMPETENZE TECNICHE CICLO DI VITA DEL PROGETTO ( ICB 3 - Elemento 1.11 ) Giovanni Francesco Salamone Ottobre 2009
UX-PM level 1: Adopting UX
UX-PM level 1: Adopting UX La certificazione UX-PM (UX-Project Manager) è un programma di formazione internazionale sulla User Experience (UX) per i prodotti e i servizi digitali. Il programma si articola
ACM CERT S.r.l. ACM CERT S.r.l. Corso Auditor/Lead Auditor ISO 9001:2015. Organismo di Certificazione. SGQ n. 135A
ACM CERT S.r.l. Organismo di Certificazione SGQ n. 135A ACM CERT S.r.l. P.le Cadorna, 10 20123 Milano www.acmcert.it [email protected] Corso Auditor/Lead Auditor ISO 9001:2015 LA NORMA ISO 9001-2015 ISO
La Guida a Scrum TM. La guida definitiva a Scrum: Le regole del gioco. Luglio Sviluppata e mantenuta da Ken Schwaber e Jeff Sutherland
La Guida a Scrum TM La guida definitiva a Scrum: Le regole del gioco Luglio 2016 Sviluppata e mantenuta da Ken Schwaber e Jeff Sutherland Scopo della Guida a Scrum Scrum è un framework per sviluppare e
ORGANIZZAZIONE Un modello organizzativo per l efficacia e l efficienza dello Studio
ORGANIZZAZIONE Un modello organizzativo per l efficacia e l efficienza dello Studio Alessandra Damiani Managing Partner Barbieri & Associati Dottori Commercialisti Consulente per l Organizzazione degli
L ORGANIZZAZIONE PER PROCESSI COME SUPPORTO PER LA GESTIONE DELLA PUBBLICA AMMINISTRAZIONE. Relatore: GABRIELE DE SIMONE
L ORGANIZZAZIONE PER PROCESSI COME SUPPORTO PER LA GESTIONE DELLA PUBBLICA AMMINISTRAZIONE Relatore: GABRIELE DE SIMONE la Federazione degli 11 Maggiori Organismi di certificazione dei Sistemi di Gestione
Configuration Change Release Management
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A6_3 V1.0 Configuration Change Release Management Il contenuto del documento
Corso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca [email protected] 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 2.3 Modelli evolutivi 2.4 Comparazione dei modelli 2.5 Modelli
