To gather insights for DZone's Continuous Delivery Research Guide, scheduled for release on January 26, 2016, we spoke to 24 executives who are implementing continuous delivery in their own company or helping clients do so.
Specifically we spoke to:
Casey Kindiger, CEO, Avik Partners | Ez Natarajan, Vice President Cloud, Beyondsoft | Tom Cabanski, Director of Software Development, Blinds.com | Kurt Collins, Director of Technology Evangleism and Partnerships, Built.io | Chris Madsen, CEO, Circonus | Steven Anderson, CEO, Clutch | Yaniv Yehuda, Co-Founder and CTO, DBmaestro | Andreas Grabner, Technology Strategist, Dynatrace | Elaina Shekhter, CMO, EPAM Systems | Charles Kendrick, CTO and Chief Architect, Isomorphic Software| Baruch Sadogursky, Developer Advocate, JFrog | Topher Marie, CTO, JumpCloud | Edith Harbaugh, CEO and Co-Founder, Launch Darkly | Jessica Rusin, Senior Director of Development, MobileDay | Stevan Arychuk, Strategic Marketing, New Relic | Arvind Mehrotra, President and Global Business Head, NIIT Technologies | Zeev Avidan, Vice President Product Management, OpenLegacy | Richard Dominguez, DevOps Engineer, Prep Sportswear | Prashanth Chandrasekar, General Manager of DevOps and Head of Operations, Rackspace | Steven Hazel, CTO, Sauce Labs | Bob Brodie, CTO, Sumo Heavy | Dr. Chenxi Wang, Chief Strategy Officer, Twistlock | Scott Ferguson, Vice President of Engineering, Vokal Interactive | Adam Serediuk, Director of Operations, xMatters
When we asked, "How do you define DevOps?" here's what they said:
Maintenance required for running the systems. Maintaining the box and keeping it up to date. Keeping the heart beating.
It's a way to smooth the process of developing and releasing code – how to make it easier. Hiring DevOps engineers helps you streamline the process and make it easier for developers to work on the code they care about.
It’s not a position, it’s a collaboration mindset between individuals that want clean, quality code development that works as it should. TIP, or Test in Production is an agile property of quick consistent release. Also keep CAMS in mind: customer service, automation, measurement, and sharing.
It’s a macro concept and transformational sea change of shipping code better and faster.
A process where development and production are integrated with a lot of things in production specified by developers and vice versa. It's a real-time feedback loop.
The way programming and languages have grown. Developers need a solid understanding of what they are working working with and need to know what a system looks like. DevOps started with developers understanding what they're running, the languages, the systems, and the ability to automate whatever they can.
Learning the moment the product is launched. DevOps is about detecting issues early in a product development lifecycle. As soon as something begins responding abnormally, you will learn from whatever continuous data stream you point to.
Ability to rapidly deploy new features for their service. iPhone apps change as soon as Apple will let them. Developers, quality assurance, product marketing, and finance want to see what happens to application performance and the bottom line. DevOps ensures the platform is stable with data centers and cloud technology. Orchestrating is a nightmare without details on how databases or servers are working, configured, and performing. Each group in the organization has different responsibilities and needs different information. Companies have four or five different dashboards to get data from different systems. We integrate data into a single dashboard and use other tools to drill down for root cause analysis. It's the ability to know that a disc is going bad on a database server that’s going down.
It’s not about creating teams and departments, it’s about streamlining delivery and automating compliance. You need to understand the entire process in a secure, repeatable manner. You need to spin up environments quickly so teams are not constrained.
Operations and Systems Administration work with developers to launch software quickly. It’s a cultural movement of people collaborating in a cooperative fashion.
There is no wall between development and operations. Smooth workflow from developers to customers.
A culture practiced by organizations focused on continuous delivery to the end user.
An approach to building a software ecosystem with self-healing, self-correcting abilities. You need highly mature software services that know how to take corrective action and leave problem solving to non-critical time periods. DevOps is a way to build service to scale in an uninterrupted way.
What good teams have been doing for a long time. DevOps uses communication to solve problems.
Three big challenges in a traditional environment: 1) quality of code across stages; 2) velocity issues; and, 3) the wait-time issue.
In charge of operation and availability – everything running and playing nicely together. DevOps is the CEO of the end product solution. Developers are the CEO of the product. You also need to move faster, which means being agile and in the cloud. The next question is how to automate and how to get teams to collaborate.
Closer collaboration between development and operations team. It’s more important to change the way the organization does processes to support Agile, continuous deployment, continuous delivery, testing, and deployment. You need to approach configuration as code.
It’s a culture, not a tool, a culture that brings developers and production engineers together.
Merger of software development with all of the operational elements that are required for production. Focus on design, development, and communication to end up with a higher quality product.
Breaking down the barriers between development, operations, and support roles so that feedback flows in all directions, opportunities for automation are recognized, and the overall process of software delivery can be made more efficient.
I think our industry has realized that arbitrary and artificial boundaries between roles in the technical organization leads to an abdication of responsibility. Infrastructure, production, and security problems are not just “Ops” issues, nor is the job of delivering solid, functional products a “Dev”-only responsibility. All of these aspects of software services are fundamental to the success of a company, and every engineer needs to be conscientious and informed about the process as a whole. Whatever your specific definition is, at its core, DevOps is about removing arbitrary boundaries through communication and defined process. It's a decision to engender a holistic understanding of the broader impact of every decision – on every part of the system – by every engineer on the team.
We implement Agile thinking throughout the entire process – lean, efficient, preserve methods, development, testing, and release. Everyone is in sync as the result of collaboration and good communication. Collaboration, communication, and automated processes are necessary. These need to be repeatable processes without skipping steps. Developers need to be involved with the customer requirements.
Is your understanding of, and experience with, DevOps consistent with the perspective provided by these executives? Please let us know!