Date post: | 19-Aug-2015 |
Category: |
Technology |
Upload: | mads-troels-hansen |
View: | 732 times |
Download: | 1 times |
© 2009, 2010, 2011 Mads Troels Hansen
Offshore Software Patterns What system must be in place?
ALE 2011, September 2011
Mads Troels Hansen
Fujitsu Denmark
Rev 07092011, ALE
© 2009, 2010, 2011 Mads Troels Hansen 2
• Why patterns for offshore development?
– Avoid/limit common global problems
– Improve Thrust, Quality, Productivity and ROI
Customer
Shareholders
Employees
© 2009, 2010, 2011 Mads Troels Hansen 3
• Main Patterns described using the form
– Problem. Therefore, Solution.
A pattern, simplistically put, is a
solution to a problem in a context.
A pattern language is the
sequence of patterns (graph) and the
patterns
http://www.scrumplop.org
Get
Water
Drink
Often
Save
for later
Share
Water
xxxxx
http://www.hillside.net/patterns
© 2009, 2010, 2011 Mads Troels Hansen 4
• 9 Main Patterns and 27 Related Patterns
• My own experience with Distributed Work (since 2004)
– Primarily Asia and Eastern Europe
4
Balance
© 2009, 2010, 2011 Mads Troels Hansen 66
Global
Management
System
”Too many managers with
multiple directions and
bottlenecks”
• Main Pattern
© 2009, 2010, 2011 Mads Troels Hansen 77
Global
Management
System
• Patterns
Step back and
design ONE
global system
Establish
Fast Problem
Solving
Do Gemba
Walks Offshore
© 2009, 2010, 2011 Mads Troels Hansen 8
• Main Pattern
8
”Many offshore
<resources> and Mistrust”
Global
Structure
© 2009, 2010, 2011 Mads Troels Hansen 9
• Patterns
9
Global
Structure
Design
Global Value
Streams
Establish Daily
Transparency
Balance Demand
and Capacity
Demand Throughput
© 2009, 2010, 2011 Mads Troels Hansen 10
• Main Pattern
10
Global
Rhythm
”Deadlines not respected
and finding bugs late”
© 2009, 2010, 2011 Mads Troels Hansen 11
• Patterns
11
Global
Rhythm
Implement
Incremental
and Iterative
Regular
Sneak
Previews
Fast
Feedback
Culture
© 2009, 2010, 2011 Mads Troels Hansen 12
• Main Pattern
12
Global
Technical
Infrastructure
”Complex and labor-
intensive deployments”
© 2009, 2010, 2011 Mads Troels Hansen 1313
Global
Technical
Infrastructure
• Patterns
Simplify then
Automate
Baseline core
standards
Teach the
infrastructure
© 2009, 2010, 2011 Mads Troels Hansen 14
• Main PatternGlobal
Communication
Protocols
14
”Global Meetings are
painful and waste of time”
© 2009, 2010, 2011 Mads Troels Hansen 15
• Patterns
Global
Communication
Protocols
15
Daily Video
Meetings
Establish
Communication
Toolbox
Meeting
purpose and
owners
© 2009, 2010, 2011 Mads Troels Hansen 16
Global
Development
Practices
16
“Problems with quality
code and DONE”
• Main Pattern
© 2009, 2010, 2011 Mads Troels Hansen 17
• Patterns
Global
Development
Practices
17
Define Global
DONE
Global Code
Review
Cadence
Global Source
Control
© 2009, 2010, 2011 Mads Troels Hansen 18
• Main Pattern
18
Global Req
Management
“Requirements are
misunderstood”
© 2009, 2010, 2011 Mads Troels Hansen 19
• Patterns
19
Global Req
Management
Do
Requirement
Validation
Slice and
Iterate
understanding
Communicate
the onion
© 2009, 2010, 2011 Mads Troels Hansen 2020
Global
Domain
Knowledge
“Wrong Business
Understanding”
• Main Pattern
© 2009, 2010, 2011 Mads Troels Hansen 2121
Global
Domain
Knowledge
My background
is not your
background
Build Shared
Domain models
Tell stories
about the
obvious
• Patterns
© 2009, 2010, 2011 Mads Troels Hansen 22
• Main Pattern
22
Cross cultural
understanding
“We are not working
together and it is more us
and them!”
© 2009, 2010, 2011 Mads Troels Hansen 23
• Patterns
23
Cross cultural
understanding
Rotate
People
Frequently
Find People
with a Global
Mindset
Shared view on
behaviors and
standards
© 2009, 2010, 2011 Mads Troels Hansen
Offshore Software Patterns
Global
Structure
Global
Rhythm
Global Req.
Management
Global
Communication
Protocols
Global
Technical
Infrastructure
Global
Domain
Knowledge
Global
Development
Practices
Cross cultural
understanding
Global
Management
System
HOW to work Global WHAT to Deliver GlobalWHY to work Global
© 2009, 2010, 2011 Mads Troels Hansen 25
Offshore Software Patterns
“Real solutions to common Offshore Software
problems that arise in different contexts”
@madsth
blog.lean-agile.dk