The Shippable Blog

Why DevOps Efforts Fail

[This article was originally published on SDTimes as a contributed article.]

The main goal of DevOps is simple: ship software updates frequently, reliably, and with better quality. This goal is somewhat 'motherhood and apple pie', and every organization will agree that they want to get there. Many will tell you they've already embarked on the DevOps journey by following some commonly followed frameworks, such as CALMS

However, very few will express satisfaction with the results. After speaking to 200+ DevOps professionals at various stages of the adoption lifecycle, we found that organizations generally fall in one of 3 categories:

We were most interested in groups 2 and 3 since they were actually in the middle of their DevOps journey. When asked to better explain the challenges and roadblocks, here is what we found:

  • 68% said the lack of connectivity between the various DevOps tools in their toolchain was a very frustrating aspect.
  • 52% said a large portion of their testing was still manual, slowing them down 
  • 38% had a mix of legacy and modern applications, i.e. brownfield environments. This created complexity in terms of deployment strategies and endpoints, toolchain, etc.
  • 27% were still struggling with silo'ed teams that could not collaborate as expected
  • 23% had limited access to self-service infrastructure.
  • Other notable pain points included finding the right DevOps skillset, difficulty managing the complexity of multiple services and environments, lack of urgency/budget, and limited support from executive leadership.

Let us look at each of these challenges in greater detail.

The Future Of DevOps Is Assembly Lines

Last week, we announced the General Availability of Shippable Server, the behind-the-firewall version of our hosted platform. We also articulated our vision around where DevOps is today and why Assembly Lines is the future of DevOps.  

As I think about our journey from CI to Assembly Lines, it mirrors the journey of most organizations as they mature their DevOps efforts. In a nutshell, DevOps has created an awareness of the need to automate and be more efficient in terms of software delivery. However, most of the focus around the how has been around cultural changes and tools that help automate bits and pieces of the end-to-end software delivery workflow. This has led to the formation of "islands of automation" that are optimized for specific tasks but do not enable the holy grail of Continuous Delivery or Continuous Deployment. To achieve those goals, you need an Assembly Line platform that takes all these tools and connects them into end-to-end workflows with complete visibility, traceability, and auditability.

So let's take a look at this journey, and dig in a bit deeper into why Assembly Lines are the essential factor to DevOps success. 

Demystifying DevOps terminology

Last week, we announced the General Availability for Shippable Server. With the announcement, we also articulated how we see DevOps: both as it is today and where the next wave is headed. For more context on our vision for the next wave, aka DevOps Assembly Lines, you can read our whitepaper.

However, before discussing evolution of DevOps, we found that most folks we spoke to were confused about the plethora of terms that are thrown around. A few are Continuous integration, Continuous Delivery, Continuous Deployment, CI/CD, Application Release Automation (ARA), and Pipelines. Tool vendors seem to use these terms interchangeably, but they each have distinct meanings that you should understand so you can also figure out which part of the DevOps puzzle is addressed by the vendor. 

This blog provides definitions for each term along with some examples. We are working on a detailed whitepaper that will also include an opinionated list of tools available for each term below. 

10 Things to Consider While Choosing a CI Platform

Continuous integration (CI) is a software development activity that requires developers to integrate all source code into a shared repository several times a day. Each commit is then verified by an automated build, allowing teams to detect defects early in the cycle. The result of a CI step is typically a unit-tested and consistent codebase.

DevOps Resources: TOP News and Discussions

In our last blog, we shared the top books about DevOps to read, and this time it is about the places online where you can find tutorials, news, and discussions about DevOps. No doubt, DevOps is trending worldwide in the software industry, and anybody who is willing to learn more about DevOps should be updated with all the latest trends. We are making this effort to share the best resources with you since we are noticing a lot of people asking questions like how they can become DevOps engineers or what it even means to "do DevOps".