value driven continuous delivery

31
January 2012 Value driven continuous delivery

Upload: gabriel-prat

Post on 06-May-2015

857 views

Category:

Technology


7 download

DESCRIPTION

How agile development and continuous delivery can be combined to maximize value delivery and how do we do it at InfoJobs

TRANSCRIPT

Page 1: Value driven continuous delivery

January 2012

Value driven continuous delivery

Page 3: Value driven continuous delivery

PRESENTATIONOUTLINE

1.Fear of change

2.Agile

3.Scrum

4.Frequent releases

5.Continuous delivery

6.Zero* downtime

7.Canary releasing

8.Q&A

Page 4: Value driven continuous delivery

FEAR OFCHANGE

Page 5: Value driven continuous delivery
Page 6: Value driven continuous delivery

RELEASEFREQUENTLY

Reduce riskIncrease adaptability

User feedback

DevelopPlan

Release sizeR

isk

Page 7: Value driven continuous delivery

RELEASEFREQUENTLY

http://www.slideshare.net/jallspaw/ops-metametrics-the-currency-you-pay-for-change

Page 8: Value driven continuous delivery

AGILEMOTIVATION

WATERFALL

AGILE

Page 9: Value driven continuous delivery

ITERATIVEDEVELOPMEN

T

Page 10: Value driven continuous delivery

AG

ILE

MA

NIF

ES

TO

CUSTOMERCOLLABORATIONover contract negotiation

1

INDIVIDUALS andINTERACTIONSover processes and tools

2

RESPONDING toCHANGEover following a plan

3

WORKINGSOFTWAREover full documentation

4

Page 11: Value driven continuous delivery

AG

ILE

PR

INC

IPLE

S

DELIVER SOFTWARE1

EMBRACE CHANGE2

SHOW OFTEN3

WORK TOGETHER4

PROVIDE ENVIRONMENT5

CHAT FACE-to-FACE6

MINIMIZE WASTE7

MAINTAIN PACE8

SEEK TECH EXCELLENCE9

LOVE SIMPLICITY10

SELF-ORGANIZE TEAMS11

IMPROVE CONTINUOUSLY12

Page 12: Value driven continuous delivery

TIME BOXEDPLANNING

CostTime

Scope

Agile!

Scope

TimeCostTraditional

From a plan driven approach to a value driven one.

Estimated

Fixed

Page 13: Value driven continuous delivery

iterative, incremental methodology for project management often seen in agile software development.

SCRUMDEFINITION

Page 14: Value driven continuous delivery

SCRUMROLES

1PRODUCT OWNERthe voice of the customer

3SCRUM MASTERfacilitator, mentor, coach

2TEAM MEMBERdeliver the product

4EXTERNAL EXPERTSconsultants, assessors, auditors

Page 15: Value driven continuous delivery

SCRUMTEAMS

Page 16: Value driven continuous delivery

shu ha ri

MYSCRUM?In this beginning stage the student follows the teachings of one master precisely. He concentrates on how to do the task, without worrying too much about the underlying theory. If there are multiple variations on how to do the task, he concentrates on just the one way his master teaches him.

At this point the student begins to branch out. With the basic practices working he now starts to learn the underlying principles and theory behind the technique. He also starts learning from other masters and integrates that learning into his practice.

Now the student isn't learning from other people, but from his own practice. He creates his own approaches and adapts what he's learned to his own particular circumstances.

Page 17: Value driven continuous delivery

DECISIONMAKING

Page 18: Value driven continuous delivery

Analysis + Design

Development

Testing + Demo

Iteration

Customer

Integration Release

“Agile” teamCentralized QA IT Operations

1 2 3 4 5

“AGILE”ANTI-PATTERN

http://gotocon.com/dl/jaoo-aarhus-2010/slides/JezHumble_ContinuousDelivery.pdf

The “last mile”

Page 19: Value driven continuous delivery

RELEASEFREQUENTLY

But wait, what does frequently mean to you?

Page 20: Value driven continuous delivery

RELEASEFREQUENTLY

Number of days with releases

1 release every 2 weeks

3,5 releases every week!

IJ 2010 IJ 2012

Page 21: Value driven continuous delivery

CONTINUOUS DELIVERY

Constant flow of new features into production

Page 22: Value driven continuous delivery

CONTINUOUS DELIVERY

IJ 2010 IJ 2012 Flickr

Flickr deploy ten times each day... Why don’t you?

http://code.flickr.com/

Page 23: Value driven continuous delivery

Fast, automated feedback on the production readyness of your application every time there is a change – to code, infrastructure, or configuration

http://channel9.msdn.com/Events/ALM-Summit/2011/Continuous-Delivery

PRODUCTION-READYSOFTWARE

Page 24: Value driven continuous delivery

create a repeatable, reliable process for releasing software

automate almost everything

keep everything in version control

build quality in

done means released

everybody is responsible for delivery

continuous improvement (kaizen)

PRINCIPLES

http://gotocon.com/dl/jaoo-aarhus-2010/slides/JezHumble_ContinuousDelivery.pdf

Page 25: Value driven continuous delivery

Sour

ce c

ontr

ol

Perf

orce

CI s

erve

r Je

nkin

s

One

-ste

p bu

ild

Ant M

aven

Auto

mat

ed te

sting

JU

nit Q

TP

Continuous delivery pillars

Page 26: Value driven continuous delivery

DEPLOYMENTPIPELINE

http://gotocon.com/dl/jaoo-aarhus-2010/slides/JezHumble_ContinuousDelivery.pdf

Page 27: Value driven continuous delivery

ZERO* DOWNTIMERELEASE UPDATES

Initial

Release 1.1

Make 1.1 app compatible with 2.0 DB

Release 1.2

Migrate db to 2.0

Release 1.3

Release 2.0

Clean 1.1 compat DB

Release 2.1

To upgrade from 1.1 to 2.0

DB Changes DB ChangesRelease updated!

Page 28: Value driven continuous delivery

CANARYRELEASING

http://tools.google.com/dlpage/chromesxs

Page 29: Value driven continuous delivery

CANARYRELEASING

Same old features

Bleeding edge features

http://www.flickr.com/photos/hanalita/5868250

Page 30: Value driven continuous delivery

Automatic rollbacks

A/B or multivariate testing

Demographic segmentation

CANARYRELEASING