From the Blogosphere
The ‘What’ and ‘Why’ Behind Continuous Delivery | @DevOpsSummit #CD #Agile #DevOps
Users’ needs have evolved – they expect more releases and features which waterfall just isn’t able to deliver
By: Automic Blog
Aug. 25, 2017 05:00 PM
The ‘What’ and ‘Why’ Behind Continuous Delivery
In the digital age, speed is everything and no-one wants to be left behind. Being slow to react is the first and, most likely, final nail in the coffin for a 21st century company. The rigidity of the traditional ‘waterfall' development approach was overhauled by the ‘agile' philosophy. And with agility things have changed; its brought into reality the idea of continuous delivery.
Move with the Times or Get Left Behind
Those who have adopted continuous delivery are already reaping the rewards. They're seeing how it significantly improves your time-to-market: as your changes can be published almost instantly, you're no longer restricted by a rigid release schedule. You become much faster to react, to iron out bugs and release features. Your customers are more satisfied than before, which is what we ultimately strive for.
Shipping a release has traditionally been momentous, something we want to shout about, and rightly so. Ironing out those bugs or releasing those long sought-after features is no small feat and takes a huge amount of effort from everyone involved. There's nothing worse than shipping, only for new bugs to crop up, or the software to crash. Continuous delivery allows you (in theory) to continually deploy - just not always to customers. Pushing your stable code to UAT environments or staging reduces the risk around the production release. Now, you're no longer deploying once every few months: you can be releasing every single day.
There are often barriers, inefficiencies and hidden costs in the release cycle which, historically, went unnoticed until launch. Continuous delivery highlights all these flaws, making them clear to the business and senior management members, who are in charge of making decisions. Pipelines will be much more transparent: you'll know where and when manual, human input will be required, where bottlenecks will crop up, where automation can be implemented. The pipeline now creates a clear incentive for a dynamic software delivery schedule, replacing a notion of dissatisfaction with costly, long and arduous release windows.
Flexibility is one of the main selling points of the model. Yes, there is an initial outlay in terms of infrastructure, in both software and operational architectures, but once this seed is sown, the benefits are there to be reaped. Features and fixes are now available to be pushed to specific individuals or customer subsets, ensuring the functionality works as expected. Or the features can remain dormant within the product, awaiting a future release which could be sparked by a marketing push for example. In the past, trying to devise such functionality would have been a logistical and costly nightmare. With continuous delivery, it's par for the course.
The rewards speak for themselves. Like I said, continuous delivery is simple - in theory. The difficulties arise in its implementation.
The Pains of Changing
Therein lies the problem. For large companies, it can take months, if not years, to move complex applications to continuous delivery. It requires a complete mind-set overhaul to adapt to this new process. New behaviors and practices must be learned, architecture will probably need revisiting as will software development processes. Top-down changes must be implemented in order to promote a culture of collaboration.
In all honesty, continuous delivery can seem a tough sell when presenting the concept to senior management for a number of reasons. Firstly, they have their own day-to-day tasks to see to, which depending on seniority levels, are going to take up much of their time. They may not be as tech-minded as yourself and may not be able to immediately see the benefits of implementation. They also have their own views, priorities and goals, which may vary from yours.
The barriers to employing continuous delivery may seem insurmountable at times but, as we've seen, the benefits of the approach speak for themselves. That's how you'll sell the approach to senior stakeholders.
Automation is the key
The entire philosophy is built around flexibility, around agility; code changes and releases could be occurring at any time. Without the right automation processes in place, saving manual testing, deployment and releases, we'd be back at square one: the cumbersome waterfall approach. Manually overseeing each of these processes would completely defeat the entire goal of continuous delivery. But, like I said, times really have (a) changed.
Latest AJAXWorld RIA Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week