Patterns For Successful Distributed Development - Agileee2009

Post on 19-Aug-2015

1.004 views 3 download

Tags:

Transcript of Patterns For Successful Distributed Development - Agileee2009

© 2009 Mads Troels Hansen

Patterns for Successful

Distributed Development

Mads Troels Hansen

Agileee 2009, Kyiv, Ukraine

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.

mth@bestbrains.dk, +45 6082 2282

.

2September 09, © 2009 Mads Troels Hansen

September 09, © 2009 Mads Troels Hansen

• Agile team

– Co-located, face-to-face collaboration

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

September 09, © 2009 Mads Troels Hansen

• 8 Patterns for Successful Distributed

Development

4

September 09, © 2009 Mads Troels Hansen

• Visibility and Transparency TRUST

– Use Google Docs or another online tool

– Physical task boards whenever possible5

Structure

September 09, © 2009 Mads Troels Hansen

• Focus on problem solving

– DO regular retrospectives, online and offline

– Find root cause, not only symptoms6

Structure

September 09, © 2009 Mads Troels Hansen

• Establish flow and remove bottlenecks

– Limit Work In Progress, CF Diagrams

– Value Stream Mapping7

Structure

September 09, © 2009 Mads Troels Hansen

• A normal way of folding hands

Structure

September 09, © 2009 Mads Troels Hansen

• Change the structure

Structure

September 09, © 2009 Mads Troels Hansen

• Regular rhythm in teams and between teams

– Planning, coordination, releases

– Establish a cadence10

Rhythm

September 09, © 2009 Mads Troels Hansen

• Business and technical feedback rhythms

– Sneak preview, demonstrations

– Continuous Integration11

Rhythm

September 09, © 2009 Mads Troels Hansen

• Highly automated and fast

– Simple tools

12

Technical

Infrastructure

September 09, © 2009 Mads Troels Hansen

• Remove dependencies to other locations

– It must be fast to integrate and test

13

Technical

Infrastructure

September 09, © 2009 Mads Troels Hansen

• Use VIDEO whenever possible

– Distributed face-to-face communication

– Use different tools for distributed communication

Communication

Protocols

14

September 09, © 2009 Mads Troels Hansen

• Prepare the distributed meetings

– Use checklists and remember to ask questions

15

Communication

Protocols

September 09, © 2009 Mads Troels Hansen

• Pomodoro technique

– Distributed team

– Local team

Communication

Protocols

16

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

September 09, © 2009 Mads Troels Hansen

• Prepare requirements with acceptance criteria

– Easier to test and validate

– Focus on need not solution18

Shared

Product

Vision

September 09, © 2009 Mads Troels Hansen

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

• Ask questions

• Innovation Games19

Domain

Knowledge

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

September 09, © 2009 Mads Troels Hansen

• Slice the system by feature not layer

– Integrate and test in small steps

– Risk first21

Development

Practices

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

September 09, © 2009 Mads Troels Hansen

• Regular face-to-face visits

– Distributed teams working together, same office

– Solve problems together23

Cross cultural

understanding

September 09, © 2009 Mads Troels Hansen

Thank youSend me your distributed stories: mth@bestbrains.dk

24

People don’t resist

change, they resist being changed.

- Peter Scholtes

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