How Continuous Delivery Helps Retailers (Etail 2012)

Post on 27-Jun-2015

730 views 1 download

Tags:

Transcript of How Continuous Delivery Helps Retailers (Etail 2012)

How Continuous Deliveryhelps Retailers

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

✓ The Netherlands✓ Part of Bidvest✓ B2B only

✓ Daily Fresh✓ Chilled Fresh

✓ Dry Groceries✓ Frozen

✓ Non-Food

✓ 1K suppliers✓ 30K customers

✓ 110K products✓ € 750M/year

✓ 2M consumers?

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

yes

Continuous Delivery is for you!

no

start here

Is TTM important?

What is Continuous Delivery?

What is Continuous Delivery?

No, it has nothing to dowith physical delivery

What is Continuous Delivery?

What is Continuous Delivery?

Code changeby developer

What is Continuous Delivery?

Code changeby developer

Systemautomaticallybuilds & tests

less than 1 hour

What is Continuous Delivery?

Code changeby developer

Possibility to deploy toan environment

Systemautomaticallybuilds & tests

What is Continuous Delivery?

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

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

coffee!

Once upon a time,

there was a powerful

E-commerce manager

actually, he might be in this very room…

coffee!

Once upon a time,

there was a powerful

E-commerce manager

actually, he might be in this very room…

coffee!

coffee!

coffee!

A/B technologyAnalyticsBig DataBusiness IntelligenceCMSDigital Asset Mgmt. Sys.

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

coffee!

coffee!

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

related to the redesign

coffee!

Changing this button heremight fix the issue

— a small A/B test should do…

coffee!

I need !

Welcome to the IT department

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

Release calendar says you’re first…

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

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

Release calendar says your first…

…release opportunity is in about 5 weeks

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)

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)

…but it’s just a button?

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?

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?

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…

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 ?

Welcome to the IT department

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

Can it wait until the next planned release?

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

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

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

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

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

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

test

acceptance

production

fixed release schedule

every deployment requires a rebuild & is (partially)

manual

manual merge, build, deployment,

test

environments differ slightly

Codebase

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

test

builds, tests & deployments

automated

Codebase

Pipeline

acceptance

production

environments unifiedflexible release

schedule

test

builds, tests & deployments

automated

Codebase

Continuous Delivery

Pipeline

acceptance

production

environments unifiedflexible release

schedule

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.

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?

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?

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

✓✓

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

test

development

test

development

test

development

test

Code base

development

test

development

test

Code base

development

test

development

different teams:project vs.support &

maintenance

test

Code base

development

technical staff in Europe & India

test

development

different teams:project vs.support &

maintenance

test

Code base

acceptance

production

development

c.i.

technical staff in Europe & India

test

development

preprod.

different teams:project vs.support &

maintenance

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

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

Simplified Architecture

ATGweb shop

First Spiritcontent management

GigaSpacesintegration magic

SAPAS/400

Identity Management SystemDigital Asset Management

…etc.

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

Q1

Q2

Q3

Q4

2010CIO meeting @ project startAlthough management enjoys

Continuous Delivery now,

they did not exactly

make it part of the requirements…

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

Q1

Q2

Q3

Q4

2011…about 8 months later

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

Q1

Q2

Q3

Q4

2012…another 6 months later

Uh, sure…

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

Q1

Q2

Q3

Q4

2012…another 6 months later

Q1

Q2

Q3

Q4

2012…a couple of days later

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?

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?

Production Deployments

Production Deployments

Release 1

March17

Production Deployments

Release 1

March17

March21

Release 2

Production Deployments

Release 1

March17

June 26(yesterday)

March21

Release 2Release 16

Production Deployments

Release 1

March17

June 26(yesterday)

that is 4.8 releases/month

March21

Release 2Release 16

Most Recent Production Release

Most Recent Production Release

Problem raised by Support

Program Manager(Stijn Hazen)

decides: interim release

Fridayafternoon

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!

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!

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!

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!

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™

How Continuous DeliveryHelps Retailers

Business & IT – happily ever after?

Conventional Agile vs. Cont. Delivery

Implementation @ Deli XL

Where to Start

✓✓✓

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

Considering Continuous Delivery?

Do get in touch!

@ernstdehaan

slideshare.net/ernstdehaan