Continuous Delivery


June 2011

Agile project management and engineering practices have made great inroads in increasing the productivity and flexibility of development teams. The ability to rapidly create high quality software is not sufficient; software needs to be deployed to the production environment in order to realize value. Continuous Delivery is a set of techniques to reduce the time and expense of the "last mile".

In this issue, we look at a number of these techniques. Jez Humble, author of "Continuous Delivery", writes about the impediment to rapid deployment that can result from over-complex change management processes. Martin Fowler and Mike Mason discuss Feature Branching, a common development discipline that dramtically reduces the ability to create always-ready-to-release software. Steve Morgan reports on TW Live 2011, the first ThoughtWorks customer conference focused on Continuous Delivery. Lastly, we present a case study illustrating how we implemented an automated deployment pipeline for a global retailer.


Face to face

ThoughtWorkers Mike Mason (Head of Technology, Americas) and Martin Fowler (Chief Scientist) talk to Nick Hines (Global CTO - Innovation) about the pros and cons of Feature Branching.


Case study

The Client: Global retailer

A global retailer engaged ThoughtWorks to overhaul its software deployment pipeline. Within weeks, significant reliability improvements began, and within just a matter of months, releases were predictable and frequent, enabling the business to achieve a key strategic goal.

Changes
The transformation began with the introduction of Continuous Integration, and with leveraging automation for both testing and environment configuration. We modularized multiple large, monolithic builds that sometimes took days to complete – or to uncover problems – into five smaller builds that follow a logical, pre-determined order. These smaller stages – Commit, Assemble, Package, Deployment, and Regression – have meant faster, less risky, builds. The technical staff is better able to divide responsibilities for maintaining successful builds, increasing ownership across the IT organization; and the root cause of failure is easier to pinpoint, correct, and prevent.

Scripts now automate environment and configuration management to speed these complicated and lengthy processes, remove errors, and ensure consistency. Virtualization is a key component of ongoing improvements, allowing any application to be dynamically provisioned, configured, and available for testing based on the specific code modules being changed.

In addition to infrastructure and code integration, testing is now automated to a much higher degree than had been the case; and infrastructure – not just code – is part of the testing. Virtualization allows building and testing of components to be parallelized to a great extent. The pipeline has also become ever more intelligent, with tooling, for example, when a stage successfully completes, it communicates what happened to other stages, which may trigger further testing, or cut short needless testing if a problem is raised.

Every night, an automatic deploy process kicks off for all applications. Regression test suites are triggered and the results are distributed and displayed on dashboards available not only to IT but to business representatives. And because the infrastructure itself is part of the test suites, the client is assured that a successful deployment test means the code can be delivered into production with no errors, no conflicts – no surprises. Everyone knows what is deployable, and what is not.

Outcomes
Within a few months after the start of the engagement, the client was able to begin realizing benefits. It was able to launch a new brand online in a timeframe that would have been impossible to achieve before. In a few more months, the release cycle was cut from yearly to monthly with increased quality and production rollbacks, once typical, have become a rare exception.

The business now has confidence they can get changes released with a drastically shorter lead-time. Overall value from IT has increased as timeframes have decreased. Going forward, advanced dynamic virtualization techniques will further cut the testing cycle time by another 50 percent or more, bringing them close to true continuous delivery capability.


Blogs, articles & webinars

Jez Humble Continuous Delivery and ITIL: Change Management
Many large organizations have heavyweight change management processes that generate lead times of several days or more between asking for a change to be made and having it approved for deployment. This is a significant roadblock for teams trying to implement Continuous Delivery. Often frameworks like ITIL are blamed for imposing these kinds of burdensome processes.

Steve Morgan ThoughtWorks Live 2011 - Continuous Deployment
Continuous Delivery is a revolutionary new concept in Agile. It helps large enterprises become as lean, agile and innovative as a startup – making it possible to continuously adapt software in line with user feedback, shifts in the market and changes to business strategy. This blog post summarizes the presentations that were made at ThoughtWorks Live 2011, a conference on Continuous Delivery, hosted by ThoughtWorks in London last month.

Webinar - Emerging Paradigms in Testing
July 20, 2011
10 am PDT | 11 am MDT | 1 pm EDT
Join us for the first of a three-part series on testing. Learn how repositioning testing at the heart of your software development approach not only builds in quality, but also creates value by striving to prevent defects before they occur, enabling developers to get feedback in minutes and regression test results in hours, and enabling businesses to adopt testing activities which are highly aligned with their goals.

White Paper - Redefining ALM with Five Key Practices
In this paper, ThoughtWorks Studios' Ethan Teng, Cyndi Mitchell and Chad Wathington outline the five key organizational practices of Agile ALM: (1) Evolve process definition; (2) Embrace heterogeneity; (3) Build the right thing; (4) Practice Continuous Delivery; and (5) Orchestrate, don't manage. They describe how companies that keep these practices in the forefront of all their software delivery activities will reap the benefits in increased agility.

see all blogs >


News

ThoughtWorks named one of the best and brightest companies to work for in Atlanta
ATLANTA, June 3, 2011 - ThoughtWorks, Inc., the global leader in enterprise Agile development services, today announced it was named one of "Atlanta's 101 Best and Brightest Companies to Work For," by the National Association of Business Resources (NABR). ThoughtWorks, headquartered in Chicago, opened its Atlanta office in 2007 and has seen it grow to more than 35 employees. It added five new employees during the past quarter and expects continued growth during the remainder of 2011 due to increased demand for its services in Atlanta and throughout the Southeast.

ThoughtWorks leads Agile development adoption in South America as demand for IT services in Brazil grows
PORTO ALEGRE, June 27, 2011 - ThoughtWorks, Inc. today announced two thought leadership events in Brazil featuring Agile expert Jim Highsmith and the continued demand for its Brazil-based software development services from IT organizations in both North and South America. ThoughtWorks opened its first office in Brazil in 2009, and has experienced continued growth as the use of "near-shore" IT services based here increases due to a highly skilled talent base, convenient time zone proximity and travel accessibility via overnight flights from the United States.


see all news >

Sign up



We let our practitioners do the talking, so ThoughtWorks Perspectives is just that - a monthly email series of articles and entries from ThoughtWorkers around the world, combined with highlights from our global events calendar to make sure you can come and meet us in person whenever you like.

hear from us >

Upcoming events

  • This one-day training course on Amazon Web Services (AWS) is for all technologists who want to embark on a hands-on deep-dive of the powerful AWS tools. Developed in conjunction with Amazon, the class ...

    London 15th May | 19th June

    read more >
  • Our “Open House” event has already become a tradition. For the fourth time, we are inviting Agile Australia attendees and ThoughtWorks’ friends to our Melbourne home for an exciting night, which coincides with the Agile Australia 2012 conference.

    Level 14, 303 Collins Street, Melbourne, 30th May 2012

    read more >
  • Join us as we present a one day training on Continuous Delivery

    Stockholm, Sweden (SOLD OUT), 10th May 2012

    Stockholm, Sweden (NEW DATE ADDED), 11th May 2012

    London, UK, 17th May 2012

    Berlin, Germany, 12th June 2012

    Düsseldorf, Germany, 14th June 2012

    London, UK, 5th July 2012

    read more >