Value driven continuous delivery

Preview:

DESCRIPTION

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

Citation preview

January 2012

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

FEAR OFCHANGE

RELEASEFREQUENTLY

Reduce riskIncrease adaptability

User feedback

DevelopPlan

Release sizeR

isk

RELEASEFREQUENTLY

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

AGILEMOTIVATION

WATERFALL

AGILE

ITERATIVEDEVELOPMEN

T

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

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

TIME BOXEDPLANNING

CostTime

Scope

Agile!

Scope

TimeCostTraditional

From a plan driven approach to a value driven one.

Estimated

Fixed

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

SCRUMDEFINITION

SCRUMROLES

1PRODUCT OWNERthe voice of the customer

3SCRUM MASTERfacilitator, mentor, coach

2TEAM MEMBERdeliver the product

4EXTERNAL EXPERTSconsultants, assessors, auditors

SCRUMTEAMS

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.

DECISIONMAKING

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”

RELEASEFREQUENTLY

But wait, what does frequently mean to you?

RELEASEFREQUENTLY

Number of days with releases

1 release every 2 weeks

3,5 releases every week!

IJ 2010 IJ 2012

CONTINUOUS DELIVERY

Constant flow of new features into production

CONTINUOUS DELIVERY

IJ 2010 IJ 2012 Flickr

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

http://code.flickr.com/

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

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

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

DEPLOYMENTPIPELINE

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

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!

CANARYRELEASING

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

CANARYRELEASING

Same old features

Bleeding edge features

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

Automatic rollbacks

A/B or multivariate testing

Demographic segmentation

CANARYRELEASING

Recommended