Continuous Delivery Pipeline — Where Does It Choke?

Ebook and paperback are available at:

I have worked in Continuous Delivery projects for yet-to-be-famous tech startups and with well-established companies like Apple, Yahoo!, GoPro, ThoughtWorks, and PricewaterhouseCoopers Ltd. I share my experience of releasing software from a source code control repository to Production, and how the manual processes can be fully automated with good design and smart decisions.

In this book, I zoom in on the choking points, so that my readers can accelerate through their own design and implementations. This is how I have structured the book:

Chapter 1: Introduction

Eases my readers into understanding and appreciating a Continuous Delivery Pipeline, removes confusion between Continuous Integration and Continuous Delivery, gives a brief introduction about me and who I am grateful to.

Chapter 2: Pipeline Architecture and Design

Establishes basic definitions, explains how CD’s success depends on the Product Architecture, designs the CD Pipeline Architecture, designs the various stages of the Pipeline from Git to Production, talks about Pipeline Visualization and the emphasizes the importance of managing Pipeline artifacts.

Chapter 3: Continuous Testing — Choking Points

Discusses the types of tests that need to be done in the Pipeline, the tests that are not types by themselves but just concepts, a three-tier Test Framework Design that improves maintainability, Test Data Strategy and Data Generation techniques, the downside of traditional Test Case Repositories and Test Reporting as part of Continuous Delivery.

Chapter 4: Continuous Deployment — Choking Points

Discusses dependency management, pre-deploy hooks and post-deploy hooks, anxiety about deployment to Production and Immutable Infrastructure.

Chapter 5: Code Promotion — One Stage At A Time

Discusses institution of software gates that allow/disallow the flow of code from one stage of the Pipeline to the next, all the way to Production through a Continuous Delivery environment.

Chapter 6: Release and Change Management

Discusses Feature Branches, respecting the Mainline, Feature Toggles, Release Toggles, Business Toggles, Rollback Strategy, A/B tests and Canary Releases.

Chapter 7: The Magnificent Seven

Discusses the seven areas, which have tripped Continuous Delivery teams in the past, namely Cloud, Big Data, Data Science, Databases, Mobile, People and Budget.

Chapter 8: Continuous Delivery Analytics

Detailed discussion on success metrics, pre-production signals, post-production signals, Stability Index and its relationship to signals and designing Continuous Delivery dashboards that measure ROI.

Chapter 9: CD-as-a-Service

Talks about designing a CD Minimum Viable Product, discusses offering the CD platform as a PaaS such that teams can sign a Pipeline Contract and hop on, discusses the structure of the Pipeline Contract and how to make CD-as-a-Service secure.

Chapter 10: Continuous Delivery in an Agile Framework

Discusses the importance of having a single, prioritized Product Backlog, Sprint Backlog, Feature Team, Product Owner and their roles in CD, Scrum Master, Tech Lead, DoD — Definition Of Done, Impediment Backlog and how code is the new documentation, unless it’s spaghetti.

Chapter 11: The Beginning

Discusses CD patterns and anti-patterns and illustrates how Continuous Delivery can be applied to industries other than software.

Chapter 12: Resources

Lists a set of resources where you can find great information.

Overall, this book discusses Continuous Delivery Pipeline design and implementation aspects from a software engineer/architect’s perspective and provides thought leadership for teams starting out to build a Continuous Delivery Pipeline. This also helps teams fine-tune and improve ROI for their existing pipelines.

Other short reads from the author:

Juni’s LinkedIn profile: