patterns for successful distributed development - agileee2009

25
© 2009 Mads Troels Hansen Patterns for Successful Distributed Development Mads Troels Hansen Agileee 2009, Kyiv, Ukraine

Upload: mads-troels-hansen

Post on 19-Aug-2015

1.004 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Patterns For Successful Distributed Development - Agileee2009

© 2009 Mads Troels Hansen

Patterns for Successful

Distributed Development

Mads Troels Hansen

Agileee 2009, Kyiv, Ukraine

Page 2: Patterns For Successful Distributed Development - Agileee2009

My background• Mads Troels Hansen

Agile and Lean Coach at BestBrains, Denmark. Mads has

more than 15 years of experience with software development,

as developer, project manager, product owner, CIO and CTO

in different companies. He is very experienced in working with

Scrum, Agile and Lean in a distributed environment and is

Certified Scrum Practitioner.

[email protected], +45 6082 2282

.

2September 09, © 2009 Mads Troels Hansen

Page 3: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Agile team

– Co-located, face-to-face collaboration

– Task board on the wall3September 09, © 2009 Mads Troels Hansen

Page 4: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• 8 Patterns for Successful Distributed

Development

4

Page 5: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Visibility and Transparency TRUST

– Use Google Docs or another online tool

– Physical task boards whenever possible5

Structure

Page 6: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Focus on problem solving

– DO regular retrospectives, online and offline

– Find root cause, not only symptoms6

Structure

Page 7: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Establish flow and remove bottlenecks

– Limit Work In Progress, CF Diagrams

– Value Stream Mapping7

Structure

Page 8: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• A normal way of folding hands

Structure

Page 9: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Change the structure

Structure

Page 10: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Regular rhythm in teams and between teams

– Planning, coordination, releases

– Establish a cadence10

Rhythm

Page 11: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Business and technical feedback rhythms

– Sneak preview, demonstrations

– Continuous Integration11

Rhythm

Page 12: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Highly automated and fast

– Simple tools

12

Technical

Infrastructure

Page 13: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Remove dependencies to other locations

– It must be fast to integrate and test

13

Technical

Infrastructure

Page 14: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Use VIDEO whenever possible

– Distributed face-to-face communication

– Use different tools for distributed communication

Communication

Protocols

14

Page 15: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Prepare the distributed meetings

– Use checklists and remember to ask questions

15

Communication

Protocols

Page 16: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Pomodoro technique

– Distributed team

– Local team

Communication

Protocols

16

Page 17: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Understand the vision and key features

– User Story Mapping, a picture of the whole system

– Innovation Games, learning from customers17

Shared

Product

Vision

Page 18: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Prepare requirements with acceptance criteria

– Easier to test and validate

– Focus on need not solution18

Shared

Product

Vision

Page 19: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• What you don’t know you don’t know

• Ask questions

• Innovation Games19

Domain

Knowledge

Page 20: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Physical outputs and business workflow

– Learn what the solution will produce

– Understand how the user will use it20

Domain

Knowledge

Page 21: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Slice the system by feature not layer

– Integrate and test in small steps

– Risk first21

Development

Practices

Page 22: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• From “Ready, Ready” to “Done, Done”

– Agree and define your “Done, Done” criteria

– Validate requirements with “Ready, Ready” criteria

Development

Practices

22

Page 23: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

• Regular face-to-face visits

– Distributed teams working together, same office

– Solve problems together23

Cross cultural

understanding

Page 24: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

Thank youSend me your distributed stories: [email protected]

24

People don’t resist

change, they resist being changed.

- Peter Scholtes

Page 25: Patterns For Successful Distributed Development - Agileee2009

September 09, © 2009 Mads Troels Hansen

References

• Innovation Games, Luke Hohmannwww.innovationgames.com

• User Story Mapping, Jeff Pattonhttp://www.agileproductdesign.com/presentations/user_story_mapping/index.html

• Distributed Pomodoro: CherryTomatohttp://www.chrylers.com/cherrytomato/

• Agile 2009 Paper: Agile for Distributed Teams

http://tinyurl.com/CmmiAgile