From the Blogosphere
The Textbook Definition of #ContinuousDelivery | @DevOpsSummit #DevOps
Doing DevOps right involves tradeoffs, risk management, and decisions about the future
By: John Esposito
Apr. 18, 2016 09:00 PM
To paraphrase Kent Beck: software delivers no value apart from runtime. Ideas take physical form in hardware, virtualized only part of the way down, and someone other than the developers makes the ideas manifest. So then: ops folks are the crop's caretakers; developers design the seeds.
Well, of course this isn't true. Developers don't turn pie-in-the-sky math into socially constructive math that sysadmins then make useful. No: developers write code that makes things happen. We care about runtime just as much as ops, so we need to know how our software is helping people in reality-and how it can do a better job-in order for us to refine both the ideas and the implementation.
So cycle-time shortening-the metric of continuous delivery, and one of the Twelve Principles of Agile Software-is equally about users and makers. Working software delivered sooner is better for users than equally working software delivered later. And informative feedback gleaned more quickly from real-world use is better for developers than equally informative feedback gathered more slowly. Your customers' problem space measures your software's value better than your requirements specification ever could. Calibrate against that space as often as you can.
But not all defects appear immediately (sometimes not even for years), and the real-world harm caused by certain defects far outweighs the benefits of quicker delivery. So doing DevOps right involves tradeoffs, risk management, and decisions about the future, all made in uncertainty. And real-world experience in Continuous Delivery matters a lot.
To help deliver this hard-won experience, below I've included some of the key research findings from a group of nearly 600 IT professionals that responded to a Continuous Delivery Survey. You might be surprised to learn about some of the findings that relate to the modern challenges (iterative roadmapping, security) and solutions (containers, microservices) for DevOps professionals striving for the CD ideal.
Here Are the Demographics of This Survey:
The Textbook Definition of Continuous Delivery
Containers Are Hot, but There Is a Learning Curve
Some Companies Overcome Barriers More Easily Than Others
However, respondents at companies that were either very small (1-4 employees) or mid-sized (20-99 employees) were more likely to cite lack of time as a major barrier (62% and 60%, respectively), and only very small companies (1-4 employees) did not consider the lack of engineering skills to be a significant barrier (39%). We can reasonably conclude that smaller companies and startups are more likely to have issues related to time when they start implementing Continuous Delivery, if they did not begin life that way, and that as companies grow, a more silo-focused culture grows with it, making DevOps practices more difficult to adopt.
Dev and Ops Collaboration Is Improving
What Processes Impact Collaboration
For this year's survey, we asked our users if their software delivery process included any of the following processes: builds broken up into stages, performance issue detection, security issue detection, usability issue detection, visibility to all stakeholders in the organization, a thorough audit trail, automatic checks to proceed, manual checks to proceed, automated performance testing, and automated feature validation. This was to gauge if using these techniques lead to any improvements in DevOps collaboration, and what organizations working to achieve Continuous Delivery were focused on. Of those organizations, 66% have adopted builds broken up into stages, 62% include manual checks to proceed, and 53% include automated checks to proceed. This indicates that organizations moving towards Continuous Delivery are making changes to their pipeline that will make it easier and faster to deploy changes to software in production, while maintaining high quality.
Organizations whose development and operations teams deploy code to production use these processes 15% more than organizations where only development deploys changes, and 15% more than organizations where only operations deploys changes to software. Within collaborative organizations, the two most used processes were visibility available to all stakeholders (53%) and automated feature validation (51%). This indicates that (1) automated testing and validation is gaining significant traction within teams who are trying to collaborate more; and (2) that allowing all stakeholders visibility into the process suggests that when management is more invested in creating a DevOps culture, development and operations are more likely to work together and adopt new technologies.
For more information about this research and its findings, visit: https://dzone.com/guides/continuous-delivery-3.
Latest Cloud Developer 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