What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...
Back in June, at a CIO engagement, one Chief Technology Officer stated bluntly that the biggest challenge for DevOps was Ops. He believed the best way to have a successful implementation was to completely cut the Operations Team out of the strategic leadership discussions. One senior leader asked him how could they truly call it DevOps; without "Ops" it simply is just "Dev." This reminded me that DevOps implementations can be hindered by lack of involvement from both the business and technology leadership as the team initiates and creates the new DevOps culture.
In Part 1 of this blog series, I provided an overview of the Top 5 Challenges and Solutions the business faces when the technology team implements a DevOps Strategy. In Part 2 of the 3-part series on Challenges and Solutions for implementing DevOps, I will focus on technology leadership challenges and suggested solutions.
Challenge 1: Starting with technology solutions
One of the key mistakes repeated by technologists is focusing on the technology solutions instead of the customers' requirements. As a result, they end up with solutions that fail to fulfill the minimal requirements for the company to be successful. This has led to a commonly held belief by users that IT exists in a bubble and $1.9 billion in unused IT Projects, according to PEW Research. (2015, PEW)
IT can address this challenge by working with its business counterparts to understand the "people" and "process" aspects prior to recommending technology solutions. A user-centric service approach will also help streamline the process to distill requirements down to the minimal viable product.
Challenge 2: Maintaining silos
The political landscape of a company can significantly impact your DevOps initiative. DevOps implementations can fail to realize their full potential value if the approach is too narrow or if IT maintains the current silos instead of assessing how the new process and platform can identify and consolidate duplicate sets of compute and data.
For example, one large financial services organization reported over 20+ silos of customer information and data that existed as a result of the multiple application siloes. This created significant frustration within the company, the business, and its customers because the systems did not sync. The silos caused multiple data entries for even a simple action, such as a customer request to update their address or contact information. Through micro services, the company reduced the siloes and eliminated a significant amount of duplicate efforts by both the business and technology teams. One key requirement for DevOps success is to proactively choose to eliminate siloes of competing work and/or create new ones.
Challenge 3: Beginning with Dev and ending with Ops as an afterthought
I interviewed 50+ IT leaders for my recent book. Interviewees who stated that they tried to develop their DevOps strategy in a vacuum within Dev, while not including Ops from the outset, have failed and flailed. Over and over, by the time the Ops team was pulled in, it was too late. The Dev team already had bought into their preconceived notions regarding critical Operations functions around scalability, reliability, serviceability, and security. This caused the implementation to fail. Why? Because the operations experts that understood those areas of the process were not consulted, so they did not buy in. As a result, the implementation fell apart.
To ensure success, invite the right people to have a seat at the table. One way to achieve this is by reimagining the software development lifecycle process as one technology initiative from the CIO down. This approach will reduce the political friction that can lead to failure.
Challenge 4: Treating DevOps as a Project rather than a Culture Shift
Similar to Business Service Management, DevOps can become a point of political friction within a company with multiple teams vying to be the owner or decision maker of the implementation. This approach often fails because DevOps is a cultural shift. Exclusively cutting out one team or creating DevOps in a vacuum not only increases friction, but also introduces risk into the company environment.
From my research, I learned about a continuous integration, continuous delivery process from development having significant impact on the network performance and ISP costs. By treating DevOps as a Dev Project, they failed to have the operational support or knowledge to reduce the risk to the business. A few interviewees reported that DevOps was being treated like a project and, as such, the resources were moved to other projects when they achieved the minimal viable product. Neither the business nor developers were comfortable adopting a process without dedicated resources to maintain it.
Challenge 5: Disengaging, delegating and disconnecting from the DevOps Shift
The final challenge that came up in my interviews with IT leaders was technology leadership disengaging, delegating or disconnecting from the process. In doing so, DevOps did not catch on as there was too much resistance to the cultural shift.
Technology leadership must stay completely engaged and involved to ensure the success of both DevOps and the overarching Digital Transformation the company is going through.
Read Part 3 of the series, covering the Top 5 Technology Implementation Mistakes.