An Introduction to Continuous Delivery

Similar documents
Continuous Delivery. Jez Humble, ThoughtWorks #continuousdelivery DevOpsDays, Hamburg

Continuous Delivery of Software

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

Continuous Delivery Workshop

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

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

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

Continuous Integration

Continuous Delivery. Ariel Alonso, IPC

Bridging the Gap Between Acceptance Criteria and Definition of Done

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

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

Quality Assurance in an Agile Environment

Lean Software Development

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

Continuous Integration (CI)

DevOps for the Mainframe

DevOps. Happiest People Happiest Customers

CARMEN DEARDO DEVOPS TECHNOLOGY LEADER, NATIONWIDE INSURANCE

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

Continuous integration End of the big bang integration era

Fundamentals of Continuous Integration

Applying Lean on Agile Scrum Development Methodology

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

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

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

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

LEAN SOFTWARE DEVELOPMENT ( As a Survival Tool in Recession )

Software Configuration Management Best Practices

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

Distributed Agile Development in the Cloud

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

An Overview of Agile Testing

Modern practices TIE-21100/

Agile Delivery Framework Automation & Deployment With Puppet

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

Bridging Development and Operations: The Secret of Streamlining Release Management

Continuous Delivery: Bridging Quality Between Development and Customers

Agile Project Management

Lean Software Development and Kanban

Leading ITSM from Scrum to Kanban

Certified Agile Software Test Professional (CASTP)

MTAT Software Engineering

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

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

ICAgile Learning Roadmap Agile Testing Track

Change Management Living with Change

RISK MANAGMENT ON AN AGILE PROJECT

Improving database development. Recommendations for solving development problems using Red Gate tools

Scaling Agile Is Hard, Here s How You Do It!

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

When agile is not enough

Agile Testing Overview

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

The ITIL Guide to DevOps

Continuous Integration Comes to China.

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

WHITEPAPER. Improving database development

DevOps Stack. Reid Holmes. Chris Parnin:

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Introduction to Agile and Scrum

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Kanban A Lean approach to Agile software development

Continuous Integration: Aspects in Automation and Configuration Management

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Continuous Integration. CSC 440: Software Engineering Slide #1

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

Agile Project Management

Agile Systems Engineering: What is it and What Have We Learned?

Agile Journeys. The CareerBuilder Story

Continuous Delivery. Alejandro Ruiz

Changing the Mode of Software Documentation with Lean Model of Software Development

Agile SPL-SCM: Agile Software Product Line Configuration and Release Management

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

IT SERVICE MANAGEMENT & INTERNAL CLOUD

White Paper

Key Benefits of Microsoft Visual Studio Team System

DevOps: Development Challenges and New Approaches

Software Continuous Integration & Delivery

It s Not Called Continuous Integration for Nothing!

Transcription:

An Introduction to Continuous Delivery rolf russell continuous delivery practice lead 2011 All rights reserved.

conan the deployer

getting it in front of users quickly http://code.flickr.com

small feature chunks time constant flow of new features into production incremental release of small changes

Why

build the right thing every business idea is a hypothesis until you get user feedback

corollary: don t waste money on the wrong thing Standish Group: how often features are used Never 45% Rarely 19% Sometimes 16% Often 13% Always 7%

constant user connection by releasing everyday: your users can be delighted by new stuff all the time your users get the feeling you are reacting to what they want

ability to move quickly react to the market explore new revenue streams

better aligned people development & operations close to the business IT no longer perceived as the bottleneck

reliability & stability John Allspaw: Ops Metametrics http://slidesha.re/dsszir

TTR (time to recover) time to figure out cause of problem >> time to fix problem time uh oh problem happens wheeew problem solved adapted from John Allspaw

progress

How

fast, automated feedback on the production readiness of your applications every time there is a change whether code, infrastructure, configuration or database Jez Humble

continuous delivery small feature chunks time software always production ready releases tied to business needs, not IT constraints minimize the lead time from idea to live concept to cash

systems thinking is [a philosophy] based on the belief that the component parts of a system can best be understood in the context of relationships with each other and with other systems, rather than in isolation.

value stream mapping process tool for improving the flow from a customer request to the fulfillment (concept to cash) emphasis is on improving the whole not just the parts uses quantitative data to identify waste and inefficiency originally developed by toyota to assist in the improvement of manufacturing and supply-chain processes

value stream mapping requirement discovery requirement definition coding automated testing integration testing uat release lead-time 4 wks 4 wks 6 wks 1 wk 4 wks 1 wk 1wk value-add-time 2 days 1 wk 4 wks 2 days 1 wk 1 day 4 hrs complete & accurate 30% 50% 25% 40% 80% 90% 80%

value stream mapping requirement discovery requirement definition coding automated testing integration testing uat release lead-time 4 wks 4 wks 6 wks 1 wk 4 wks 1 wk 1wk value-add-time 2 days 1 wk 4 wks 2 days 1 wk 1 day 4 hrs complete & accurate 60% 50% 25% 40% 80% 90% 80%

while (true) { if (change checked into vcs) then build & test sleep 60 }

step 1 - continuous integration

full production pipeline Map your oyment pipeline Regression testing Manual testing Developer build on kick-off Check-in CI fast CI slow Automated Functional Tests Implement planning Release build Dry run Sign-off Deployment Production faster feedback

full production pipeline automated implementation of your system s build, deploy, test, approval processes! visibility! traceability! compliance

treat everything like code check in, automate, test in CI, promote in deployment pipeline database: DDL & static data deployment automation infrastructure/configuration mgmt monitoring configuration

treat servers like cattle, not pets

adhere to the test pyramid Adapted from Mike Cohn (Automated Test Pyramid) and Lisa Crispin & Janet Gregory (Agile Testing)

trunk based development 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 branches discourage refactoring branches delay integration and hide risk merging wastes time and is tedious

trunk based development feature toggles let you deploy incomplete features turned off branch-by-abstraction lets you make architectural changes

consistency from development to production accidental inconsistency >> necessary inconsistency deployment process environment configuration testing tools

pull itops onto the delivery team sit together: biz, dev, qa & sysadmin share KPIs for stability and change same story wall and iterations

in production? live? what does in production mean today? what does live mean? is it a binary state? how can we take advantage of shades of grey in live?

concerns reliability & stability compliance & traceability releasing 10 times/day don t need to, just keep your code always production releasable complexity of my systems its about continuous improvement. start with low hanging fruit it will take investment yes it will, but it will also start paying dividends quickly

homework how long would it take your organization to get a one line code change into production using the normal process? Mary & Tom Poppendieck Implementing Lean Software Development

Q&A

Thank you!

extra credit: lean startup movement approach to managing disruptive innovation goal of startups is to learn true for everyone early in the innovation cycle learning should not be adhoc be rigorous & use the scientific method hypothesis -> experiment -> analysis