Continuous Delivery. Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery DevOpsDays, Hamburg

Similar documents
Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

An Introduction to Continuous Delivery

Continuous Delivery Workshop

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Agile Release Management: Towards Frequent, Low Risk Releases. by Jez Humble, Build and Release Principal, ThoughtWorks Studios.

Continuous Delivery of Software

Continuous Delivery. Ariel Alonso, IPC

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

Continuous delivery Release software on-demand, not on Red Alert

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Continuous Delivery by example.net

Continuous Integration

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Continuous Delivery. Alejandro Ruiz

The Agile Maturity Model. Applied to Building and Releasing Software.

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Use Scrum + Continuous Delivery to build the right thing

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Continuous Delivery: implementation considerations. Léon Hagenaars-Keus Edwin van Dillen

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Agile QA s Revolutionary Impact on Project Management

Agile, Continuous Delivery, devops. Friend or Foe???

"IT Governance and Compliance in an Agile World"

Service OnBoarding: A Process Approach for Uniting ITIL and DevOps. Bill Cunningham

Development Testing for Agile Environments

Best Practices for Java Projects Horst Rechner

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Continuous Integration. CSC 440: Software Engineering Slide #1

Lean Software Development

18/09/2015. DevOps. Prof. Filippo Lanubile. Outline. Definitions Collaboration in DevOps Automation in DevOps. Prof.

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

NIH PROJECT MANAGEMENT COMMUNITY THE DEVOPS EFFECT DONNA KNAPP ... educate & inspire ITSM Academy

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Agile Project Management

U.S. Corporate and Government Sales (800) For sales outside the United States please contact:

The Tools For Continuous Delivery

The Importance of Continuous Integration for Quality Assurance Teams

The Deployment Production Line

Fundamentals of Continuous Integration

An Agile Project Management Model

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

Preface Agile Testing Review

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Continuous Integration: A case study

Agile Testing. What Students Learn

Continuous integration End of the big bang integration era

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

Massively! Continuous Integration! A case study for Jenkins at cloud-scale

What is meant by the term, Lean Software Development? November 2014

Agile user-centred design

Modern practices TIE-21100/

Increasing frequency of releases to every week down from quarterly major releases

Bridging the Gap Between Acceptance Criteria and Definition of Done

Software Configuration Management Best Practices for Continuous Integration

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Agile Development for Application Security Managers

Agile Testing Overview

MTAT Software Engineering

Internet of Things. Opportunity Challenges Solutions

RISK MANAGMENT ON AN AGILE PROJECT

Agile Scrum Workshop

Continuous Delivery / Continuous Deployment How to automate your Deliveries. Bernhard Keprt

agenda AGILE AT SCALE

Release Often Why high release frequency results in higher customer satisfaction, better quality, and more revenue by Scott Shipp

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Collaborative Project Management in a DevOps Culture

How To Write Unit Tests In A Continuous Integration

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Continuous Delivery Benefits, Best Practices and Practical Advice

Leading ITSM from Scrum to Kanban

DevOps for the Mainframe

Agile Journeys. The CareerBuilder Story

CoDe:U Git Flow - a Continuous Delivery Approach

Agile Architecture & Design

Transcription:

Continuous Delivery Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery DevOpsDays, Hamburg

Agile 101 "Agile" team Analysis + Design Development Centralized QA Integration + QA IT Operations Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"

web 2.0 disrupting traditional businesses http://code.flickr.com/

releasing frequently feedback from users Customer developent Agile product development Eric Ries, The Lean Startup http://bit.ly/8zox5f

releasing frequently feedback from users reduce risk of release John Allspaw: Ops Metametrics http://slidesha.re/dsszir

releasing frequently feedback from users reduce risk of release real project progress

agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

production-ready software Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configuration

continuous delivery Customer Delivery team Constant flow of new features into production Software always production ready Releases tied to business needs, not operational constraints

enterprise lean startups Business units act as VCs Products, not projects Completely cross-functional teams Works great with many small, distributed teams and RESTful architecture BUT...

value stream mapping Product opportunity assessment Product discovery Product planning and estimation Development Final testing and approval Release Value-added time 3 days 1 week 10 days 7 weeks 1 week 2 hours Elapsed time 1 week 10 days 3 days 5 days 2 days

deployment pipeline Delivery team Version control Build & unit tests Automated acceptance tests User acceptance tests Release Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Feedback Approval Approval

deployment pipeline

deployment pipeline

principles create a repeatable, reliable process for releasing software automate almost everything keep everything in version control if it hurts, do it more often, and bring the pain forward build quality in done means released everybody is responsible for delivery continuous improvement

ask this question How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis? What gets in the way of getting software out of the door? Mary and Tom Poppendieck, Implementing Lean Software Development, p59.

practices only build your binaries once deploy the same way to every environment smoke test your deployments keep your environments similar if anything fails, stop the line

continuous integration Professor Plum P1 P2 P3 P4 P4 P1 P2 P3 P4 P5 Mainline G1 P1 B1 B1 P2 G2 P3 B2 B2 G3 P4 P5 G1 B1 P1-2 G2 B2 P3 G3 P4-5 G4 G5 G6 G1 G2 G3 G4 G5 G6 Reverend Green G2 G3 G4 everybody checks in to mainline use branch by abstraction for architectural change use feature bits to switch off incomplete features Diagram invented by Martin Fowler

different kinds of testing AUTOMATED Business facing MANUAL Support programming Functional acceptance tests Unit tests Integration tests System tests Showcases Usability testing Exploratory testing Non-functional acceptance tests (performance, scaling,...) Critique project AUTOMATED Technology facing MANUAL / AUTOMATED Diagram invented by Brian Marick

canary releasing

data migration

objections Visibility and control over locking down Compliance - automation over documentation Auditing - see who does what Make it easy to remediate outages

people are the key Get everyone together at the beginning Keep meeting Make it easy for everyone to see what s happening Continuous improvement (kaizen)

thank you! http://continuousdelivery.com/ http://studios.thoughtworks.com/go http://thoughtworks.com/