A CASE STUDY IN LARGE SCALE LEAN-AGILE ADOPTION Chris Berridge - - PowerPoint PPT Presentation

a case study in large scale
SMART_READER_LITE
LIVE PREVIEW

A CASE STUDY IN LARGE SCALE LEAN-AGILE ADOPTION Chris Berridge - - PowerPoint PPT Presentation

A CASE STUDY IN LARGE SCALE LEAN-AGILE ADOPTION Chris Berridge Maersk Line About Maersk Line Worlds largest container fleet Truely global business 325 offices in 125 countries 25.000 employees (7,600 seafarers) 14.5% world


slide-1
SLIDE 1

A CASE STUDY IN LARGE SCALE LEAN-AGILE ADOPTION Chris Berridge Maersk Line

slide-2
SLIDE 2

About Maersk Line

  • Worlds largest container fleet
  • Truely global business
  • 325 offices in 125 countries
  • 25.000 employees (7,600

seafarers)

  • 14.5% world market share [1]
  • 570 container vesssels
  • Turnover $26 billion [2]

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

slide-3
SLIDE 3

Fragmented IT Landscape

  • Thin outsourcing model
  • Tier 1 vendors only
  • 2,500 applications
  • Core applications are tightly

coupled

  • 23,000 bookings/day
slide-4
SLIDE 4

How we started our lean-agile journey?

New

Project, Platform, Team

Revolutionary

Existing

Project, Platform, Team

Evolutionary Lean Product Development

slide-5
SLIDE 5

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

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 (at the time)

slide-6
SLIDE 6

X-leap: How we sold agile to our stakeholders

USI WebSimo n P&O Nedloyd career. maersk.c
  • m
eProfile (SCV) iReceivab les (MLIS) World map VMLO (CAF) ATS2 eXport booking eXport documen
  • tation
SFX (docume nt pouch) SCV RKST GSMS MARS SAF marine eRates Message broker MEPC NGP3 GEO NGP3
  • ffice
NGP3 mall SAF marine portal RKEM GEO mainfram e MCS GCSS IBM payment systems MEX (MLIS) SAF marine sailing schedule s einfo www. maersk.c
  • m
Mondo- search LivePerso n Emergen cy pages Referenc e-Data MARS service Rates Schedule s GUPS Followup shipment s CCC ePaymen t Payment system service eDB Phone book 3 Tracking 3 sROE Portal Office WS client/por tal service MailServi ce 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

slide-7
SLIDE 7

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
slide-8
SLIDE 8

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)

slide-9
SLIDE 9
slide-10
SLIDE 10

X-leap: A feature team in action

slide-11
SLIDE 11

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
slide-12
SLIDE 12

X-leap: Value stream analysis for a feature X-leap: Root cause analysis for why hardening phase takes so long

slide-13
SLIDE 13

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. Struggle to measure velocity due to constant changes
slide-14
SLIDE 14

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)

slide-15
SLIDE 15

How we are completing the lean-agile journey.

New

Project, Platform, Team

Revolutionary

Existing

Project, Platform, Team

Evolutionary Lean Product Development

slide-16
SLIDE 16

200 400 600 # Requirements 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

slide-17
SLIDE 17

Lean Product Development Agile

Framing the methodologies

SCRUM

Enterprise Practices Team Practices Project Practices

XP*

Engineering Practices

* Extreme Programming

slide-18
SLIDE 18

The Starter Pack: 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
slide-19
SLIDE 19

GCSS: Release Frequency

The effect of creating large release batches upstream

Requirements 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:

slide-20
SLIDE 20

T Dev Des S

GCSS: More Frequent Releases

Enable the smooth flow of requirements

Requirements Releases

slide-21
SLIDE 21

Faster Feedback

Eight Standard Measures

Requirement captured Requirement validated Started coding Integrated & built Completed coding Decided for launch Launched in production

Feasible Demonstrated Accepted Launched

Code complete

Feature complete

Require- ments Release candidate Code

Launchable

slide-22
SLIDE 22

Faster Feedback

Comparing GCSS with the X-leap on the Eight Measures

All times are in days

slide-23
SLIDE 23

Department Slide no. 23

GCSS: Actively Manage Work-in-Progress

WIP LIMIT of 8

  • n bottleneck
slide-24
SLIDE 24

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

# Requirements*

GCSS: Work-in-Progress reduced

Oct 2010 Jan 2012

76%

…whilst at least maintaining throughput

*”Authorized” to “Launched” Guesstimate points/week

slide-25
SLIDE 25

GCSS: Requirement size variability

Guesstimate Points

  • Max. size

<2 weeks

# Requirements

Before After

slide-26
SLIDE 26

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

  • therwise upstream

process is too heavy Quickly identify the ideas that will be the most profitable

slide-27
SLIDE 27

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

Defects Delays Patches Up to June 2011 Since July 2011 Releases 2010-2011

  • 88%

Defects

  • 85%

Patches

  • 80%

Delays

slide-28
SLIDE 28

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

50 100 150 200 Releases 11 to 22* Rel 23 Rel 24 Rel 25 Rel 26 Rel 27 Rel 28

slide-29
SLIDE 29

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

slide-30
SLIDE 30

Slide no. 30 Department

slide-31
SLIDE 31

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

  • wnership & 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

  • ther 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

slide-32
SLIDE 32

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. 32 Department

slide-33
SLIDE 33

Slide no. 33 Department

slide-34
SLIDE 34

Slow burn - stakeholder education

slide-35
SLIDE 35

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

  • riginally 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

  • f 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

slide-36
SLIDE 36

What next for Maersk Line?

  • Legacy: Complete rollout 8

starter pack practices for all legacy applications

  • New: Additional practices for
  • ur new Service Oriented

”vision platform”

Department Slide no. 36 Max

90

days

cycle time Max

30

days

cycle time

slide-37
SLIDE 37

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

slide-38
SLIDE 38

Questions?

Chris Berridge

Programme Manager Lean Product Development Maersk Line IT +45 3363 8165 chris.berridge@maersk.com Agile Project/Programme Manager of the Year 2011