State Of DevOps Report

The 2017 version of Puppet’s State of DevOps Report was just released.

To me, the most interesting takeaways from the report are:

  • High performing teams have 46x more frequent deploys, 96x faster mean time to recover/repair and a 5x lower change failure rate.
  • They also automate significantly more work (automation is a key ingredient of any successful DevOps strategy).
  • A lower change failure rate and significant automation mean these teams spend 44% more time on new work (and 26% less time on unplanned work and rework).
  • Developers in high performing teams generally work in small batches and practice Trunk Based Development. Low performing teams on the other hand use long-lived feature branches and merge infrequently to trunk or master (read on for my thoughts about feature branches).

The road to continuous deployment (PHPCon Poland 2016)

Below are the slides of my talk “The road to continuous deployment: a case study”, as presented at PHPCon Poland in October 2016.

It’s a situation many of us are familiar with: a large legacy application, limited or no tests, slow & manual release process, low velocity, no confidence…. Oh, and management wants new features, fast.

But how to proceed? Using examples and lessons learned from a real-world case, I’ll show you how to strangle the legacy application with a modern service architecture and build a continuous deployment pipeline to deliver value from the first sprint. On the way, we take a look at testing strategies and various (possibly controversial!) tips and best practices.

CD: Continuous Delivery or Continuous Deployment?

I’m writing this post to contribute my take on the acronym CD, and the distinction (or perhaps, confusion) between the phrases Continuous Delivery and Continuous Deployment. These phrases are used interchangeably, and sometimes incorrectly, in various books, blogs and talks. And while these software engineering approaches (or disciplines) share a lot, there is one key difference.

Read more

The road to continuous deployment: a case study

Below are the slides of my talk “The road to continuous deployment: a case study”, as presented at the Dutch PHP Conference in June 2016. I’m planning to dedicate a series of blogposts to this particular topic later this year.

It’s a situation many of us are familiar with: a large legacy application, limited or no tests, slow & manual release process, low velocity, no confidence…. Oh, and management wants new features, fast.

But how to proceed? Using examples and lessons learned from a real-world case, I’ll show you how to strangle the legacy application with a modern service architecture and build a continuous deployment pipeline to deliver value from the first sprint. On the way, we take a look at testing strategies and various (possibly controversial!) tips and best practices.