Distributed Agile: An Oxymoron?

Post on 08-May-2015

782 views 1 download

Transcript of Distributed Agile: An Oxymoron?

Distributed Agile: An oxymoron?

elizabeth.keogh@thoughtworks.compatrick.kua@thoughtworks.com

© ThoughtWorks 2008

Agile = Co -locatedAgile = Co -located

© ThoughtWorks 2008

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

Agile = Co-located

© ThoughtWorks 2008

Distributed = Different locations

Distributed Agile = An Oxymoron?

Enterprise Software

Large

SometimesDistributed

Business critical

Enterprise Software

© ThoughtWorks 2008

ComplexHeavily dependent

Our experience…

Large

Business critical

SometimesDistributed

Our experience…

© ThoughtWorks 2008

ComplexHeavily dependent

Distributed development looks easy

© ThoughtWorks 2008

Distributed development looks easy

(a slightly fictional story)

Once upon a time…Once upon a time…

© ThoughtWorks 2008

there was a team…there was a team…

© ThoughtWorks 2008

© ThoughtWorks 2008

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

© ThoughtWorks 2008

……

……

Same project at the same location

© ThoughtWorks 2008

…… ……

……

everyone understood each other…everyone understood each other…

© ThoughtWorks 2008

© ThoughtWorks 2008

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

© ThoughtWorks 2008

= ££££££

+= ££ + $$$$

© ThoughtWorks 2008

= ½ £££

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

© ThoughtWorks 2008

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

© ThoughtWorks 2008

© ThoughtWorks 2008

New

NewNew

New

life was great!life was great!

© ThoughtWorks 2008

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

© ThoughtWorks 2008

……

…… ……

© ThoughtWorks 2008

……

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

© ThoughtWorks 2008

© ThoughtWorks 2008

type type type…

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

© ThoughtWorks 2008

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 …

That’s an easy one.

Here you go.

That’s an easy one.

Here you go.

… Gobbleflux? Onthe left …

© ThoughtWorks 2008

the left …

© ThoughtWorks 2008

On the left?

On the left?

… on the left of what? …

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

© ThoughtWorks 2008

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

© ThoughtWorks 2008

!!!!!!

… To the left ofthe widget …

© ThoughtWorks 2008

the widget …

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...

Why doesn’t he understand?

Why doesn’t he understand?

… The breadcrumbswidget …

© ThoughtWorks 2008

widget …

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

© ThoughtWorks 2008

until...until...

© ThoughtWorks 2008

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

A KEY LESSON

every physical boundary increases noise

© ThoughtWorks 2008

every physical boundary increases noise

© ThoughtWorks 2008

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

© ThoughtWorks 2008

cost of distributed development

© ThoughtWorks 2008

cost of distributed development

(is more than just people)

A more realistic formula

= ££££££+

= ££ + $$$$

½On-shore Distributed

© ThoughtWorks 2008

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

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.

Must haves for successful distributed development

Division by role

Functional teams

© ThoughtWorks 2008

Analysts Developers Testers Infrastructure

Must haves for successful distributed development

© ThoughtWorks 2008

Cross functional teamsDivision by feature, not by role

Must haves for successful distributed development

© ThoughtWorks 2008

Excellent relationship with the business

Must haves for successful distributed development

© ThoughtWorks 2008

Speedy Escalation Paths

Must haves for successful distributed development

Shared Culture

© ThoughtWorks 2008

Example: Sharing culture

© ThoughtWorks 2008

Must haves for successful distributed development

© ThoughtWorks 2008

Shared Environments

Must haves for successful distributed development

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

© ThoughtWorks 2008

Must haves for successful distributed development

© ThoughtWorks 2008

Frequent software demos

Must haves for successful distributed development

Continuous Reflection and Improvement

© ThoughtWorks 2008

Must haves for successful distributed development

© ThoughtWorks 2008

Frequent visits

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

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

Conclusion

Distributed Agile: An oxymoron?

© ThoughtWorks 2008

Questions and Comments?

© ThoughtWorks 2008

Questions and Comments?elizabeth.keogh@thoughtworks.com

patrick.kua@thoughtworks.com

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