3. Agenda
Testing e Scrum nel mondo reale
Testing e Scrum:
4ward: Smartgest un caso reale
Scrum:
Biesse: Racconto di
un’implementazione vincente
di Scrum
Do your systems talk business? | 3
4. http://b.static.ak.fbcdn.net/
Cosa fa 4ward oggi?
•Software Factory, Team Foundation Server
Sviluppo •Biztalk, Sharepoint
•WPF, WCF, WF, Silverlight, ASP.NET
•Virtualizzazione
Sistemi •System Center
•Unified Communication
•Team dedicato
Testing •Test Manager
•Test Automation
•Corsi a calendario
Training •Corsi personalizzati
•Testing Center
Do your systems talk business? | 4
5. http://b.static.ak.fbcdn.net/
Prossimamente?
• Nuova sede a Seattle che si
Seattle aggiungerà a Milano,
Bolzano e Verona
Cloud
• Nuova area dedicata a
Windows Azure e Office 365
TaaS
• Testing as a Service
onsite o da remoto
Do your systems talk business? | 5
6. http://b.static.ak.fbcdn.net/
Qualcosa su di me…
Responsabile sviluppo e co-fondatore di 4ward
Specializzazioni:
Visual Studio ALM Expert, Team Foundation Server
Silverlight, Software Factories
Biztalk, Sharepoint
Non sul lavoro: Aspirante Runner, membro Mensa.org
Potete trovarmi su:
Blog:
EN: http://ivanfioravanti.wordpress.com
IT: http://blogs.ugidotnet.org/ivanf
Twitter: @ivanfioravanti
Mail: ivan.fioravanti@4ward.it
Do your systems talk business? | 6
8. Qualche bug famoso? (1/2)
Sonda Mariner 1
Distrutta
Il rapporto dalla NASA ammette che la causa
dell’errore è un singolo trattino mancante
da una riga di codice Fortran del
programma di guida automatica della sonda
Collasso linee telefoniche
75 mln chiamate perse
Errori di commutazione nei computer di
gestione delle chiamate della AT&T rendono
inutilizzabile per nove ore la rete interurbana
e interstatale statunitense della società. La
causa del collasso fu poi attribuita a una
singola riga di codice errata
Fonte: http://en.wikipedia.org/wiki/List_of_software_bugs
Do your systems talk business? | 8
9. Qualche bug famoso? (2/2)
Sonda Mars Polar Lander
Distrutta
Segnali errati di atterraggio completato
vengono inviati dai sensori che portano
allo spegnimento dei motori 40 metri
prima di toccare terra
Sonda Mars Global Surveyor
Distrutta
Due indirizzi di memoria sovrascritti
per errore da un aggiornamento software
causano una manovra errata che porta al
surriscaldamento e alla rottura delle
batterie
Fonte: http://en.wikipedia.org/wiki/List_of_software_bugs
Do your systems talk business? | 9
10. «Fate testing?» Commenti dal campo
Finisce che spendo più in
test che in sviluppo
Test? Noi non facciamo test!
Tanto se ci sono problemi su un rilascio, gli utenti
chiamano il supporto e torniamo alla versione precedente
Do your systems talk business? | 10
11. Risultato dell’eliminazione dei test
Riduzione dei costi di
produzione
Riduzione della qualità
Aumento dei difetti
Aumento dei costi di
mantenimento
Do your systems talk business? | 11
12. RISULTATO FINALE?
Risultato dell’eliminazione dei test
Riduzione dei costi di
produzione
Riduzione della qualità
RISULTATO FINALE?
Aumento dei difetti
Aumento dei costi di
mantenimento
Photo by Alex E. Proimos (http://www.flickr.com/photos/proimos)
Do your systems talk business? | 12
13. Come risolvere il problema?
4.
3. Tracciabilità
automatica
Gestione requisiti/user
2. semplificata story e test
degli ambienti
Automazione di test
dell’esecuzione
1. e della verifica
dei test
Integrazione
Testing
nell’ALM
Do your systems talk business? | 13
14. Come risolvere il problema?
4.
3. Tracciabilità
automatica
Gestione requisiti/user
2. semplificata story e test
degli ambienti
Automazione di test
dell’esecuzione
1. e della verifica
dei test
Integrazione
Testing
nell’ALM
Do your systems talk business? | 14
16. http://b.static.ak.fbcdn.net/
Cos’è Scrum?
E’ una metodologia iterativa ed incrementale per la
gestione dei progetti
Do your systems talk business? | 16
17. Sviluppo e test integrati con Scrum
implementazione
implementazione us2
D us2
sprint
E plan implementazione fix bug
V user story ‘1’
(us1) fix bug
build 1 build 2 build 3 build 4 build 5 build 6 build 7
test us1 &
definizione test test di
segnalazione verifica fix
T per us1 regressione
bug
E sprint
plan
S
definizione test test us2 &
T
per us2 segnalazione verifica fix
bug
Do your systems talk business? | 17
18. Con che strumento?
implementazione
implementazione us2
D us2
sprint
E plan implementazione fix bugs
Test Manager consente
V user story ‘1’
(us1) fix bugs
di creare piani di test
legati ai requisiti
build 1 build 2 build 3 build 4 build 5 build 6 build 7
Test Manager mostra ai
tester le modifiche
test us1 &
apportate per ogni build
definizione test test di
segnalazione verifica fixes
come:
T per us1 regressione
bug
E sprint - Task
plan
S
definizione test
- Requisiti
test us2 &
T
per us2 segnalazione verifica fixes
-bugs
Bug
Do your systems talk business? | 18
19. Con che strumento?
implementazione
implementazione us2
D Test Manager aiuta us2
sprint
E nella
plan verifica della
implementazione
… ifix bugs possono
testers
V correzione dei bug
user story ‘1’ verificare facilmente le
fix bug
(us1) fix tramite la
riproduzione automatica
delle azioni registrate
I tester creano bug durante i test
build 1 completi e build 3
report build 2 build 4 build 5 build 6 build 7
facilmente riproducibili
test us1 &
definizione test test di
segnalazione verifica fix
T per us1 regressione
bug
E sprint
plan
S
definizione test test us2 &
T
per us2 segnalazione verifica fix
bug
Do your systems talk business? | 19
21. Automazione dei test
iterazione 1 iterazione 2 release
feature a feature b feature c feature d
unit
testing
manual
testing
regression
testing
performance
testing
Do your systems talk business? | 21
22. Automazione dei test
Attivando l’Action Recording è possibile registrare e
riprodurre automaticamente gli step di un test case.
Le azioni ripetitive e noiose le lasciamo fare alle macchine!
I Data Diagnostic tracciano le azioni sulla UI e tutte quelle
informazioni utili allo sviluppatore per risolvere
correttamente il bug.
Do your systems talk business? | 22
23. Testing lifecycle
I test registrati vengono eseguiti automaticamente
ad ogni build
Build Test
Obiettivo: abbattere i costi e ridurre i bug
Do your systems talk business? | 23
25. Lab Management
Creazione semplificata di ambienti di test
In Lab Center possiamo generare con pochi click degli ambienti di
test: non solo una macchina, ma un vero sistema multi server!
Virtualizzazione
per tutti
Semplicità e
integrazione in Visual
Studio ALM
Hyper-V based
Do your systems talk business? | 25
26. Automatizzazione del workflow
Build-Deploy-Test
1. Compilazione dei sorgenti
Build
2. Ripristino ambiente virtuale
allo stato iniziale
3. Installazione della build
4. Esecuzione test automatici
Test Deploy 5. Con un clic è possibile
collegarsi all’ambiente
L’effort iniziale è ampiamente ammortizzato nel
medio-lungo termine
Do your systems talk business? | 26
28. Report nativi in TFS
Altri report in
questa categoria
Avanzamento del lavoro sulle
Cosa mostra questo user stories mostrato nel
report? contesto insieme ai risultati dei
test e ai bug
Do your systems talk business? | 28
29. Dashboard Quality nativa in TFS
Qual è l’avanzamento Siamo pronti
sui test plan? a consegnare?
Come stanno
andando le
Stiamo risolvendo i
build?
bug?
Qual è la qualità
delle fix fatte?
Do your systems talk business? | 29
31. Biesse s.p.a.
• Realtà multinazionale che produce macchine e
sistemi per la lavorazione di legno, vetro e
pietra.
• Filiali produttive in Italia e a Bangalore
• 2.300 dipendenti nel mondo
Do your systems talk business? | 31
32. Perché TFS?
• Scrum già applicato da qualche team ma in
modo disomogeneo
• Tutto il software prodotto da Biesse è sviluppato
già da anni con Visual Studio
• MSF Agile 5.0: è «quasi» Scrum, fa già il 90% di
quello che ci serve
• Compreso nelle licenze MSDN già acquistate
dal gruppo
Do your systems talk business? | 32
33. Il progetto di adozione
• Requisiti prioritari:
• tracciare il carico di lavoro dei
team
• incentivare la pianificazione
agile: «+ excel, - project»
• Fasi e tempi:
• Marzo-Aprile 2010: Team di 4 persone con progetto pilota
(su TFS 2010 RC)
• Maggio-Settembre 2010: Estensione graduale agli altri
progetti compatibilmente con i tempi di produzione di una
fabbrica
• Gennaio 2011: 85 sviluppatori suddivisi su 18 team project
Do your systems talk business? | 33
34. Product Planning
• Fornisce una stima delle risorse necessarie per iterazione
• Per la pianificazione sono state utilizzate «ore uomo
indicative» in modo da dare una linea guida comune a tutti i
team
Do your systems talk business? | 34
35. Ma il GANTT non era meglio?
• Il product planning non permette di vedere a colpo d’occhio lista di attività
e relative date di chiusura
• Serve un report di alto livello per il management, soprattutto per le
consuntivazioni
• Generato automaticamente tramite una macro di Excel
Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 …
Do your systems talk business? | 35
36. Integrazione con Oracle EBS
• Necessità di integrare lo strumento di project management (TFS)
e lo strumento di project/product costing (Oracle Project)
• Come fare per conciliare le esigenze amministrative (lista di
attività standard) con quelle progettuali (totale libertà nei titoli delle
attività)?
SQL Oracle
TFS DataBase Project
Team Mapping
Commessa
Project Tables
Completed Work
Do your systems talk business? | 36
37. Integrazione con Oracle EBS
• I titoli con prefisso WBS vengono marcati read-only e
garantiscono l’integrità del mapping
• Viene lasciata completa libertà su tutti gli altri livelli
dell’albero dei work item
Team Project: Project 1
Work
Assigned Completed
Item Title 1 Title 2 Title 3
To Work Commessa: Project 1
Type
User Barra dei Risorsa Giorno Task ore
Story Menù
User
Mario WBS Mario Rossi 12/12/2010 Menù File 1
Rossi Menù
Story
File Giuseppe Verdi 15/12/2010 Menù Zoom 2
Mapping
Sviluppo
Task
Mario
bottone 6
Mario Rossi 15/12/2010 Menù File 2
Rossi
salva
Paolo Bianchi 16/12/2010 Menù File 2
Sviluppo
Paolo
Task bottone 4
Bianchi
apri
Mario Rossi 20/12/2010 Menù File 3
User Giuseppe
WBS Giuseppe Verdi 21/12/2010 Menù Zoom 3
Menù
Story Verdi
Zoom Paolo Bianchi 21/12/2010 Menù File 2
Sviluppo
Giuseppe
Task
Verdi
bottone 5 Paolo Bianchi 21/12/2010 Menù Zoom 3
zoom in
Sviluppo
Paolo
Task
Bianchi
bottone 3
zoom out
Do your systems talk business? | 37