Making the Case for DevOps
Unless you’ve been living under a rock, you’ve likely heard the phrase DevOps. It’s kind of become a squishy and often overused term, yet most people (my fellow developers included) still don’t seem to know what it really means, nor the impact it can have on the business.
Since DevOps has become a passion of mine recently, I thought I’d write this post to help explain what it is, and more importantly, help other developers make the business case for DevOps in their own organization. Spoiler alert: It has a less to do with the common “more frequent releases &
The Business Case
Recently, I found myself in a meeting with our executive team where I was trying to make a case for why we needed to hire more engineers. Having a developer background, I kept making my arguments through the lens of the technical complexity of the product, the growing technical debt, and the laundry list of features we need to work on.
While all of these things were true, none of them made a compelling case as to why the business should invest more money into the product. And, in the end, that’s really what I was asking for…Not developers per se, but a business investment.
When making the case for DevOps within an organization, it’s easy to get lost in a sea of technical facts about faster release cycles,
But We’re Not a “Software Company”
Hate to break it you, but yes… you are.
If you’ve not heard the phrase DevOps before, you’ve almost certainly heard the phrase digital transformation. Which is just a fancy way of saying that you are now a software company whether you intended to be or not. The Amazons, Ubers, and Airbnbs of the world have proven that no industry is safe from disruption.
In order to compete in an increasingly digital market, companies are going to need to adopt the same lean, agile practices and digital experiences these disruptors have prided themselves on investing in throughout the years.
To add fuel to the fire, all these new “unintentional software companies” are finding themselves competing for the same prized resource: Developers. A recent study conducted by Stripe reports that access to developers is a bigger threat to success than access to capital.
Maybe that sounds surprising to some, but it makes sense.
Why? Because good developers would rather spend time on innovation and improving a product to help their business meet its goals instead of spending as much time as they do worrying about implementing and managing multiple processes around testing, collecting feedback, release approval, cutting releases, and more.
For this reason, it’s no surprise that developers tend to gravitate towards companies who embrace true DevOps methodologies. But often, it can be a daunting challenge for businesses that are just ramping up their digital transformation efforts to understand the nuances of a good DevOps approach that will attract the right talent.
All of this said, transforming your organization into a DevOps powerhouse doesn’t happen overnight. For businesses looking to embrace this new methodology, it’s important to take smaller steps first to ensure a stable foundation to scale your approach. So, let’s take some time to break it down and focus on the basics to get your company well on its way to better understanding and kickstarting DevOps, internally.
DevOps: What It Is and What It Isn’t
Let’s start by understanding what DevOps is and some common misconceptions. DevOps can sometimes be confused with Continuous Integration & Continuous Delivery (CI/CD
DevOps, at its core, is all about creating a culture of increased communication and process with better information sharing across teams and organizations. By adhering to a philosophy of transparency, agility, communication, and process it improves feedback loops so that teams can better and more easily:
- Gather feedback from key stakeholders and customers
- Solve problems and discover new features—faster
- Release product improvements faster than the competition
- Improve customer satisfaction quickly…
And, so much more—Thus improving key factors that drive business results. When DevOps is executed effectively, it impacts all levels of the organization from marketing to customer success and sales.
That said, it’s often the engineering team with the biggest wins early in the adoption process, which is due DevOps’ emphasis on automating repetitive engineering tasks so that the team can focus more of their time and energy on improving the product and innovating for the business.
This means that if you’re early on in your DevOps initiative, the first system you’ll want to get in place is CI/CD. But beware: No matter what companies tell you, there is no “magic bullet” product out there that will fix your organization overnight. In order truly transform your business into a DevOps machine, you must first have company-wide buy-in to invest in a culture that embraces process and agility.
From there, teams can begin to iteratively improve their DevOps approach to collaborate more effectively and focus on seamlessly building and shipping releases that will have a meaningful impact on the business. So let’s share a bit on how you can get started.
Where to Begin?
As I mentioned, Continuous Integration and Continuous Delivery (CI/CD) can be a great place to start with implementing DevOps.
Continuous integration is the process by which every time a developer on the team checks in new code, automated builds and tests run. This is the first step in a series of quicker feedback loops that can help notify the developer of issues with their code, so they can make changes faster and continue focusing their time on what matters.
For example, if the developer checks in code that fails to build, or breaks the tests, the build system will immediately notify them so they can fix the problem and avoid compounding issues, which can easily grow more complicated over time and take days to debug.
Continuous delivery is more about automating the promotion of your code through a series of production-like environments while streamlining the gathering of feedback and approvals from stakeholders along the way.
There are many products out there that can help create the CI/CD pipeline that’s right for your organization. That’s why it’s important to not only have buy-in from your business to commit to the cultural shift required for
At Ionic, we believe that the world of mobile, hybrid CI/CD is a uniquely challenging and time-consuming system to set up and maintain. More than that, DevOps engineers are becoming increasingly sought after and are still quite expensive, resulting in them being few and far between.
That’s why we’re excited to share that we’ve been in active development on our own cloud-based CI/CD product to help enable businesses and developers to focus on the good stuff (innovation) while we handle the rest (automating tedious processes).
Just as our open source Framework enables web developers to create amazing cross-platform, mobile apps and helps widen the talent pool for companies creating Ionic apps, we believe our product will allow those same web developers to bring CI/CD to their organizations and begin championing DevOps practices without having to spend days and weeks learning specialized software skills and maintaining build servers or environments.
So, if you’re a developer looking to make a case for DevOps within your organization, consider calculating the time and cost savings an improved agile culture and dedication to certain dev processes can have on your business.
When you position the problem as not just a list of technical things that need to be fixed or supported, and instead frame DevOps as process automation that can impact your company’s bottom line, you’re much more likely to garner buy-in from the top and be on your way to making a significant impact on not just your engineering team, but departments throughout your entire organization.
P.S. We’re on the hunt to discover more about how businesses are embracing DevOps and what changes they’re observing as a result. Please consider taking a brief survey below and sharing your story!