Site logo MinimumCD.org

Minimum Viable CD

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

– Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations

MinimumCD

We, the undersigned, believe that a minimal definition of continuous delivery (CD) is required to improve the flow of delivery and achieve the outcomes above. While our contexts may be different, there are universal practices common in all. 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 has automated testing before merge to trunk
  • Work is tested with other work automatically on merge
  • All feature work stops when the build is red
  • New work does not break delivered work

Trunk-based Development

Trunk-based development is the branching pattern required to meet the definition of CI. 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
    • They re-integrate to the trunk
    • They are short-lived and removed after the merge

Why did we build this?

For background on Minimum CD and answers to other common questions, please read the FAQs.

Starting the Journey

Questions on where to start? Check out some recommendations.

Contributing

Do you want to submit a translation, good practices, suggestions, or an experience report?

Read our contribution guidelines.

Contributors

(53)

Azlam AbdulsalamJustin AbrahmsAustin AbroAnthony AcciolyGraham AllanTracy BannonDoug BarrettIstvan BathaziKaine BentMarc BoudreauKelly BrownsbergerShawn ButtonDaniel CallePatrice CorbardJeff DunnNick EgglestonFerenc ErkiLuiz EsmiralhaAlessandro FardinDave FarleyJavier Lopez FernandezBryan FinsterBrent FisherTiago GabrielChris GallivanMikhail GolubitskyChris GossettNathen HarveyDave Hawes-JohnsonAdam HawkinsFerrix HoviLuca IngianniPatrick S. KelsoMichael KingeryMichael KöpfJan KragJason KrauseAndrea LaforgiaJean-François LépineJesse LinNatalie LunbeckJavier A MagañaJerreck McWilliamsNathan NicholsonJarkko PiiroinenSean PoulterRosalind RadcliffeChristina RhylanderPrasanjit SinghEmiliano SutilJustin ThomsenFalko WernerRavindranath Wickramanayake

Signatories

(192)

Dave FarleyBryan FinsterFerrix HoviJustin AbrahmsJoe ArrowoodJerreck McWilliamsIstvan BathaziSara GramlingTracy BannonDana FinsterPatrick S. KelsoBen LinkChris KernaghanChris GossettJoshua BartonMarc BoudreauCourtney KisslerAndrea LaforgiaCiro Lucio TecceMichael NygardAurel EstoupEmiliano SutilJason WalkerThomas J. SweetKelly BrownsbergerAndrew MarshallVilas VeeraraghavanJavier LopezJavier MaganaFaraz SyedJames SimonNathen HarveyJesse GetzieChristophe ChaudierRosalind RadcliffeAustin AbroRon ForresterDavid Hawes-JohnsonPaul MooreShawn ButtonJustin ThomsenJesse LinMarkus MikkolainenAlessandro FardinJames MoverleyMichael KingeryIsaac Perez MonchoIgor GassmannWayne GaskillChris GallivanAlexander BirkKaine BentAndrew OchsnerStephen MagillJordan SchwartzJean-François LépineMarkus ArikanJeff DunnBob WinterAzlam AbdulsalamJos HendriksNathan NicholsonWilliam H. KirkJohn BoyesPatrice CorbardDirk LehmannNiko KiveläVu HaSrđan ĐukićAndy RothPeter MaddisonCari CopelandKevin LaBrancheBjorn EdwinDaniel CallePhillip ParkerSavinder PuriMichael KüstersBryan GuinnAdam HawkinsGuillaume FaasLeandro ZisJan KragNiko HeikkiläTiago GabrielRay MyersAndrew KhouryBosse NyströmMili OručevićAlbert RigoAnders NyvangChristian PendletonArialdo MartiniJamie TaylorEduardo FerroSumit AgarwalVincent OspaziAngel RiveraJason van BrackelThomas VitaleMartin GrossRichard AbercrombieJoão FariasTycko FranklinAli KamalizadeNikhil ThakareOno VaticoneJordan TEMIMScott HammerBrian LindnerAnyul RivasPeter GfaderPatrick McEvoyDomenico LucianiTareq KirreshDinkar GuptaThomas MuchJohn FlyNick ZdunicAdrienne ShulmanLuke GeeGarrard KitchenGaël HauspieJon Palle HansenPaolo CartaLuca IngianniFalko WernerJared WootenJon FazzaroThomas A. McGonagleFerenc ErkiVincent VaurDenis FavreauJohn WilsonOrtwin De WitteDavid NguyenAnton KollmatsRussell SmileyKevin BootsAnthony AcciolyJeff SchulmanDardan BekteshiDon MurrayAlexander Shikanga-TindiDenis BaltorJoe CrowleyShinto C VTom LinghamAndrew BaldinoHuseyin CaglayanMichael SwitzerJason WeissMaximilian BeckMurat Han CelikDominik GuhrMike CareyDenis ČahukMarcelo ChiaradiaPatrick WollebR SmallegoorVili SeppänenAndrew MacConnellIdan BidaniDoug BarrettJason KrauseJoshua OatesTobias MendeAlvaro J. Lorente P.Daniel LohausenMichael KöpfMarkus J. HaugsdalMatthew KochLage Berger-BrendryenBrent FisherMasi MalmiStefan FrieseHamza RabahRaimund KrämerShane GibbonsDrew DealXavier DelestreRavindranath WickramanayakeAdrian StanekJakub StaryJarkko PiiroinenNatalie LunbeckEric MinickMarc LoupiasPaul HammondIgor KurochkinIvan ZimineEmanuele Filannino