Giter Site home page Giter Site logo

cd-manifesto's Introduction

Continuous Delivery Manifesto

"Continuous delivery improves both delivery performance and quality, and also helps improve culture and reduce burnout and deployment pain."

-- Accelerate

We believe that a minimal definition of continuous delivery (CD) is required to improve the flow of delivery. While our contexts may be different, there are universal practices. By defining them we can:

  • Introduce new practitioners in a consistent way
  • Discuss engineering practices that comprise CD
  • Help each other improve current capabilities

Only by implementing core practices do we begin to see the benefits of continuous delivery.

The practices below are the minimum, a starting point. Continuous improvement of the speed, quality, and safety of the delivery pipeline is the expected outcome.

Continuous Delivery

CD is the engineering discipline of delivering all changes in a standard way safely. It covers a broad spectrum of activities depending on what is being delivered. However, there are behaviors and abilities that must be met in every context to qualify as "continuous delivery"

The minimum activities required for CD are:

Continuous Integration

CI is the activity of very frequently integrating work to the trunk of version control and verifying that the work is, to the best of our knowledge, releasable.

The minimum activities required for CI are:

  • Trunk-based development
  • Work integrates to the trunk at a minimum daily
  • Work is tested before merge to trunk
  • All feature work stops when the build is red
  • New work does not break delivered work
  • Work is tested with other work automatically on commit

Trunk-based Development

Trunk-based development is the safest branching pattern. It prevents lost work, the risk of corruption that comes from merge conflict resolution, and also reduces movement waste that increases batch size.

  • The minimum activities required for TBD are:
    • All changes integrate into the trunk
    • If branches from the trunk are used:
      • They originate from the trunk
      • The re-integrate to the trunk
      • They are short-lived and removed after the merge

Signatories

Name Contact
Bryan Finster https://www.linkedin.com/in/bryan-finster/
Joe Arrowood https://www.linkedin.com/in/joearrowood/
Jerreck McWilliams https://www.linkedin.com/in/jerreck/
Patrick S. Kelso https://www.linkedin.com/in/patrickkelso/
Istvan Bathazi https://www.linkedin.com/in/ibathazi/

Beyond the Minimums

Resources for improving the delivery pipelines to move from "basic" to "elite"

Implementing Continuous Delivery

Continuous Delivery Pipelines by Dave Farley

Engineering the Digital Transformation by Gary Gruver

Continuous Delivery by Dave Farley and Jez Humble

Continuous Delivery YouTube Channel by Dave Farley

Acknowledgements

This is the outcome of several meetings at the bar at the DevOps Enterprise Summit in October, 2021. It is our consensus of the bare minimum implementation of CD.

cd-manifesto's People

Contributors

bdfinst avatar ibathazi avatar jerreck avatar joearrowood-e99965 avatar justinabrahms avatar patrickkelso avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.