offshore software patterns

25
© 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

Upload: mads-troels-hansen

Post on 19-Aug-2015

729 views

Category:

Technology


1 download

TRANSCRIPT

© 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 5

© 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

[email protected]

blog.lean-agile.dk