agil udvikling i maersk line v. bestbrains

41
Lean-agile practice adoption Chris Berridge 24 th April 2012

Upload: bestbrainsdk

Post on 27-Jun-2015

528 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Agil udvikling i Maersk Line v. BestBrains

Lean-agile practice adoption

Chris Berridge

24th April 2012

Page 2: Agil udvikling i Maersk Line v. BestBrains

About Maersk Line

• Worlds largest container fleet

• Truely global business

• 14.5% world market share [1]

• 570 container vesssels

• Turnover $24 billion [2]

[1] Source: Alphaliner Jan 2011 [2] Source: Annual Report 2010

Page 3: Agil udvikling i Maersk Line v. BestBrains

Fragmented IT Landscape

• Thin outsourcing model

• Tier 1 vendors only

• 2,500 applications

• Core applications are tightly

coupled

• 23,000 bookings/day

Page 4: Agil udvikling i Maersk Line v. BestBrains

How we started the lean-agile journey?

New Project, Platform, Team

Revolutionary

Existing Project, Platform, Team

Evolutionary

Lean Product Development

Page 5: Agil udvikling i Maersk Line v. BestBrains

Under Maersk Lines paraplystrategi - streamLINE - er der i værksat en række initiativer, der sikre at rederiet bliver endnu mere konkurrencedygtige gennem industriens bedste leveringssikkerhed, fortsatte CO2-reducerende initiativer og sidste men ikke mindst ved at sætte kunden i fokus, oplyser Eivind Kolding til Klaus Lund & Partneres nyhedsbrev.

X-Leap er Maersk Lines største og vigtigste af disse programmer. Formålet er at gøre det ligeså enkelt at booke en container hos os som en bog hos Amazon.com

X-leap: The goal

Source: http://epn.dk/brancher/transport/skib/article2069838.ece

Maersk Line CEO

Page 6: Agil udvikling i Maersk Line v. BestBrains

X-leap: How we sold agile to our stakeholders

USI WebSimon

P&O Nedloyd

career. maersk.com

eProfile (SCV)

iReceivables (MLIS)

World map

VMLO (CAF)

ATS2

eXport booking

eXport documen-tation

SFX (document pouch)

SCV

RKST

GSMS

MARS

SAF marine eRates

Message broker

MEPC

NGP3 GEO

NGP3 office

NGP3 mall

SAF marine portal

RKEM GEO mainframe

MCS GCSS IBM payment systems

MEX (MLIS)

SAF marine sailing schedules

einfo www. maersk.com

Mondo-search

LivePerson

Emergency pages

Reference-Data

MARS service

Rates

Schedules

GUPS

Followup shipments

CCC

ePayment

Payment system service

eDB

Phone book 3

Tracking 3

sROE

Portal

Office WS client/portal service

MailService

MEPC W8

▪ 100’s of backend systems ▪ Convoluted and unstable application

architecture ▪ Inconsistent master data ▪ High product complexity

– More than 20 000 lines in some contracts – More than 500 commodity types

Maersk is complex Two delivery approaches are common

Our approach is fundamentally different

1. Waterfall 2. Prototyping

No customer facing functionality for the first 18-24 months

Lots of functionality early, but no connection to backend

Agile SOA

Minimal set of customer facing functionality delivered with true backend connections as early as possibly (in our case 9–10 months)

Service bus

Page 7: Agil udvikling i Maersk Line v. BestBrains

X-leap: What we got right from the outset

• Strong customer focus

• Clear customer experience vision created

• Co-location

• Shared Key Performance Indicators for whole team

• Onboard experienced people

• Willingness to experiment with new approaches

• Great senior leadership support

Page 8: Agil udvikling i Maersk Line v. BestBrains

X-leap: 22 practices we (now) know that need to master • Visualised Flow and Process

• Continuous Delivery

• Continuous Integration

• Test Driven Development

• Automated Developer (Unit) Tests

• Release Often

• Evolutionary Design

• Simple Design

• Automated Acceptance (Functional) Tests

• Refactoring

• Collective Code Ownership

• Definition of Done

• End2End Iterations

• Single Prioritised Backlog

• Limit Work-in-Progress

• Test Driven Requirements

• Feature Teams

• Customer (proxy) Part Of The Team

• Stand Up Meetings

• Demo

• Pair Programming (To Drive Standards)

• Pair Programming (To Ease Platform

Constraints)

Page 9: Agil udvikling i Maersk Line v. BestBrains
Page 10: Agil udvikling i Maersk Line v. BestBrains

X-leap: A feature team in action

Page 11: Agil udvikling i Maersk Line v. BestBrains

X-leap: Learnings within team

Manage requirements

• Prioritise effectively between functional & non-functional

requirements

• Break down requirements and agree on what size is appropriate

• Need a process vision to support a customer experience vision

Iteration 0 is surprisingly large

• e.g. Reducing hardening phase took forever

Page 12: Agil udvikling i Maersk Line v. BestBrains

X-leap: Value stream analysis for a feature

X-leap: Root cause analysis for why hardening phase takes so long

Page 13: Agil udvikling i Maersk Line v. BestBrains

X-leap: Learnings within team

Manage the change

• Engage advisors who focus on optimising the whole

• Own and manage practice adoption progress

Minimise thrashing

• E.g. We still struggle to measure velocity due to constant changes

Page 14: Agil udvikling i Maersk Line v. BestBrains

X-leap: Learnings outside team

Stakeholders need careful management

• Reluctant to exchange predictability for speed

• Difficult to explain refactoring & technical debt

• High expectations of delivering fast

Dependencies external to the development team are a

headache

• Feature teams help but are no silver bullet

• There’s no replacement for good project management to identify

and manage external dependencies

• Others have to change their working practice (architects,

infrastructure, other applications)

Page 15: Agil udvikling i Maersk Line v. BestBrains

How we are completing the lean-agile journey.

New Project, Platform, Team

Revolutionary

Existing Project, Platform, Team

Evolutionary

Lean Product Development

Page 16: Agil udvikling i Maersk Line v. BestBrains

0

200

400

600

# R

equirem

ents

Days

Median = 150 days

Source: Focal Point – requirements that have been put into production over the last 2yrs,

measured from date of creation to when set to working-in-production

Over last 24 mo

Med = 280 days

GCSS

Over last 12 mo

Med = 373 days

GCSS

Cycle Time Analysis

Page 17: Agil udvikling i Maersk Line v. BestBrains

Lean Product

Development

Agile

GCSS: Framing the methodologies

SCRUM

Enterprise

Practices

Team

Practices

Project

Practices

XP*

Engineering

Practices

* Extreme Programming

Page 18: Agil udvikling i Maersk Line v. BestBrains

Discovery Mindset

Customer doesn’t really

know what they want The developer doesn’t

really know how to build it Things change

Enabling Agility

Fast cycle

Time

Smooth

Flow

Fast

Feedback

Value

Maximised

Business Agility

Page 19: Agil udvikling i Maersk Line v. BestBrains

GCSS: 8 selected practices

1. Get to initial prioritisation faster

2. Improve prioritisation

3. Pull Requirements from Dynamic Priority List

4. Reduce size of requirements

5. Get to the point of writing code quickly

6. Actively manage Work-In-Progress (WIP)

7. Enable Faster Feedback

8. Enable more frequent releases

Page 20: Agil udvikling i Maersk Line v. BestBrains

GCSS: Release Frequency The effect of creating large release batches upstream

Requir

em

ents

S Des Dev T

Apr

S Des Dev T

S Des Dev T

S Des Dev T

R22

R23

R24

R25

Jul Jan 2011

Oct Jan 2012

Dev Dev Dev Dev

Estimated ~10,000 hours of idle time in 2010

Development

Perspective:

Page 21: Agil udvikling i Maersk Line v. BestBrains

T Dev Des S

GCSS: More Frequent Releases Enable the smooth flow of requirements

Requir

em

ents

Releases

Page 22: Agil udvikling i Maersk Line v. BestBrains

Faster Feedback Eight Standard Measures

Requirement captured

Requirement validated

Started coding

Integrated & built

Completedcoding

Decided for launch

Launched in production

Feasible Demonstrated

Accepted

Launched

Code complete

Feature complete

Require-ments

Release candidate

Code

Launchable

Page 23: Agil udvikling i Maersk Line v. BestBrains

Faster Feedback Comparing GCSS with the X-leap on the Eight Measures

All times are in days

Page 24: Agil udvikling i Maersk Line v. BestBrains

Department Slide no.

24

GCSS: Actively Manage Work-in-Progress

WIP LIMIT of 8 on bottleneck

Page 25: Agil udvikling i Maersk Line v. BestBrains

6,0 5,2

6,1

7,9 8,8

6,4 7,1

Rel 19-

22

R23 R24 R25 R26 R27 R28

46

190

# R

eq

uir

em

en

ts*

GCSS: Work-in-Progress reduced

Oct 2010 Jan 2012

76%

…whilst at least maintaining throughput

*”Authorized” to “Launched”

Guesstimate points/week

Page 26: Agil udvikling i Maersk Line v. BestBrains

GCSS: Requirement size variability

Guesstimate Points

Max. size

<2 weeks

# R

eq

uir

em

en

ts

Before

After

Page 27: Agil udvikling i Maersk Line v. BestBrains

GCSS: Standardized Upstream Process Get to initial prioritisation faster Get to point of writing code quickly

<1 week <2 weeks

Triage Dynamic

Priority

List Max 5

Refine Pull to coding…

Dev

Buffer

Expect >10% attrition

otherwise upstream

process is too heavy

Quickly identify the

ideas that will be the

most profitable

Page 28: Agil udvikling i Maersk Line v. BestBrains

Average Rel18-Rel22 Average Rel23-Rel28

E1+E2 Defects raised in HOAT 8,2 1,0

Production slippage (in days) 11,2 2,2

Patches 2wks after Prod 2,0 0,3

0,0

2,0

4,0

6,0

8,0

10,0

12,0

GCSS: Quality improvements

Defe

cts

Dela

ys

Patc

hes

Up to June 2011 Since July 2011

Releases 2010-2011

-88% Defects

-85% Patches

-80% Delays

Page 29: Agil udvikling i Maersk Line v. BestBrains

GCSS: Cycle time Average time elapsed from starting work to released

Refine Realise Release

208 days

104 Days

Half the

time

*No data for R18, R19

0 50 100 150 200

Releases 11 to 22*

Rel 23

Rel 24

Rel 25

Rel 26

Rel 27

Rel 28

Page 30: Agil udvikling i Maersk Line v. BestBrains

Rolling out!

Rollout Starter Pack to all delivery streams

May 2011 Jan 2012 Feb 2011

GCSS Pilot

Sept 2011

Hermes

SAP

SOA

Aug 2012

Systemic issues

London

Masterdata

EDI

Page 31: Agil udvikling i Maersk Line v. BestBrains

Slide no.

31

Department

Page 32: Agil udvikling i Maersk Line v. BestBrains

Technical debt

Environment provisioning

Deployment

Monitoring & improvement

Build & test

All batch testing of requirements and the subsequent deployment to production takes 7 days or less

All environments can be recreated using the same automated process

All deployments are automated (including schemas, migrations & platform/application configuration)

Any standard production environments required are provisioned within a month

Build, test & deployment process performance is measured and continually improved upon

Any new environments (excluding production) required are provisioned within a week

Repaying technical debt is prioritized alongside other requirements

How to monitor production health is an integral part of the design

Engineering Quality Checklist New delivery teams need to adopt these as soon as possible in order to build quality in and establish a foundation for sustainable delivery of value.

Test stubs ensure all automated tests are independent of other systems (excl. network & integration tests)

A build is completed within 20 mins of code check-in and is then deployed to a non-production environment

The build runs all unit tests, regression tests and all non-manual acceptance tests

Some performance tests are run at least daily

Broken builds are fixed (or the check-in is reverted) before more code is checked-in

The load-to-failure threshold is identified

Test coverage and code quality metrics are monitored

Development

A developer’s environment & tools are built from a standard configuration within 2 hours

Developers have collective code ownership & responsibility

User interface tests & unit tests are run by the developer before code check-in

Developers check-in code to the repository at least daily

Source control branches are frequently merged (every 2 weeks or less)

All assets are checked into a single repository (code, config., test scripts, schemas, migration scripts etc)

All programmatic interfaces are permanently available to other systems for integration testing v1.0

12-2-2012

The team regularly takes time to identify and record technical debt

Non-functional requirements are identified and prioritised alongside other requirements

Testing is prioritised using a risk-based approach

Updates are deployed to production without customer downtime

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

Page 33: Agil udvikling i Maersk Line v. BestBrains

Learning from rollout so far

• Practices seem to work everywhere

• Mature teams are generally more receptive than newer ones

• The know their process and that it needs improvement

• As with all change programmes, a couple of key individuals in the

team can make a huge difference

• Personnel turnover make changes hard to stick

• There are systemic issues which need addressing

Slide no. 33 Department

Page 34: Agil udvikling i Maersk Line v. BestBrains

What next for Maersk Line?

• Legacy: Rollout 8 starter

pack practices for all legacy

applications

• New: Additional practices for

our new Service Oriented

”vision platform”

Department Slide no.

34

Max

90 days

cycle time

Max

30 days

cycle time

Page 35: Agil udvikling i Maersk Line v. BestBrains

Slide no. 35

Department

Page 36: Agil udvikling i Maersk Line v. BestBrains

Slow burn - stakeholder education

Page 37: Agil udvikling i Maersk Line v. BestBrains

Variable Typical measures Usual outcomes Alternative measures

Time Delivering on a

predicted date

Incentivises hidden time

buffers and slower delivery

Maximise speed in getting to

the point where value starts

to be realised

Scope Delivering all of the

originally predicted

scope

Incentivises gold plating and

discourages exploitation of

learning.

Minimize size of work

packages to maximize both

learning and early release of

value

Cost Delivering at or

below a predicted

development cost

Incentivises hidden cost

contingencies, pushing

costs up.

Maximize value delivered

(trade development cost

against the opportunity cost

of delay)

Quality Delivering changes

with zero

downtime and no

errors

Resistance to making any

changes. Overinvestment in

testing & documentation.

Shorten feedback cycles at

many levels (coding, defects…)

Key Performance Measures for IT

Page 38: Agil udvikling i Maersk Line v. BestBrains

KPIs not strictly defined within the control

Triage Refine Realise Release

BPO

ML-IT

IBM

Launch

authorised

Authorised for

development

LaunchedDynamic

Prioritised List

90% < 90 days

average < 2 weeksaverage < 1 week

70% < 90 days

cycle-time

quality

availability

on Cost

on Scope

on Time

New

New

Page 39: Agil udvikling i Maersk Line v. BestBrains

Questions?

Chris Berridge Programme Manager Lean Product Development Maersk Line IT +45 3363 8165 [email protected]

Agile Project/Programme Manager of the Year 2011

Page 40: Agil udvikling i Maersk Line v. BestBrains

BACKUP SLIDES

Department Slide no. 40

Page 41: Agil udvikling i Maersk Line v. BestBrains

Idea Generation

Idea/Problem

Lightbulb 2 Livefrom Idea to Working-in-Production

RQ5620

RQ5827

RQ5864

RQ4659

RQ6843 Pull

Filter of

DPLFeature Team

X Pull

Dynamic

Priority

List

Triage Refine Realise Release

Triage

Refine

Pull ideasthat need

to be broken down

RealiseTriage

Small ChangeObvious Candidate

Application

No obvioussolution & big

changes

Release

Refine

Broken down into small increments or iterations

RQ5620

RQ5827

RQ5864

RQ4659

RQ6843 Pull

Filter of

DPLGCSS Team

B Pull

Refine RealiseTriage

RQ5620

RQ5827

RQ5864

RQ4659

RQ6843 Pull

Filter of

DPLSCV Team

Pull

Refine RealiseTriage

Filter of

DPLCoordination

Team Pull

RefineTriage

ServiceRequestsRedirect

Timeboxed< 2-4 weeks

Solution Theories

Problem Statements

Increments of a Process Vision

Quick Win Opportunity

Parts to be delivered by teams