Continuous Delivery: Maybe The Singular True Advancement in Software Development Over the Last Decade
Ah, advancements. A word as loaded as a Christmas dinner plate. In an industry as dynamic as software development, where the landscape seems to change quicker than one can keep up with, there's a lot of noise about what constitutes "advancement." Agile, DevOps, AI, Blockchain — the buzzwords are endless. But let's cut through the fog and say it as it is: Continuous Delivery (CD) stands out as probably the only true advancement we've seen in the last decade. In this post, we'll explore why that is the case.
But before we proceed, let's set the stage. The term "Continuous Delivery" was coined by Jez Humble and David Farley, and they wrote an insightful book about it back in 2010.
What is Continuous Delivery?
Let's not be victims of terminology; Continuous Delivery isn't just a snappy phrase. At its core, CD is about making software changes of any type — new features, configuration changes, bug fixes, experiments, and so forth — in a safe, quick, and sustainable way. It's an idea that harmonizes well with Agile and DevOps methodologies, but make no mistake, it's not a mere extension of them.
The Illusion of Advancements
Before we dig into why CD shines so brilliantly, let's talk about what often passes for "advancement" in our industry. Yes, I'm looking at you, "Machine Learning." An exciting term, sure, but let's separate the signal from the noise. Have these so-called advancements fundamentally changed the way we deliver reliable software? For the most part, no. They might have augmented certain processes, automated some tasks, but they haven't altered the DNA of software development and its delivery pipeline.
领英推荐
Why Continuous Delivery Matters
Here's the real kicker: CD addresses the fabric of software development. It doesn't just add a layer of sophistication to existing practices; it transforms them.
Conclusion
We may romanticize many advancements in the software world, but when the dust settles, Continuous Delivery remains as perhaps the only concept that has profoundly changed our approach to software development over the past decade. It aligns with the core principles of agility, rapid feedback, and customer-centricity, things that aren't just fads but pillars of effective software engineering.