87
How Continuous Delivery helps Retailers Ernst de Haan, E-commerce Architect, Deli XL June 27, 2012

How Continuous Delivery Helps Retailers (Etail 2012)

Embed Size (px)

Citation preview

Page 1: How Continuous Delivery Helps Retailers (Etail 2012)

How Continuous Deliveryhelps Retailers

Ernst de Haan, E-commerce Architect, Deli XL June 27, 2012

Page 2: How Continuous Delivery Helps Retailers (Etail 2012)

✓ The Netherlands✓ Part of Bidvest✓ B2B only

Page 3: How Continuous Delivery Helps Retailers (Etail 2012)

✓ Daily Fresh✓ Chilled Fresh

✓ Dry Groceries✓ Frozen

✓ Non-Food

Page 4: How Continuous Delivery Helps Retailers (Etail 2012)

✓ 1K suppliers✓ 30K customers

✓ 110K products✓ € 750M/year

✓ 2M consumers?

Page 5: How Continuous Delivery Helps Retailers (Etail 2012)

Executive Summary

Continuous Delivery means:> faster from Business Case to Production> …with less defects in Production

This results in:> quicker ROI for existing Business Cases> new opportunities, previously infeasible> improved customer satisfaction

Page 6: How Continuous Delivery Helps Retailers (Etail 2012)

yes

Continuous Delivery is for you!

no

start here

Is TTM important?

Page 7: How Continuous Delivery Helps Retailers (Etail 2012)

What is Continuous Delivery?

Page 8: How Continuous Delivery Helps Retailers (Etail 2012)

What is Continuous Delivery?

No, it has nothing to dowith physical delivery

Page 9: How Continuous Delivery Helps Retailers (Etail 2012)

What is Continuous Delivery?

Page 10: How Continuous Delivery Helps Retailers (Etail 2012)

What is Continuous Delivery?

Code changeby developer

Page 11: How Continuous Delivery Helps Retailers (Etail 2012)

What is Continuous Delivery?

Code changeby developer

Systemautomaticallybuilds & tests

Page 12: How Continuous Delivery Helps Retailers (Etail 2012)

less than 1 hour

What is Continuous Delivery?

Code changeby developer

Possibility to deploy toan environment

Systemautomaticallybuilds & tests

Page 13: How Continuous Delivery Helps Retailers (Etail 2012)

What is Continuous Delivery?

> Possibility to release changes> …to any environment> …for any authorised person> …quickly> …with no hassle> …with confidence.

Page 14: How Continuous Delivery Helps Retailers (Etail 2012)

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

Page 15: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Once upon a time,

there was a powerful

E-commerce manager

actually, he might be in this very room…

Page 16: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Once upon a time,

there was a powerful

E-commerce manager

actually, he might be in this very room…

Page 17: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Page 18: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Page 19: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

A/B technologyAnalyticsBig DataBusiness IntelligenceCMSDigital Asset Mgmt. Sys.

Product Mgmt. Sys.RecommendationsSocial Media DashboardTag Mgmt. SolutionWeather Forecasts…

Page 20: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Page 21: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Conversion has dropped on the product detail page, perhaps it’s

related to the redesign

Page 22: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

Changing this button heremight fix the issue

— a small A/B test should do…

Page 23: How Continuous Delivery Helps Retailers (Etail 2012)

coffee!

I need !

Page 24: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT department

Page 25: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT departmentI need a button changed, quick!

Page 26: How Continuous Delivery Helps Retailers (Etail 2012)

Release calendar says you’re first…

Welcome to the IT departmentI need a button changed, quick!

Page 27: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT departmentI need a button changed, quick!

Release calendar says your first…

…release opportunity is in about 5 weeks

Page 28: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT departmentI need a button changed, quick!

Release calendar says your first…

…release opportunity is in about 5 weeks

(might become 6 or 7, in practice)

Page 29: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT departmentI need a button changed, quick!

Release calendar says your first…

…release opportunity is in about 5 weeks

Argh… that’smore like a

10

!

(might become 6 or 7, in practice)

Page 30: How Continuous Delivery Helps Retailers (Etail 2012)
Page 31: How Continuous Delivery Helps Retailers (Etail 2012)

…but it’s just a button?

Page 32: How Continuous Delivery Helps Retailers (Etail 2012)

I’ll explain: It’s part of the whole release…

…which needs functional testing (& building/deploying)

…regression testing (& building/deploying)

…business acceptance testing (& building/deploying)

…operational acceptance testing…

…and finally building/deploying, for Production

…but it’s just a button?

Page 33: How Continuous Delivery Helps Retailers (Etail 2012)

I’ll explain: It’s part of the whole release…

…which needs functional testing (& building/deploying)

…regression testing (& building/deploying)

…business acceptance testing (& building/deploying)

…operational acceptance testing…

…and finally building/deploying, for Production

…but it’s just a button?

…but it’s just a button?

Page 34: How Continuous Delivery Helps Retailers (Etail 2012)

I’ll explain: It’s part of the whole release…

…which needs functional testing (& building/deploying)

…regression testing (& building/deploying)

…business acceptance testing (& building/deploying)

…operational acceptance testing…

…and finally building/deploying, for Production

…but it’s just a button?

…but it’s just a button?…and the E-commerce manager

groaned

and accepted his fate…

Page 35: How Continuous Delivery Helps Retailers (Etail 2012)

I’ll explain: It’s part of the whole release…

…which needs functional testing (& building/deploying)

…regression testing (& building/deploying)

…business acceptance testing (& building/deploying)

…operational acceptance testing…

…and finally building/deploying, for Production

…but it’s just a button?

…but it’s just a button?…and the E-commerce manager

groaned

and accepted his fate…

…but, what if

they had implemented

Continuous Delivery ?

Page 36: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT department

Page 37: How Continuous Delivery Helps Retailers (Etail 2012)

Welcome to the IT departmentI need a button changed, quick!

Page 38: How Continuous Delivery Helps Retailers (Etail 2012)

Can it wait until the next planned release?

Welcome to the IT departmentI need a button changed, quick!

Page 39: How Continuous Delivery Helps Retailers (Etail 2012)

Can it wait until the next planned release?

Welcome to the IT departmentI need a button changed, quick!

No, I need it by Friday – latest

Page 40: How Continuous Delivery Helps Retailers (Etail 2012)

Can it wait until the next planned release?

Welcome to the IT departmentI need a button changed, quick!

OK, then let’s do an extra release for it, tomorrow

No, I need it by Friday – latest

Page 41: How Continuous Delivery Helps Retailers (Etail 2012)

Can it wait until the next planned release?

Welcome to the IT departmentI need a button changed, quick!

OK, then let’s do an extra release for it, tomorrow

No, I need it by Friday – latest

I checked: Developer says it’s easy…you can start your acceptance test in 2 hours

Page 42: How Continuous Delivery Helps Retailers (Etail 2012)

Can it wait until the next planned release?

Welcome to the IT departmentI need a button changed, quick!

Uh… yes, I… will arrange that someone is available

OK, then let’s do an extra release for it, tomorrow

No, I need it by Friday – latest

I checked: Developer says it’s easy…you can start your acceptance test in 2 hours

Page 43: How Continuous Delivery Helps Retailers (Etail 2012)

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

Page 44: How Continuous Delivery Helps Retailers (Etail 2012)

test

acceptance

production

fixed release schedule

every deployment requires a rebuild & is (partially)

manual

manual merge, build, deployment,

test

environments differ slightly

Codebase

Page 45: How Continuous Delivery Helps Retailers (Etail 2012)

test

acceptance

production

fixed release schedule

every deployment requires a rebuild & is (partially)

manual

manual merge, build, deployment,

test

Conventional Agile

environments differ slightly

Codebase

Page 46: How Continuous Delivery Helps Retailers (Etail 2012)

test

builds, tests & deployments

automated

Codebase

Pipeline

acceptance

production

environments unifiedflexible release

schedule

Page 47: How Continuous Delivery Helps Retailers (Etail 2012)

test

builds, tests & deployments

automated

Codebase

Continuous Delivery

Pipeline

acceptance

production

environments unifiedflexible release

schedule

Page 48: How Continuous Delivery Helps Retailers (Etail 2012)

Etail London 2012: “Be Agile” (TTM!)

> New (marketing) concepts> React quickly to:> Twitter complaints> customer ratings & reviews> Facebook wall posts> weather forecasts> new BI insights> the competition> etc.

Page 49: How Continuous Delivery Helps Retailers (Etail 2012)

Etail London 2012: “Be Agile” (TTM!)

> New (marketing) concepts> React quickly to:> Twitter complaints> customer ratings & reviews> Facebook wall posts> weather forecasts> new BI insights> the competition> etc.

Sure, I’d love to react quickly — but what if I have to go

through IT?

Page 50: How Continuous Delivery Helps Retailers (Etail 2012)

Etail London 2012: “Be Agile” (TTM!)

> New (marketing) concepts> React quickly to:> Twitter complaints> customer ratings & reviews> Facebook wall posts> weather forecasts> new BI insights> the competition> etc. Yes, you can!

with Continuous Delivery:

Sure, I’d love to react quickly — but what if I have to go

through IT?

Page 51: How Continuous Delivery Helps Retailers (Etail 2012)

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

✓✓

Page 52: How Continuous Delivery Helps Retailers (Etail 2012)

Project “Mercurius”

> Replatform AS/400 → ATG, SAP, Manhattan> € 750M (no interruptions, please)> AS/400 = 25 years of complexity> Implementation start early 2011> Staffing: 150+ people

Page 53: How Continuous Delivery Helps Retailers (Etail 2012)
Page 54: How Continuous Delivery Helps Retailers (Etail 2012)

test

development

Page 55: How Continuous Delivery Helps Retailers (Etail 2012)

test

development

test

development

Page 56: How Continuous Delivery Helps Retailers (Etail 2012)

test

Code base

development

test

development

Page 57: How Continuous Delivery Helps Retailers (Etail 2012)

test

Code base

development

test

development

different teams:project vs.support &

maintenance

Page 58: How Continuous Delivery Helps Retailers (Etail 2012)

test

Code base

development

technical staff in Europe & India

test

development

different teams:project vs.support &

maintenance

Page 59: How Continuous Delivery Helps Retailers (Etail 2012)

test

Code base

acceptance

production

development

c.i.

technical staff in Europe & India

test

development

preprod.

different teams:project vs.support &

maintenance

Page 60: How Continuous Delivery Helps Retailers (Etail 2012)

test

Code base

acceptance

production

development

c.i.

technical staff in Europe & India

50 servers200 services test

development

preprod.

different teams:project vs.support &

maintenance

Page 61: How Continuous Delivery Helps Retailers (Etail 2012)

test

Code base

acceptance

production

development

c.i.

technical staff in Europe & India

50 servers200 services test

development

Continuous Delivery System

preprod.

different teams:project vs.support &

maintenance

Page 62: How Continuous Delivery Helps Retailers (Etail 2012)

Simplified Architecture

ATGweb shop

First Spiritcontent management

GigaSpacesintegration magic

SAPAS/400

Identity Management SystemDigital Asset Management

…etc.

Page 63: How Continuous Delivery Helps Retailers (Etail 2012)

Implementation

> Multi-site, multi-brand> Complexity in pricing, assortments> Staffing provided by Mindcurv:> system integration (project)> support & maintenance (operations)

> Continuous Delivery across all environments:> owner per environment> …who can pick a version and deploy it> deployment = 1 button click

Page 64: How Continuous Delivery Helps Retailers (Etail 2012)

Q1

Q2

Q3

Q4

2010CIO meeting @ project startAlthough management enjoys

Continuous Delivery now,

they did not exactly

make it part of the requirements…

Page 65: How Continuous Delivery Helps Retailers (Etail 2012)

How often should we be able to do a release?

One a year should do.

That’s… not a lot. Are you sure?

Perhaps 2… ?

Q1

Q2

Q3

Q4

2010CIO meeting @ project start

Page 66: How Continuous Delivery Helps Retailers (Etail 2012)

Q1

Q2

Q3

Q4

2011…about 8 months later

Page 67: How Continuous Delivery Helps Retailers (Etail 2012)

We could aim for releasing once every 3 weeks?

Nah, once every 6 weeks is more than enough.

Q1

Q2

Q3

Q4

2011…about 8 months later

Page 68: How Continuous Delivery Helps Retailers (Etail 2012)

Q1

Q2

Q3

Q4

2012…another 6 months later

Page 69: How Continuous Delivery Helps Retailers (Etail 2012)

Uh, sure…

Could we do a release, 1 week after the previous?

Q1

Q2

Q3

Q4

2012…another 6 months later

Page 70: How Continuous Delivery Helps Retailers (Etail 2012)

Q1

Q2

Q3

Q4

2012…a couple of days later

Page 71: How Continuous Delivery Helps Retailers (Etail 2012)

I know the first release is due tomorrow…

Q1

Q2

Q3

Q4

2012

…but can we add something small ?

…that would be really nice!

…a couple of days later

No. But we could do an interim release 2 days later?

Page 72: How Continuous Delivery Helps Retailers (Etail 2012)

I know the first release is due tomorrow…

Q1

Q2

Q3

Q4

2012

…but can we add something small ?

…that would be really nice!

Excellent, thanks!

…a couple of days later

No. But we could do an interim release 2 days later?

Page 73: How Continuous Delivery Helps Retailers (Etail 2012)

Production Deployments

Page 74: How Continuous Delivery Helps Retailers (Etail 2012)

Production Deployments

Release 1

March17

Page 75: How Continuous Delivery Helps Retailers (Etail 2012)

Production Deployments

Release 1

March17

March21

Release 2

Page 76: How Continuous Delivery Helps Retailers (Etail 2012)

Production Deployments

Release 1

March17

June 26(yesterday)

March21

Release 2Release 16

Page 77: How Continuous Delivery Helps Retailers (Etail 2012)

Production Deployments

Release 1

March17

June 26(yesterday)

that is 4.8 releases/month

March21

Release 2Release 16

Page 78: How Continuous Delivery Helps Retailers (Etail 2012)

Most Recent Production Release

Page 79: How Continuous Delivery Helps Retailers (Etail 2012)

Most Recent Production Release

Problem raised by Support

Program Manager(Stijn Hazen)

decides: interim release

Fridayafternoon

Page 80: How Continuous Delivery Helps Retailers (Etail 2012)

Most Recent Production Release

Problem raised by Support

Program Manager(Stijn Hazen)

decides: interim release

Development& testing

Acceptance test: Go!

Fridayafternoon

Monday

note: no weekend work!

Page 81: How Continuous Delivery Helps Retailers (Etail 2012)

Most Recent Production Release

Problem raised by Support

Program Manager(Stijn Hazen)

decides: interim release

06:00 – Deployment

10:20 – Stijn sends“Thx team” mail

Development& testing

Acceptance test: Go!

Fridayafternoon

Monday Yesterday

note: no weekend work!

Page 82: How Continuous Delivery Helps Retailers (Etail 2012)

Most Recent Production Release

Problem raised by Support

Program Manager(Stijn Hazen)

decides: interim release

06:00 – Deployment

10:20 – Stijn sends“Thx team” mail

Development& testing

Acceptance test: Go!

Fridayafternoon

Monday Yesterday

from the Etail London 2012

event!

note: no weekend work!

Page 83: How Continuous Delivery Helps Retailers (Etail 2012)

Most Recent Production Release

Problem raised by Support

Program Manager(Stijn Hazen)

decides: interim release

06:00 – Deployment

10:20 – Stijn sends“Thx team” mail

Development& testing

Acceptance test: Go!

Fridayafternoon

Monday Yesterday

less than 1.5 working days

from the Etail London 2012

event!

note: no weekend work!

Page 84: How Continuous Delivery Helps Retailers (Etail 2012)

Net Effect

> No deployment issues anymore> More power in the hands of Business> Extra releases become an option

> Flexible release schedule> Stress reduction for Business & IT> Increased IT efficiency> Customer satisfaction> Overall Happiness™

Page 85: How Continuous Delivery Helps Retailers (Etail 2012)

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

✓✓✓

Page 86: How Continuous Delivery Helps Retailers (Etail 2012)

Where to Start

> Is there a Business Case?> Start a discovery> Involve specialists (if you can find them)> Involve IT (heavy involvement = mandatory)> Take small steps, build confidence

Page 87: How Continuous Delivery Helps Retailers (Etail 2012)

Considering Continuous Delivery?

Do get in touch!

@ernstdehaan

slideshare.net/ernstdehaan