DevOps is not necessarily a “natural” process. Asking people to function outside of their comfort zones and prescribed roles is a challenging task for any organization, and requires a shift in organizational behavior. We believe that while DevOps is not natural, a supernatural result is achievable with the right cultural transformation supported by good tools that drive collaboration and automated flow between people and tools in the application delivery workflow.
We define DevOps as the application of the principles of continuous flow, feedback and improvement to people, process and technology for increasing agility, stability, security, efficiency, quality and satisfaction. Or, to quote from Michael Schmidt’s article, “Ten ways DevOps will benefit your IT department“: “When implemented properly, DevOps can transform your software engineering process and create value for both employees and customers, producing business performance and value.” These are huge “supernatural” benefits that every business would like to achieve.
Implementing DevOps properly is challenging. DevOps depends on collaboration; smooth process flow from conception through deployment; and feedback between people, processes and technologies. It’s more natural for people and departments to hoard information and centralize control—traits that are contrary to DevOps best practices. People tend to trust their own abilities and are skeptical when they need to trust dependencies on others. People view competition with others as a means to personal advancement. Compounding this, organizations often manage, measure and reward success at the silo level instead of recognizing a successful delivery as a result of successful execution across the end-to-end DevOps value stream.
Breaking down silos through transparency and the free exchange of information helps organizations implement the unnatural DevOps processes needed to achieve supernatural results. Fortunately, the transformation is assisted with technology. For example, continuous automation tools liberate sharing of infrastructure, application and compliance information. Pauly Comtois, Hearst’s vice president of DevOps, describes the role of strong tooling in successful DevOps transformations in his article, “Enterprise DevOps at Hearst Digital Media“: “Tools can be an incredible asset in this regard. We deploy Chef across multiple teams in the value stream, automating the deployment, configuration and state of environments in Dev, QA and Production.”
In scenarios such as the example above, tools support integrated and automated processes for builds, configuration, infrastructure and deployment management. Information managed by continuous automation tools is available for DevOps uses by providing a single “public yet controlled” source of truth for configuration data useful by all processes and tools in the toolchain across the end-to-end pipeline. Those who were concerned and hoarded configuration data can trust that the tools will keep the information secure, reliable and available on demand as readily accessible code.
Moving beyond the natural behavior of organizations and individuals is difficult, but success can create supernatural results for long-term growth and team effectiveness.