Enviar pesquisa
Carregar
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
•
1 gostou
•
391 visualizações
Francesco Cirillo
Seguir
Negócios
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 21
Recomendados
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
Francesco Cirillo
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
Francesco Cirillo
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
Francesco Cirillo
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
Francesco Cirillo
2013 why agile
2013 why agile
Felice Pescatore
20060627 SOA @JavaConference2006 Milano-IT [ITA]
20060627 SOA @JavaConference2006 Milano-IT [ITA]
Francesco Cirillo
20090507 Metodi Agili e Aumento del Roi @Better Software2009 Firenze IT [ITA]
20090507 Metodi Agili e Aumento del Roi @Better Software2009 Firenze IT [ITA]
Francesco Cirillo
20111119 Is Software Evolution really effective? @IAD2011 Rome-IT [ENG]
20111119 Is Software Evolution really effective? @IAD2011 Rome-IT [ENG]
Francesco Cirillo
Recomendados
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
20061028 XPLabs Tour06 Bonsai @LinuxDayRoma2006 Roma-IT [ITA]
Francesco Cirillo
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
20071027 XPLabs Tour Bonsai @LinuxDayRoma2007 Roma-IT [ITA]
Francesco Cirillo
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
20080124 XPLabs Tour08 @UniAQ.it L'Aquila-IT [ITA]
Francesco Cirillo
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
20060703 XP Values and Principles @Essap2006 Varese-IT [ITA]
Francesco Cirillo
2013 why agile
2013 why agile
Felice Pescatore
20060627 SOA @JavaConference2006 Milano-IT [ITA]
20060627 SOA @JavaConference2006 Milano-IT [ITA]
Francesco Cirillo
20090507 Metodi Agili e Aumento del Roi @Better Software2009 Firenze IT [ITA]
20090507 Metodi Agili e Aumento del Roi @Better Software2009 Firenze IT [ITA]
Francesco Cirillo
20111119 Is Software Evolution really effective? @IAD2011 Rome-IT [ENG]
20111119 Is Software Evolution really effective? @IAD2011 Rome-IT [ENG]
Francesco Cirillo
20111117 Is Software Evolution really effective? @XPDayGE2011 Karlsruhe-GE [ENG]
20111117 Is Software Evolution really effective? @XPDayGE2011 Karlsruhe-GE [ENG]
Francesco Cirillo
20100506 Dinamiche di Team @BetterSoftware2010 Firenze-IT [ITA]
20100506 Dinamiche di Team @BetterSoftware2010 Firenze-IT [ITA]
Francesco Cirillo
20100302 Dinamiche di Team Brainstorming @UniRM3 Roma-IT [ITA]
20100302 Dinamiche di Team Brainstorming @UniRM3 Roma-IT [ITA]
Francesco Cirillo
20091203 Design Emergente Più Cambiamenti Più Profitti @UxConference2009 Luga...
20091203 Design Emergente Più Cambiamenti Più Profitti @UxConference2009 Luga...
Francesco Cirillo
20090124 Ricette per Eliminare gli IF @JavaDay3 Roma-IT [ITA]
20090124 Ricette per Eliminare gli IF @JavaDay3 Roma-IT [ITA]
Francesco Cirillo
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
Francesco Cirillo
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
Francesco Cirillo
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
Francesco Cirillo
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
Francesco Cirillo
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
Francesco Cirillo
Mais conteúdo relacionado
Mais de Francesco Cirillo
20111117 Is Software Evolution really effective? @XPDayGE2011 Karlsruhe-GE [ENG]
20111117 Is Software Evolution really effective? @XPDayGE2011 Karlsruhe-GE [ENG]
Francesco Cirillo
20100506 Dinamiche di Team @BetterSoftware2010 Firenze-IT [ITA]
20100506 Dinamiche di Team @BetterSoftware2010 Firenze-IT [ITA]
Francesco Cirillo
20100302 Dinamiche di Team Brainstorming @UniRM3 Roma-IT [ITA]
20100302 Dinamiche di Team Brainstorming @UniRM3 Roma-IT [ITA]
Francesco Cirillo
20091203 Design Emergente Più Cambiamenti Più Profitti @UxConference2009 Luga...
20091203 Design Emergente Più Cambiamenti Più Profitti @UxConference2009 Luga...
Francesco Cirillo
20090124 Ricette per Eliminare gli IF @JavaDay3 Roma-IT [ITA]
20090124 Ricette per Eliminare gli IF @JavaDay3 Roma-IT [ITA]
Francesco Cirillo
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
Francesco Cirillo
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
Francesco Cirillo
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
Francesco Cirillo
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
Francesco Cirillo
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
Francesco Cirillo
Mais de Francesco Cirillo
(10)
20111117 Is Software Evolution really effective? @XPDayGE2011 Karlsruhe-GE [ENG]
20111117 Is Software Evolution really effective? @XPDayGE2011 Karlsruhe-GE [ENG]
20100506 Dinamiche di Team @BetterSoftware2010 Firenze-IT [ITA]
20100506 Dinamiche di Team @BetterSoftware2010 Firenze-IT [ITA]
20100302 Dinamiche di Team Brainstorming @UniRM3 Roma-IT [ITA]
20100302 Dinamiche di Team Brainstorming @UniRM3 Roma-IT [ITA]
20091203 Design Emergente Più Cambiamenti Più Profitti @UxConference2009 Luga...
20091203 Design Emergente Più Cambiamenti Più Profitti @UxConference2009 Luga...
20090124 Ricette per Eliminare gli IF @JavaDay3 Roma-IT [ITA]
20090124 Ricette per Eliminare gli IF @JavaDay3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20080619 Diventare Agili Dalla Università ad un Team Agile @UniRM3 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20071201 Eliminare For @JavaDayRoma2 Roma-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20051216 Il Prossimo Passo @Italian AgileDay2005 Milano-IT [ITA]
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20040503 Easy Tracking @AICA2004 Milano-IT [ITA]
20071123 XPLabs Tour07 Bonsai @ItalianAgileDay2007 Bologna-IT [ITA]
1.
Migliorare la produttività
del software con Extreme Programming XPLabsTour07@AgileDayIT2007 Venerdì, 23 novembre 2007 Francesco Cirillo CEO, XPLabs SRL Director, MetodiAgili.it francesco.cirillo@metodiagili.it ah
2.
Questo intervento
sostiene: © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 2
3.
Acceptance Test
Il metodo di sviluppo software supporta lo sviluppo del business? © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 3
4.
Il problema
“Perché i progetti falliscono?” Overly optimistic schedules Undermined motivation Insufficient risk management Weak Personnel Contractor failure Uncontrolled problem employees Insufficient planning Heroics Abandonment of planning under pressure Adding people to a late project Wasted time during the fuzzy front end Noisy, crowded offices Shortchanged upstream activities Friction between developers and customers PEOPLE PROCESS Inadequate design Unrealistic expectations Shortchanged quality assurance Lack of effective project sponsorship Insufficient management controls Lack of stakeholder buy-in Premature or overly frequent convergence Lack of user input Classic Mistakes Omitting necessary tasks from estimates Politics placed over substance Planning to catch up later Wishful thinking Code-like-hell programming Silver-bullet syndrome Overestimated savings Requirements gold-plating from new tools or methods Feature creep Switching tools in TECHNOLOGY PRODUCT Developer gold-plating the middle of a project Push-me, pull-me negotiation Lack of automated source-code control Research-oriented development Rielaborato da Rapid Development di Steve McConnell © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 4
5.
Il problema
“Perché i progetti falliscono?” Complessità Velocità Overly optimistic schedules Undermined motivation Insufficient risk management Weak Personnel Contractor failure Uncontrolled problem employees Insufficient planning Heroics Abandonment of planning under pressure Adding people to a late project Wasted time during the fuzzy front end Noisy, crowded offices Shortchanged upstream activities Friction between developers and customers PEOPLE PROCESS Inadequate design Unrealistic expectations Shortchanged quality assurance Lack of effective project sponsorship Insufficient management controls Lack of stakeholder buy-in Premature or overly frequent convergence Lack of user input Classic Mistakes Omitting necessary tasks from estimates Politics placed over substance Planning to catch up later Wishful thinking Code-like-hell programming Silver-bullet syndrome Overestimated savings Requirements gold-plating from new tools or methods Feature creep Switching tools in TECHNOLOGY PRODUCT Developer gold-plating the middle of a project Push-me, pull-me negotiation Lack of automated source-code control Research-oriented development Rielaborato da Rapid Development di Steve McConnell © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 5
6.
La risposta
XP Sostituire il motore dei valori con: comunicazione, feedback, semplicità, coraggio, rispetto Applicare pratiche volte a ridurre la complessità di business, tecnica e di comunicazione © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 6
7.
La risposta
XP Massimizzare le opportunità di business Minimizzare il costo del cambiamento Impiegare al meglio le risorse umane Sapere come lavoriamo/stiamo lavorando © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 7
8.
Minimizzare il costo del cambiamento Meno strutturalmente complesso è il sistema corrente, e meno intrinsecamente complesso è il problema da risolvere, e minore sarà lo sforzo e quindi i costi e i tempi necessari per introdurre la nuova funzionalità Se per complessità marginale consideriamo l’incremento di complessità del sistema necessario per introdurre la nuova funzionalità, al fine di favorire il cambiamento nel tempo, lo sforzo da applicare dovrà essere indirizzato a ridurre la complessità marginale fino a renderla negativa •Complessità del sistema •Tempo © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 8
9.
Ridurre la complessità
marginale Come? Mantenere bassa la complessità del sistema Mantenere bassa la complessità intrinseca del problema © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 9
10.
Mantenere bassa la complessità del sistema Il Refactoring: Aumentare la capacità del codice di rivelare le intenzioni di Lightweight design, a qualsiasi membro del team, alla prima occhiata Migliorare la struttura interna del sistema, consentendo alle necessarie astrazioni di emergere “Our job is to solve problems, not spoonfeed compilers (…) We need clarity so we can communicate using our code. We value conciseness and the ability to express a requirement in code accurately and efficiently”. --Dave Thomas © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 10
11.
Mantenere bassa la complessità del sistema for(int i = 0; i < employees.size(); i++) { Employee employee = (Employee) employees.get(i); System.out.println(employee.getName()); System.out.println(employee.getSalary()); } employees.forEach(printSlip); “Our job is to solve problems, not spoonfeed compilers (…) We need clarity so we can communicate using our code. We value conciseness and the ability to express a requirement in code accurately and efficiently”. --Dave Thomas © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 11
12.
Mantenere bassa la complessità del sistema Malleabilità Continua applicazione di sforzo Identificare possibilità di refactoring Assicurare che le strutture dipendono dalle funzionalità © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 12
13.
Mantenere bassa la complessità intrinseca del problema Per supportare il cambiamento, la complessità intrinseca della nuova funzionalità da introdurre nel sistema deve essere continuamente ridotta in componenti ortogonali più piccoli No dividi e conquista Guidato da test © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 13
14.
Strategie di sviluppo
Step 1: Obiettivo: Stanze disponibili Fare una in un giorno per prenotazione in un un albergo con albergo per un una stanza periodo di tempo Step 2: Step 3: Stanze disponibili Stanze disponibili in un giorno per in un giorno per un albergo con un albergo con una stanza con una stanza con una prenotazione una prenotazione in un giorno in un periodo © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 14
15.
Test-Driven versus Test-First
Test Driven = Test-First Incrementalità No gold plating No testing Some Themes of Quality Assurance Quality is everybody’s business Quality must be an early focus of a project The best way to achieve quality is to build it in --James Tomayko © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 15
16.
Migliorare la
produttività con Eclipse © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 16
17.
EasyTracking II -
xplabs © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 17
18.
La lavagna del
team Bees di XPLabs Rythm Rythm 10 10 9 9 8 8 7 7 6 6 5 5 4 Iteration 1 4 Iteration 1 3 3 2 Iterazione 4 2 Iterazione 4 1 Iteration 2 Iteration 3 1 Iteration 2 Iteration 3 0 0 23 feb 2004 28 feb 2004 4 mar 2004 9 mar 2004 14 mar 2004 19 mar 2004 24 mar 29 mar 3 apr 2004 23 feb 2004 28 feb 2004 4 mar 2004 9 mar 2004 14 mar 2004 19 mar 2004 24 mar 29 mar 3 apr 2004 Accepted Completed Not Completed Average Accepted Completed Not Completed Average McCabe McCabe DSI / Class 1,6 1,6 32 1,55 1,55 30 1,5 1,5 28 1,45 1,45 26 1,4 1,4 24 1,35 1,35 22 1,3 20 1,3 1,25 18 1,25 23 f eb 2004 28 f eb 2004 4 mar 2004 9 mar 2004 14 mar 2004 19 mar 2004 24 mar 2004 29 mar 2004 3 apr 2004 1,2 1,2 1,15 1,15 Number of Classes 1,1 1,1 1,05 1,05 11 60 23 f f eb2004 23 eb 2004 28 f f eb2004 28 eb 2004 4 mar 2004 4 mar 2004 99mar 2004 mar 2004 14 mar 2004 14 mar 2004 19 mar 2004 19 mar 2004 24 mar 2004 24 mar 2004 29 mar 2004 29 mar 2004 3 apr 2004 3 apr 2004 55 50 DSI / Method 45 40 4,8 35 4,7 4,6 30 4,5 4,4 25 4,3 20 4,2 4,1 15 4 23 f eb 2004 28 f eb 2004 4 mar 2004 9 mar 2004 14 mar 2004 19 mar 2004 24 mar 2004 29 mar 2004 3 apr 2004 3,9 3,8 3,7 3,6 Number of classes and methods 3,5 400 3,4 23 f eb 2004 28 f eb 2004 4 mar 2004 9 mar 2004 14 mar 2004 19 mar 2004 24 mar 2004 29 mar 2004 3 apr 2004 375 350 Number of Classes and Methods 400 325 375 DSI 300 350 275 325 250 300 1500 275 225 1400 250 200 225 1300 175 200 1200 150 175 125 150 1100 125 100 1000 100 75 900 75 50 800 50 25 25 700 00 600 23 f eb 2004 23 f eb 2004 28 f f eb2004 28 eb 2004 44mar 2004 mar 2004 9 9 mar 2004 mar 2004 14 mar 2004 19 mar 2004 24 mar 2004 29 mar 2004 3 3 apr 2004 14 mar 2004 19 mar 2004 24 mar 2004 29 mar 2004 apr 2004 500 Test Classes Test Methods Application Classes Application Methods 23 f eb 2004 28 f eb 2004 4 mar 2004 9 mar 2004 14 mar 2004 19 mar 2004 24 mar 2004 29 mar 2004 3 apr 2004 Test classes Test methods Application classes Application methods © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 18
19.
Risorse – Da
dove iniziare? © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 19
20.
Risorse – Da
dove iniziare? © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 20
21.
Domande?
Riferimenti: Sito XPLabs: http://www.xplabs.it Risorse: http://www.xplabs.it/risorse.html http://www.metodiagili.it Tecnica del Pomodoro: http://www.tecnicadelpomodoro.it EasyTracking: http://www.myagileprojects.com Gruppo XPLabs’ Friends- Italia: http://it.groups.yahoo.com/group/xplabs-friends/ Gruppo Extreme Programming - Italia: http://it.groups.yahoo.com/group/extremeprogramming-it/ Extreme Programming User Group – Italia: http://www.xpug.it/ © 2007 Francesco Cirillo Migliorare la produttività del software con XP XPLabs - S.R.L. 21