Top Banner
© 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
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Offshore Software Patterns

© 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

Page 2: Offshore Software Patterns

© 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

Page 3: Offshore Software Patterns

© 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

Page 4: Offshore Software 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

Page 5: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 5

Page 6: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 66

Global

Management

System

”Too many managers with

multiple directions and

bottlenecks”

• Main Pattern

Page 7: Offshore Software Patterns

© 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

Page 8: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 8

• Main Pattern

8

”Many offshore

<resources> and Mistrust”

Global

Structure

Page 9: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 9

• Patterns

9

Global

Structure

Design

Global Value

Streams

Establish Daily

Transparency

Balance Demand

and Capacity

Demand Throughput

Page 10: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 10

• Main Pattern

10

Global

Rhythm

”Deadlines not respected

and finding bugs late”

Page 11: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 11

• Patterns

11

Global

Rhythm

Implement

Incremental

and Iterative

Regular

Sneak

Previews

Fast

Feedback

Culture

Page 12: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 12

• Main Pattern

12

Global

Technical

Infrastructure

”Complex and labor-

intensive deployments”

Page 13: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 1313

Global

Technical

Infrastructure

• Patterns

Simplify then

Automate

Baseline core

standards

Teach the

infrastructure

Page 14: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 14

• Main PatternGlobal

Communication

Protocols

14

”Global Meetings are

painful and waste of time”

Page 15: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 15

• Patterns

Global

Communication

Protocols

15

Daily Video

Meetings

Establish

Communication

Toolbox

Meeting

purpose and

owners

Page 16: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 16

Global

Development

Practices

16

“Problems with quality

code and DONE”

• Main Pattern

Page 17: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 17

• Patterns

Global

Development

Practices

17

Define Global

DONE

Global Code

Review

Cadence

Global Source

Control

Page 18: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 18

• Main Pattern

18

Global Req

Management

“Requirements are

misunderstood”

Page 19: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 19

• Patterns

19

Global Req

Management

Do

Requirement

Validation

Slice and

Iterate

understanding

Communicate

the onion

Page 20: Offshore Software Patterns

© 2009, 2010, 2011 Mads Troels Hansen 2020

Global

Domain

Knowledge

“Wrong Business

Understanding”

• Main Pattern

Page 21: Offshore Software Patterns

© 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

Page 22: Offshore Software 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!”

Page 23: Offshore Software Patterns

© 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

Page 24: Offshore Software Patterns

© 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

Page 25: Offshore Software Patterns

© 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