the philosophy of continuous deployment

16
The Philosophy of Continuous Deployment

Upload: ian-tinsley

Post on 10-Aug-2015

154 views

Category:

Software


0 download

TRANSCRIPT

Page 1: The philosophy of continuous deployment

The Philosophy of Continuous Deployment

Daniel Austin
Does the target audience understand why you might want to do this? SOA enables CD and innovation -- what does CD, ownership and personal responsibility enable?
Page 2: The philosophy of continuous deployment

ScopePhilosophy and culture change

Not a technical how to

Daniel Austin
None of these are business problems... is that OK?
Daniel Austin
Stagnant architecture probably belongs on next page ("What were our problems?")
Page 3: The philosophy of continuous deployment

Deliver more features value, more quickly for less cost

Improves

• Focus• Efficiency• Quality

Reduces

• Cycle time• Bureaucracy • Release overheads• Bug/feature management• Cost

Page 4: The philosophy of continuous deployment

Traditional CultureYou release what you testPhase gates and sign-off

Quality is the responsibility of Ops and QA

Page 5: The philosophy of continuous deployment

Can we do this faster?TEST, TEST, TEST

100% Unit Test coverage~75% Cucumber Tests (BDD)

Substantial integration tests in pre-prodDeployment Automation

Page 6: The philosophy of continuous deployment

Global Release Vicious CircleConfidence to release

is low despite automated tests

Patching changes into RC causes further delays

Delays cause more features to be added to

RC

QA fall behind on functional testing

Engineers become careless

Anxiety from Release Manager delays

releases

Difficult to identify cause of regressions

Page 7: The philosophy of continuous deployment

Change in Philosophy

Daniel Austin
Does the target audience understand why you might want to do this? SOA enables CD and innovation -- what does CD, ownership and personal responsibility enable?
Page 8: The philosophy of continuous deployment

What?De-centralisation of decision-making

Trust!Autonomy, Transparency, Accountability

Decoupled Architecture (SOA)

Page 9: The philosophy of continuous deployment

How?Clear definition of ownership

Shared responsibility for quality (not just QA)Culture of personal responsibility

Collaboration rather than phase-gates and sign-off

Production releases focus the mind

Page 10: The philosophy of continuous deployment

Behavioural Changes

Daniel Austin
Does the target audience understand why you might want to do this? SOA enables CD and innovation -- what does CD, ownership and personal responsibility enable?
Page 11: The philosophy of continuous deployment

CollaborationCollaboration with the operations team (DevOps)

Communicating about change impactUnderstanding business drivers

Page 12: The philosophy of continuous deployment

DecouplingReleasing features in small chunks

Pragmatic automated testingConsidering backwards compatibility

Page 13: The philosophy of continuous deployment

ResponsibilityCode is well-tested and production ready

Monitoring vital statistics (in all environments)When to back-out and when to fix-forward

Nuanced understanding of risk and QA Definition of Done == In production.

Page 14: The philosophy of continuous deployment

Change in TeamLess focus on points and commitment

More focus on output and why?Shared ownership of product and quality

Teams judged on effectiveness rather than velocity

Page 15: The philosophy of continuous deployment

Finally..It’s not “same same but faster”

You cannot solely automate and test your way to CDYou need to change your culture

You need trust and autonomyRequires personal responsibility and accountability at every level

You cannot leave it to engineering

Page 16: The philosophy of continuous deployment

Thanks

@[email protected]