DevOps Is Great Till It Stops
Automation is great until it relies on a human to read a e-mail and take action.
Join the DZone community and get the full member experience.Join For Free
Companies using DevOps automation are more agile. They meet business objectives more quickly and efficiently by deploying more frequent changes. They innovate faster with smaller iterations between requirements, commitments, and deployments. They have lower failure rates and disruptions since recovery times are shorter than their peers. Iterating in smaller, more frequent steps also instills a collaborative DevOps culture across feedback loops and information silos.
DevOps frameworks still have too many manual steps. Most of them are people-related.
Depending on how you set up your development and operations organizations, determines the number of informational silos. You could have four, five, or maybe six different functional DevOps areas. Some of the more common functional areas include Planning, Development, Testing, Security, Deployment, IT Management, or Operations. Each of these functional areas contains its own set of DevOps automation tools and skilled professionals. The DevOps tools inside each of the units automate certain functions but many times don't span more than one functional area. Therefore, many of the suggested DevOps best practices are not attainable in large organizations.
75% of DevOps initiatives will fail to meet expectations due to organizational learning and change issues.
Many of the challenges associated with implementing DevOps automation arise from a lack of communication and responsiveness amongst your development, security, and operations teams. DevOps is supposed to increase speed and collaboration, but it does create some friction or pinch points requiring human intervention that may slow things down. According to Gartner, 75% of DevOps initiatives will fail to meet expectations due to organizational learning and change issues.  A second study from Atlassian states the top DevOps challenge causing failures or delays stems from a lack of organizational alignment and corporate culture.
Top Causes of DevOps Failure
- Failure to Manage Organizational Change.
- Failure to Collaborate.
- Failure to Adopt an Iterative Approach.
- Inability to Manage Expectations About DevOps Initiatives.
Automate Your DevOps Culture
DevOps is a massive disconnected toolchain. There are efficiencies in some parts of the software development organization, but the entire process still requires too many manual steps. And, project sponsors and stakeholders have no idea what constraints you must deal with. They don't know what tools you use and why. They don't know which steps are automated and which are manual. They just have requirements to change the business and deadlines to deliver them.
During a DevOps project, stakeholders will want to understand what is going on or the project's status. Answers like, 'It's going well,' 'It's slow,' or 'I feel good about the release,' aren't answers based on real data. The actual answers are hidden deep inside the development organization and specialized tooling. The answers often reside inside unstructured data like in email, Jira, Slack, or other productivity tools. Working like this may be acceptable at the team level but reporting upward requires unnecessary work. It forces your teams to track down answers based on the real data, sometimes taking days to look up and roll up project status. By that time, the data is days old and outdated.
“Orchestrating people is the hardest part. When someone doesn't respond to an email, we miss a release, and we don't even know why.”
When there are manual checks and balances in the delivery cycle, any delays in reviewing, approving, or initiating the next step, exponentially increase. Decision delays push subsequent steps back slightly, but these manual steps cause the delivery and deployment dates to slip past deadlines in most cases. If IT projects slip past deadlines, they significantly impact the desired business outcomes that initiated the project in the first place.
There Has to Be a Better Way!
DevOps tools should enable and encourage better human-to-computer interaction like an episode of Star Trek. On an episode of Star Trek Enterprise, you can hear these interactions in a conversation. You can not differentiate whether a human, computer, or android is conversing with another human, computer, or android. They all communicate in the same conversation to move the project forward.
When business stakeholders and IT speak the same language, projects move forward. As conversational information flows back and forth, project decisions, milestones, and checkpoints proceed without unnecessary human delay. Adhering to DevOps best practices may be a conversation away:
3 Ways to Increase DevOps Communication
DevOps Project Updates
- Deliver or retrieve answers to strategic business questions in a conversation to gain top to bottom visibility. Eliminate the need to build PowerPoints and dashboards for executive reporting since many decision-makers don't have access to this level of data.
Drive DevOps Culture and Adoption
- By seamlessly orchestrating a cultural change amongst people and automation, you overcome one of the leading causes of DevOps projects' failure.
Automate Compliance Reporting
- Create compliance records as time progresses. Conversational Intelligent Automation automatically creates an audit trail involving every system, every change, every tool, and every person. You no longer need to spend hundreds of hours tracking down change management records.
In most cases, your DevOps toolchain doesn't change — your process does. By automating across functional areas, you will predictably manage complex software development and IT projects by gaining visibility into cross-functional pinch points. All of your people, processes, and technology orchestrate into a centralized conversational intelligent automation framework. You are removing the top causes of DevOps failures.
Stop Making People Understand Yet Another Technology
Instead of making people understand technology to do their jobs, let's make technology that understands how people already do their jobs. Moore's Law states the number of transistors in an integrated circuit doubles every two years. Human cognitive processing doesn't grow at near this rate, but sometimes we expect more capacity from our people than possible.
Isn't it time we started making technology do the work instead of technology making us do it?
Adding a Little Orchestration and Messaging With Conversational Intelligent Automation
Every vendor will say that adding another tool will make your life better, and this is true if it does bring novel capabilities that you need. In this case, the core of getting a conversation across humans and computer processes is what is missing. Each will play an important role.
Think of it this way. Every time a different DevOps software completes a task it is up to a human to monitor and push to the next step. Adding conversational intelligent automation fulfills a critical gap. A one-hour delay, one missed Slack message, one day of vacation, and it all breaks! Emails and notifications don't escalate to the next person when you are on vacation. The messages just sit and wait.
Providing visibility into all of the gaps and manual steps between your DevOps tools is a difficult task. There are just too many point products. However, if your project sponsors, management, development, security, compliance, and operations teams could automate takes between products, they can remove project delays associated with manual steps. And stop asking for status reports. They can look it up themselves. Conversational intelligent automation can fill in the gaps by mimicking how we already communicate in conversations. We could reduce wait times related to human-based verifications, approvals, or escalations. Commands are precisely how you already seek information by conversing with colleagues and customers:
- Use existing DevOps automation tools.
- Better orchestrated people and strengthen DevOps cultures.
- Automatically log compliance and security steps for auditing.
- Easy adoption.
If you can converse via text or chat apps, then look into conversational intelligent automation. It will answer your question literally via a conversation. By utilizing existing communication methods in the form of a conversation, you take advantage of how we already communicate. The great thing is you won't need to train people to chat. They do it every day. With intelligent automation, you use technology that understands people — your very own Star Trek episode.
Published at DZone with permission of Scott King. See the original article here.
Opinions expressed by DZone contributors are their own.