Upload
phil-calcado
View
3.156
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Plase see: http://fragmental.tw/2009/10/24/speaking-in-brazil-and-last-years-slide-deck/
Citation preview
The curse of the Agile Software Factory
Phillip CalçadoThoughtWorks
http://fragmental.twhttp://blog.fragmental.com.brhttp://www.thoughtworks.com
Who?
Phillip Calçado
Who?
Consultant
Phillip Calçado
Who?
ConsultantCoachPhillip Calçado
Who?
ConsultantCoach
Blogger
Phillip Calçado
Who?
ConsultantCoach
Blogger
Phillip Calçado~8 Years in this Industry
Who?
ConsultantCoach
Blogger
Phillip Calçado~8 Years in this Industry5 Agile years
Who?
ConsultantCoach
Blogger
Phillip Calçado~8 Years in this Industry5 Agile yearsTh
ough
tWor
ks
Who?
ConsultantCoach
Blogger
Phillip Calçado~8 Years in this Industry5 Agile yearsTh
ough
tWor
ks
Australia
Who?
Consultant
Developer
Coach
Blogger
Phillip Calçado~8 Years in this Industry5 Agile yearsTh
ough
tWor
ks
Australia
A CONSULTANT’S LIFE
Project #1
•“Traditional” Company•High skilled developers•Adopting agile saved the project years ago
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
10 2 3 54 6 7 98 1011
10 2 3 54 6 7 98 1011
Project #2
•Not-that-good team•Strict deadline•2 Architects•“A little bit” of up-front design to “reduce refactoring needs”
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
TO DO Doing Done
como usuarioeu quero fa
como usuarioeu quero fa
como usuarioeu quero fa
10 2 3 54 6 7 98 1011
10 2 3 54 6 7 98 1011
•All scope delivered•Ahead of schedule
Version 1.0
•All scope delivered•Ahead of schedule
Version 1.0
•Couple of new thingies•After two iterations the team gives up: code is unreadable. Big rewrite coming next.
Version 1.1
Causa Mortis?
como usuarioeu quero fa
Broken Cycles
Broken Cycle #1
Broken Cycle #1
=1 X/day
Broken Cycle #1
=1 X/day
Broken Cycle #1
=1 X/day
= heaps of X/day
Broken Cycle #1
Quebra de Ciclo #1Constant
Communication
Tests
Expressive Code
+
+
Quebra de Ciclo #1Constant
Communication
Tests
Expressive Code
+
+
Quebra de Ciclo #1Constant
Communication
Tests
Expressive Code
+
+
Shared Vision
Quebra de Ciclo #1Constant
Communication
Tests
Expressive Code
+
+
Shared Vision
Quebra de Ciclo #1
Minimal Documentation
Constant Communication
Tests
Expressive Code
+
+
Shared Vision
Quebra de Ciclo #1
Minimal Documentation
Constant Communication
Tests
Expressive Code
+
+
Waste Avoided
Shared Vision
Quebra de Ciclo #1
Minimal Documentation
Constant Communication
Tests
Expressive Code
+
+
Shared Vision
Quebra de Ciclo #1
Minimal Documentation
Constant Communication
Tests
Expressive Code
+
+
Shared Vision
Quebra de Ciclo #1
Minimal Documentation
Constant Communication
Tests
Expressive Code
+
+
Shared Vision
Quebra de Ciclo #1Constant
Communication
Tests
Expressive Code
+
+
Shared Vision
Broken Cycle #2
= $1
= $100
Broken Cycle #2
= $1
= $100
Broken Cycle #2
= $1
= $100= No Way!
Broken Cycle #2
= $1
= $100= No Way!
Broken Cycle #2
= $1
= $100= No Way!
Broken Cycle #2
Broken Cycle #2
Refactoring
Tests+
Broken Cycle #2
Refactoring
Tests+
Broken Cycle #2
Refactoring
Tests+ Code Quality
Broken Cycle #2
Refactoring
Tests+ Code Quality
Broken Cycle #2
Refactoring
Tests+ Code Quality
No need for BDUF
Broken Cycle #2
Refactoring
Tests+ Code Quality
No need for BDUF
Waste Avoided
Broken Cycle #2
Refactoring
Tests+ Code Quality
No need for BDUF
Broken Cycle #2
Refactoring
Tests+ Code Quality
No need for BDUF
Broken Cycle #2
Refactoring
Tests+ Code Quality
No need for BDUF
Broken Cycle #2
Refactoring
Tests+ Code Quality
So... should we go Agile or not?
Yep, but you better pay attention to
what you are doing.
...pay attention.
Experience isthe best guide you can get.
...pay attention.
Learn the concepts.
...pay attention.
No pain no gain.
...pay attention.
Remeber: this is about software.
...pay attention.
Try before removing practices.
...pay attention.
Understand before removing practices.
...pay attention.
Except if you are doing baby steps.
...pay attention.
Be careful with agile consultants.
...pay attention.
Only Continuous Improvement will save you.
?
Obrigado!
http://blog.fragmental.com.brhttp://fragmental.tw
http://www.thoughtworks.com