58
Distributed Agile: An oxymoron? [email protected] [email protected] © ThoughtWorks 2008

Distributed Agile: An Oxymoron?

Embed Size (px)

Citation preview

Page 1: Distributed Agile: An Oxymoron?

Distributed Agile: An oxymoron?

[email protected]@thoughtworks.com

© ThoughtWorks 2008

Page 2: Distributed Agile: An Oxymoron?

Agile = Co -locatedAgile = Co -located

© ThoughtWorks 2008

Page 3: Distributed Agile: An Oxymoron?

Agile Manifesto Principles

Business people and developers must worktogether daily throughout the project.

The most efficient and effective method ofconveying information to and within a development

team is face-to-face conversation.

© ThoughtWorks 2008

On-site customer

Collective CodeOwnership

XP Practices

Osmotic Communication

Easy access toexpert users

Crystal Clear(principles)

Active user involvement

DSDM (principles)

Unnecessary Movement

Lean Software Development

WaitingUnnecessary Transportation

Page 4: Distributed Agile: An Oxymoron?

Agile = Co-located

© ThoughtWorks 2008

Distributed = Different locations

Distributed Agile = An Oxymoron?

Page 5: Distributed Agile: An Oxymoron?

Enterprise Software

Large

SometimesDistributed

Business critical

Enterprise Software

© ThoughtWorks 2008

ComplexHeavily dependent

Page 6: Distributed Agile: An Oxymoron?

Our experience…

Large

Business critical

SometimesDistributed

Our experience…

© ThoughtWorks 2008

ComplexHeavily dependent

Page 7: Distributed Agile: An Oxymoron?

Distributed development looks easy

© ThoughtWorks 2008

Distributed development looks easy

(a slightly fictional story)

Page 8: Distributed Agile: An Oxymoron?

Once upon a time…Once upon a time…

© ThoughtWorks 2008

Page 9: Distributed Agile: An Oxymoron?

there was a team…there was a team…

© ThoughtWorks 2008

Page 10: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

Page 11: Distributed Agile: An Oxymoron?

working together on the same project…working together on the same project…

© ThoughtWorks 2008

Page 12: Distributed Agile: An Oxymoron?

……

……

Same project at the same location

© ThoughtWorks 2008

…… ……

……

Page 13: Distributed Agile: An Oxymoron?

everyone understood each other…everyone understood each other…

© ThoughtWorks 2008

Page 14: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

Page 15: Distributed Agile: An Oxymoron?

some people wanted the project distributed…some people wanted the project distributed…

© ThoughtWorks 2008

Page 16: Distributed Agile: An Oxymoron?

= ££££££

+= ££ + $$$$

© ThoughtWorks 2008

= ½ £££

Page 17: Distributed Agile: An Oxymoron?

(of course, it might be more than just £££s)(of course, it might be more than just £££s)

© ThoughtWorks 2008

Page 18: Distributed Agile: An Oxymoron?

they started work with new people in another place...

© ThoughtWorks 2008

Page 19: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

New

NewNew

New

Page 20: Distributed Agile: An Oxymoron?

life was great!life was great!

© ThoughtWorks 2008

Page 21: Distributed Agile: An Oxymoron?

they would talk over the phone...they would talk over the phone...

© ThoughtWorks 2008

Page 22: Distributed Agile: An Oxymoron?

……

…… ……

© ThoughtWorks 2008

……

Page 23: Distributed Agile: An Oxymoron?

and send email...and send email...

© ThoughtWorks 2008

Page 24: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

type type type…

Page 25: Distributed Agile: An Oxymoron?

sometimes things would take some time...sometimes things would take some time...

© ThoughtWorks 2008

Page 26: Distributed Agile: An Oxymoron?

I wonder what Jane meant by I wonder what Jane meant by

© ThoughtWorks 2008

Jane meant by that. I better send

an email...

Jane meant by that. I better send

an email...

… what’s the gobbleflux about …

Page 27: Distributed Agile: An Oxymoron?

That’s an easy one.

Here you go.

That’s an easy one.

Here you go.

… Gobbleflux? Onthe left …

© ThoughtWorks 2008

the left …

Page 28: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

On the left?

On the left?

… on the left of what? …

Page 29: Distributed Agile: An Oxymoron?

something that should have been ten minutessomething that should have been ten minutes

© ThoughtWorks 2008

Page 30: Distributed Agile: An Oxymoron?

stretches to several days...stretches to several days...

© ThoughtWorks 2008

Page 31: Distributed Agile: An Oxymoron?

!!!!!!

… To the left ofthe widget …

© ThoughtWorks 2008

the widget …

Page 32: Distributed Agile: An Oxymoron?

There’s a widget?

There’s a widget?

She’s not even

She’s not even

© ThoughtWorks 2008

widget?widget?

… What widget are you talking about? …

not even trying...not even trying...

Page 33: Distributed Agile: An Oxymoron?

Why doesn’t he understand?

Why doesn’t he understand?

… The breadcrumbswidget …

© ThoughtWorks 2008

widget …

Page 34: Distributed Agile: An Oxymoron?

things continue like that for three months...things continue like that for three months...

© ThoughtWorks 2008

Page 35: Distributed Agile: An Oxymoron?

until...until...

© ThoughtWorks 2008

Page 36: Distributed Agile: An Oxymoron?

I can’t wait to see...I can’t wait to see...They’re going to be impressed by this...They’re going to be impressed by this...

© ThoughtWorks 2008

Page 37: Distributed Agile: An Oxymoron?

A KEY LESSON

every physical boundary increases noise

© ThoughtWorks 2008

every physical boundary increases noise

Page 38: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

http://www.agilemodeling.com/essays/communication.htm

Page 39: Distributed Agile: An Oxymoron?

© ThoughtWorks 2008

Page 40: Distributed Agile: An Oxymoron?

cost of distributed development

© ThoughtWorks 2008

cost of distributed development

(is more than just people)

Page 41: Distributed Agile: An Oxymoron?

A more realistic formula

= ££££££+

= ££ + $$$$

½On-shore Distributed

© ThoughtWorks 2008

= ££££££ = ££ + $$$$+ Cost of (timely response and shared understanding)

Page 42: Distributed Agile: An Oxymoron?

Challenges of Distributed Development

Timely decisions

Trust and rapport

Visibility into progress

© ThoughtWorks 2008

Challenges of Distributed DevelopmentLook familiar?

Shared understandingWorking in the same way

It’s (almost) the same as co-located development... just much harder.

Page 43: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

Division by role

Functional teams

© ThoughtWorks 2008

Analysts Developers Testers Infrastructure

Page 44: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

© ThoughtWorks 2008

Cross functional teamsDivision by feature, not by role

Page 45: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

© ThoughtWorks 2008

Excellent relationship with the business

Page 46: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

© ThoughtWorks 2008

Speedy Escalation Paths

Page 47: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

Shared Culture

© ThoughtWorks 2008

Page 48: Distributed Agile: An Oxymoron?

Example: Sharing culture

© ThoughtWorks 2008

Page 49: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

© ThoughtWorks 2008

Shared Environments

Page 50: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

Shared sense of 3 P’s (Purpose, Priority, Plan)

© ThoughtWorks 2008

Page 51: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

© ThoughtWorks 2008

Frequent software demos

Page 52: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

Continuous Reflection and Improvement

© ThoughtWorks 2008

Page 53: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

© ThoughtWorks 2008

Frequent visits

Page 54: Distributed Agile: An Oxymoron?

Must haves for successful distributed development

Cross functional teams

Excellent relationship with the businessSpeedy Escalation Paths

Shared cultureShared environments Shared purpose, priority, plan

© ThoughtWorks 2008

Shared purpose, priority, plan

Frequent showcases Continue Reflection and improvement

Frequent visits

Page 55: Distributed Agile: An Oxymoron?

Good practices still hold

Tools that support distributed teams

Agile development practices

JIRA

Good practices still hold

© ThoughtWorks 2008

Visibility and transparencyof informationFace to face time

Frequent rotationPrinciples ofgood teams

Page 56: Distributed Agile: An Oxymoron?

Conclusion

Distributed Agile: An oxymoron?

© ThoughtWorks 2008

Page 57: Distributed Agile: An Oxymoron?

Questions and Comments?

© ThoughtWorks 2008

Questions and [email protected]

[email protected]

Page 58: Distributed Agile: An Oxymoron?

Flickr Creative Commons• Alarm: http://flickr.com/photos/chidorian/7666930/• Masonic handshake: http://flickr.com/photos/gaetanlee/159591865/• Plane: http://flickr.com/photos/volodimer/400350015/• East meets west: http://flickr.com/photos/evanosherow/2280507811/

Photo Credits

Free wallpaper• Matrix wallpaper: http://www.wallpaperbase.com/wallpapers/movie/matrix/matrix_5.jpg

© ThoughtWorks 2008