Upload
stefano-valle
View
2.220
Download
0
Embed Size (px)
DESCRIPTION
Slide del seminario introduttivo alle metodolgie di sviluppo agile, tenuto presso il Distretto delle Tecnologie Digitali, a Udine, il 14/07/2012
Citation preview
Sviluppo Agile Introduzione alle Metodologie di Sviluppo Agile
DITEDI, Udine - Italia 14-07-2012
STEFANO MARASPIN
STEFANO VALLE
http://www.mvassociati.it/
http://www.ditedi.it/
http://friuli.grusp.org/
http://www.hubme.in/
APPROCCIO TIPICO
Analisi dei requisiti
Stesura specifiche
Progettazione
Implementazione
Installazione
Manutenzione
9
NON SIAMO INDOVINI
Utilizzo funzionalità software
7% 13%
16%
19%
45% Sempre
Spesso
Qualche volta
Raramente
Mai
11
(Standish Group Study Reported at XP2002)
ESTREMA INGEGNERIZZAZIONE?
LE ESIGENZE CAMBIANO
UN PROGETTO FALLITO NON EVOLVE
44%
24%
32% Challenged
Failed
Successful
(2009 Standish Chaos Report)
La sorte dei progetti software
NON CONSIDERA IL CAMBIAMENTO
Il progetto tipico
17
Il progetto tipico
18
Il progetto tipico
19
Il progetto tipico
20
Il progetto tipico
21
Il progetto tipico
22
Meglio, vero?
23
DA…
…A
PRIMA DI PARTIRE
I piani dell’esperienza utente
J.J. Garrett – The elements of User Experience
Diagrammi dei casi d’uso
28
Diagrammi di Sequenza
29
USER STORIES
User stories
31
Come magazziniere
voglio poter filtrare l’archivio ordini
secondo la data di ricezione
per consultare rapidamente gli ultimi ordini evasi
User stories
32
Come magazziniere
voglio poter filtrare l’archivio ordini
secondo la data di ricezione
per consultare rapidamente gli ultimi ordini evasi
ruolo
obiettivo
motivazione
Com’è fatta un’iterazione? 1. Consideriamo il contesto 2. Prioritizziamo ciò che va sviluppato 3. Lo sviluppiamo 4. Misuriamo com’è andata
33
TUTTO CIÒ CHE C’È DA FARE
PRIORITÀ ALLE COSE IMPORTANTI
SCRIVIAMO IL CODICE
Gestione delle Versioni
FARE REFACTORING
MODIFICHE A CODICE SENZA TEST
PRONTI PER ANDARE ONLINE?
TEST DRIVEN DEVELOPMENT
TEST UNITARI
TEST FUNZIONALI
BDD
TOOL
Strumenti di test
CONTINUOUS INTEGRATION
PAROLA CHIAVE: AUTOMATIZZARE
MISURE IN RETROSPETTIVA
QUANT’È LA DURATA DI UN’ITERAZIONE?
PRONTI PER LA PROSSIMA!
IL MANIFESTO
PIÙ CHE SEGUIRE UN PIANO
RISPONDERE AL CAMBIAMENTO
PIÙ CHE PROCESSI E STRUMENTI
INDIVIDUI E INTERAZIONI
PIÙ CHE DOCUMENTAZIONE ESAUSTIVA
SOFTWARE FUNZIONANTE
PIÙ CHE NEGOZIAZIONE DEL CONTRATTO
COLLABORAZIONE COL CLIENTE
PRATICHE, METODOLOGIE
% adozione metodologie agili
61
State of Agile Survey 2011 – http://www.versionone.com
EXTREME PROGRAMMING
COMUNICAZIONE
SEMPLICITÀ
CORAGGIO
RISPETTO
FEEDBACK
PRATICHE PRIMARIE
• Sit Together
• Whole Team
• Informative Workspace
• Energized Work
• Pair Programming
• Stories
• Slack
• Weekly Cycle
• Quarterly Cycle
• Ten-Minute Build
• Continuous Integration
• Test-First Programming
• Incremental Design
68
PRATICHE AGGIUNTIVE
• Real Customer Involvement
• Incremental Deployment
• Team Continuity,
• Shrinking Teams
• Root Cause Analysis
• Shared Code
• Code and Tests
• Single Code Base
• Daily Deployment
• Negotiated Scope Contract
• Pay-per-use
69
SCRUM
Team roles
Immagini relative a SCRUM da http://www.axosoft.com – Licenza Creative Commons
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
Backlog
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
Sprint
KANBAN
Standup Meeting
Burndown Chart
Retrospettive
Immagini relative a SCRUM da http://www.axosoft.com – Licenza Creative Commons
BISOGNA COMUNQUE STARE ATTENTI
NON SEMPRE APPROCCIO MIGLIORE
FRAGILITÀ ARCHITETTURALE
PIANIFICAZIONE CROSS-PROGETTO
GESTIRE LE INTERRUZIONI
TUTTI I TASK STESSO EFFORT?
STATO DI FLOW
IGNORARE IL CONTESTO DI UTILIZZO
IGNORARE GLI UTENTI
Consideriamo chi saranno
87
Fonte: Information Architecture Second Edition – Wodtke & Govella
Immaginiamoli (Personae)
Esempio di Personae da un progetto MV Associati – Immagini (con licenza Creative Commons) reperite da web
Come interagiranno?
Fonte: Information Architecture Second Edition – Wodtke & Govella
Limitiamoci alle storie scelte
Fonte: Information Architecture Second Edition – Wodtke & Govella
DESIGN DALL’INTERFACCIA
VALIDARE TUTTO CON TEST UTENTE
L’impiego di metodi agili porta ad un aumento nella produttività,
efficienza, qualità, time-to-market e soddisfazione del cliente che varia dal 10% al 100%.
David F. Rico http://davidfrico.com/rico08b.pdf
ACCOGLIERE IL CAMBIAMENTO
NON IGNORARE LA REALTÀ
CONSIDERARE IL CONTESTO
PRINCIPIO DEL FAIL FAST
QUALCHE DOMANDA?
Grazie per l’attenzione
Stefano Maraspin @maraspin [email protected]
Stefano Valle @stefanovalle [email protected]
Per Approfondire:
100
Per Approfondire:
101
Altri Argomenti Introdotti:
102
Photo Credits • 8.http://www.flickr.com/photos/andyarthur/7153821133/ • 10.http://www.flickr.com/photos/twcollins/561072853/ • 14. http://www.flickr.com/photos/tweek/53286527/ • 16.http://www.flickr.com/photos/matthew/1350844425/ • 24.http://www.flickr.com/photos/stormino/3883174942/ • 25.http://www.flickr.com/photos/tanaka_juuyoh/4434234095 • 26.http://www.flickr.com/photos/chrishimself/3489202131/in/photostream • 30.http://www.flickr.com/photos/princessashley/3419971842/ • 35.http://www.flickr.com/photos/59937401@N07/5857263351/ • 36.http://www.flickr.com/photos/keremtapani/6160276128/ • 38.http://www.flickr.com/photos/criminalintent/6071312217/ • 39.http://www.flickr.com/photos/nomadic_lass/5503362755/ • 40.http://www.flickr.com/photos/30998987@N03/5408763863/ • 41.http://www.flickr.com/photos/44534236@N00/6894533130/ • 42.http://www.flickr.com/photos/techsavvyed/5926978939/ • 43.http://www.flickr.com/photos/sayamindu/5677186091 • 44.http://www.flickr.com/photos/enerva/5480788967/ • 46.http://www.flickr.com/photos/65666394@N04/5977381389/ • 47.http://www.flickr.com/photos/faircompanies/4956047516/ • 48.http://www.flickr.com/photos/matsuyuki/4058166150/ • 49.http://www.flickr.com/photos/22244945@N00/3278869535/ • 50.http://www.flickr.com/photos/rowens27/3163470179/ • 52.http://www.flickr.com/photos/idovermani/3903032710/ • 53.http://www.flickr.com/photos/willfolsom/6151515711/
103
Photo Credits • 54.http://www.flickr.com/photos/caitlinator/3432730564/ • 55.http://www.flickr.com/photos/portofsandiego/5494425609/ • 56.http://www.flickr.com/photos/evergreenkamal/384258822/ • 58.http://www.flickr.com/photos/istolethetv/4803781313/ • 60.http://www.flickr.com/photos/hectoralejandro/4357626028/ • 62.http://www.flickr.com/photos/maveric2003/2501462876/in/photostream • 63-67.http://www.flickr.com/photos/maveric2003/2500638947/in/photostream & others from Eric Chan • 72.http://www.flickr.com/photos/royskeane/413103429/ • 73-75.http://www.axosoft.com/ontime/videos/scrum • 76.http://www.flickr.com/photos/mannewaar/3530731814/ • 77-79.http://www.axosoft.com/ontime/videos/scrum • 80.http://www.flickr.com/photos/sandman_kk/3788034781/ • 81.http://www.flickr.com/photos/ifl/7238282472/ • 83.http://www.flickr.com/photos/arg0s/7244729110/ • 84.http://www.flickr.com/photos/barteko/6127853971/ • 85.http://www.flickr.com/photos/photon_de/2700323949/ • 86.http://www.flickr.com/photos/webtreatsetc/4842422256/ • 88.http://www.flickr.com/photos/katiegail/431702206/sizes/l/in/photostream/ • 93.http://www.flickr.com/photos/baldiri/5734993652/ • 97.http://www.flickr.com/photos/12023825@N04/2898021822/ • 98.http://www.flickr.com/photos/king-edward/3758847141/ • 99.http://www.flickr.com/photos/grenade/3040654024/ • 100.http://www.flickr.com/photos/dobs/4128798936 • other pictures taken by S. Maraspin, courtesy of vectorportal.com or from fotolia archives
104
Stefano Maraspin @maraspin [email protected]
Stefano Valle @stefanovalle [email protected]