Gary L Shaffer Jr
DevOps is broken. Quick Wins.
Updated: May 24, 2022
A follow-on article on DevOps is Broken. How to address the issues with your current DevOps process.
If you read our previous article we discussed why we believe DevOps is Broken and some of the signs that it may be broken within your organization. We may have been a bit harsh because in reality, DevOps is not broken. It is always evolving but in most cases, unfortunately, we as an industry have not implemented it correctly.
Below are a few ideas on how to address your DevOps process if you are struggling with modern software delivery and DevOps.
Quick wins to address your DevOps and software delivery challenges
#1: Simplify your life
Our first reason for why "DevOps is broken" was that DevOps has become too complex. This primarily is due to the speed of innovation, number of tools in the market and lack of standardization around all the above.
On average, for every seven developers there is a need for one DevOps Engineer
The majority of our customers are all moving toward the same goal. Facilitating an efficient DevOps process that supports the ability to deliver software more quickly and efficiently with minimal errors and security vulnerabilities. Everyone is at a different place along that journey. Before you go procure that next DevOps tool, or hire the next Engineer to maintain what you already have, you should first look to:
Identify your minimum requirements to deliver code to your customers
Consolidate your toolchain based on the previous outcomes and requirements
Begin automating any and all steps needed to deliver your software
That level of effort on that third point will vary from team to team. It may take you one month or it could take you a year. In either case you have a plan to automate and start going down the right path.
If you find team members resistant to ditching a tool, or so tied to an antiquated process or "this is the way we've always done it" way of doing things ... always ask WHY.
Why do we have this requirement?
Why do we need this specific tool?
Why do we do it this way?
It can be painful, but we have always had better outcomes when we're not afraid to ask the question of "Why?".
#2: Break Down Barriers
Our second reason as to why we think DevOps is broken was that teams are still Silo'd.
Many organizations are trying to force DevOps into an old team structure with silos and antiquated practices. This limits the pace, flexibility and scalability at which modern software development can be facilitated.
I still believe that automation is the best facilitator and first step towards a proper DevOps culture. It forces communication between teams and people that normally did not work together but are now required to in order to adopt a DevOps environment.
To address communication look to:
Speak with your organization stake-holders and clearly define expectations of your product
Identify and communicate concerns with current processes, potential impedements and technical blockers that would keep you from meeting those expectations.
Meet with team and business unit leaders and open lines of communications with the teams.
Speak with your technical leaders and architects. Identify a standard platform and set of rules that will consolidate and modernize your tech stack, automate the desired outcomes and (most importantly), resolve any potential blockers brought on by process.
#3: Get rid of the technical debt
We have been building CICD pipelines and automation to accomplish tasks for a long time. Every organization is trying to accomplish the same task, with the same (or similar) tools to accommodate the same programming languages and frameworks 80% of the time.
We should be focused on our product, not process. Build once and move on.
The need for CICD abstraction is here, and fortunately a few solutions are beginning to emerge. Our platform TruStacks of course, but also there are a few like CodeNow and Harness.io trying to provide that next generation of software delivery solutions. We are all focused on outcomes, not specific tools.
If you are familiar with Red Hat Ansible, that community commoditized automation by working with all vendors and the ability to automate nearly every technology.
It is now time to focus on CICD abstraction land commodify CI tools with solutions like Dagger.io. We highly recommend you check them out as they are now the first option in the market to commodifying CI tools. We use this OpenSource project in our TruStacks platform to drive your code through the workflows.
If you would like to learn more on how to address your DevOps , software development or Kubernetes needs feel free to meet with us using the link below. We would love the opportunity to learn more about you and your specific challenges and are happy to help in any way we can.