The Curse of The Agile Software Factory

Post on 16-May-2015

3,156 views 0 download

Tags:

description

Plase see: http://fragmental.tw/2009/10/24/speaking-in-brazil-and-last-years-slide-deck/

transcript

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