XP Day 2009 (London) - Patterns For Successful Distributed Development Xpday London 07122009
-
Upload
mads-troels-hansen -
Category
Documents
-
view
549 -
download
0
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
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 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