XP Day 2009 (London) - Patterns For Successful Distributed Development Xpday London 07122009

27
December 09, © 2009 BestBrains, Mads Troels Hansen Patterns for Successful Distributed Development [email protected] XPDays London, December 7 th 2009

Transcript of XP Day 2009 (London) - Patterns For Successful Distributed Development Xpday London 07122009

December 09, © 2009 BestBrains, Mads Troels Hansen

Patterns for Successful

Distributed Development

[email protected]

XPDays London, December 7th 2009

December 09, © 2009 BestBrains, Mads Troels Hansen

My background• Mads Troels Hansen - BestBrains

Agile and Lean Coach, Management Consultant

• Development Director at Omada

7 different nationalities, products, projects and support, 4

teams

• Development Director, co-founder at SoftwarePeople

Products, projects and hosting, 6 teams

Offshore in Bangladesh: SoftwarePeople Ltd, 25+ people

• Development Manager at NetPeople

15+ nationalities, 2 teams

• IT Director at PeopleGroup

Offshore graphical production in Bangladesh.

Also experience as developer, architect, project manager.

December 09, © 2009 BestBrains, Mads Troels Hansen 3

• Distributed Agile?

• Easy to do?

3rd Annual Survey: 2008

“The State of Agile Development”

December 09, © 2009 BestBrains, Mads Troels Hansen 4

• 8 Patterns for Successful Distributed

Development

4

December 09, © 2009 BestBrains, Mads Troels Hansen 5

December 09, © 2009 BestBrains, Mads Troels Hansen 6

• A normal way of folding hands

Structure

6

December 09, © 2009 BestBrains, Mads Troels Hansen 7

• Change the structure

Structure

7

December 09, © 2009 BestBrains, Mads Troels Hansen 8

• Visibility and Transparency TRUST

– Use Google Docs or another online tool

– Physical task boards whenever possible8

Structure

December 09, © 2009 BestBrains, Mads Troels Hansen 9

• Focus on problem solving

– DO regular retrospectives, online and offline

– Find root cause, not only symptoms9

Structure

December 09, © 2009 BestBrains, Mads Troels Hansen 10

• Establish flow and remove bottlenecks

– Limit Work In Process, CF Diagrams

– Value Stream Mapping – process mapping10

Structure

December 09, © 2009 BestBrains, Mads Troels Hansen 11

• Regular rhythm in teams and between teams

– Planning, coordination, releases

– Establish a cadence11

Rhythm

December 09, © 2009 BestBrains, Mads Troels Hansen 12

• Business and technical feedback rhythms

– Sneak preview, demonstrations

– Continuous Integration12

Rhythm

December 09, © 2009 BestBrains, Mads Troels Hansen 13

• Automated and fast

– Simple tools

13

Technical

Infrastructure

December 09, © 2009 BestBrains, Mads Troels Hansen 14

• Remove dependencies to other locations

– It must be fast to integrate and test

14

Technical

Infrastructure

December 09, © 2009 BestBrains, Mads Troels Hansen 15

• Define your communication toolbox

– Combine the tools

Communication

Protocols

15

December 09, © 2009 BestBrains, Mads Troels Hansen 16

• Prepare the distributed meetings

– Define agendas, purpose and responsible

– Use checklists and remember to ask questions16

Communication

Protocols

December 09, © 2009 BestBrains, Mads Troels Hansen 17

• Pomodoro for distributed teams

Communication

Protocols

17

December 09, © 2009 BestBrains, Mads Troels Hansen 18

• Understand the vision and key features

– User Story Mapping, a picture of the whole system

– Innovation Games, learning from customers18

Shared

Product

Vision

December 09, © 2009 BestBrains, Mads Troels Hansen 19

• Prepare requirements with acceptance criteria

– Easier to test and validate

– Focus on need not only solution19

Shared

Product

Vision

December 09, © 2009 BestBrains, Mads Troels Hansen 20

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

- Ask questions

- Innovation Games20

Domain

Knowledge

December 09, © 2009 BestBrains, Mads Troels Hansen 21

• Physical outputs and business workflow

– Learn what the solution will produce

– Understand how a user will use the system21

Domain

Knowledge

December 09, © 2009 BestBrains, Mads Troels Hansen 22

• Slice the system by feature not layer

– Integrate and test in small steps

– Risk first22

Development

Practices

December 09, © 2009 BestBrains, Mads Troels Hansen 23

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

– Agree and define your “Done, Done” criteria

– Validate requirements with “Ready, Ready” criteria

Development

Practices

23

December 09, © 2009 BestBrains, Mads Troels Hansen 24

• Regular face-to-face visits

– Distributed teams working together, same office

– Solve problems together24

Cross cultural

understanding

December 09, © 2009 BestBrains, Mads Troels Hansen

8 Patterns for successful distributed development

Structure

Rhythm

Shared

Product Vision

Communication

Protocols

Technical

Infrastructure

Domain

Knowledge

Development

Practices

Cross cultural

understanding•Transparency, Visibility

•Establish Flow

•Remove Bottlenecks

•Value Stream Mapping

•Problem solving

•Business feedback

•Technical feedback

•Establish a cadence

•Continuous integration

•Fast

•Limit dependencies

•Automated

•Simple

•Test first

•Emergent Design

•Done, Done

•By feature

•Refactoring

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

•Business Workflow

•Mind maps

•Innovation Games

•Solve problem together

•Work Face-to-face

•Understand the vision

•Key Features

•Story Mapping

•Acceptance Criteria

•Ready, Ready

•Establish a Toolbox

•Use Video

•Combine tools 25

December 09, © 2009 BestBrains, Mads Troels Hansen 26

Thank youSend me your distributed stories: [email protected]

People don’t resist

change, they resist being changed.

- Peter Scholtes

@MadsTH

December 09, © 2009 BestBrains, Mads Troels Hansen

References

• Innovation Games, Luke Hohmann

www.innovationgames.com

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

• Distributed Pomodoro: CherryTomato

http://www.chrylers.com/cherrytomato/

• Agile 2009 Paper: Agile for Distributed

Teams http://bit.ly/cmmiagile