DevOps has become a trending topic in the tech industry over the last decade, gaining the attention of both developers and the C-suite. Despite some legitimate debate over what it does and does not entail, this interest in DevOps has elevated the discussion around software development practices and the impact they can have on how businesses rise and fall.
What is DevOps?
At Appirio, we define DevOps as:
A combination of practices and tools that automate development and IT processes to improve products at a faster pace with continuous building, testing, and release management.
The practice of DevOps is to regard IT processes as central to a business’s ability to deliver value to its customers, and to continually improve the process of delivering new functionality while ensuring quality and stability. It encompasses longstanding development practices — such as continuous integration, continuous delivery, automated testing, and infrastructure as code. As such, it’s become a catch-all term for development process improvements both new and old.
So what does DevOps look like “in the wild”?
In practice, DevOps is not something you’re ever “done with”. In that sense it’s like “collaboration” or “efficiency” — a principle to adopt and a goal to always improve upon. The core metric used to determine successful implementation of DevOps is called “cycle time” — how long does it take your organization to deploy a single line of code to production? It is important that any changes delivered to production be well-tested and made in a controlled way. But increased delays in delivering features to production means greater delays in getting feedback. Delayed feedback means that improvements and bug fixes are delayed, and developers have to continuously re-visit work that they may not have touched for days, weeks, or even months.
There are many examples of companies like Amazon, Google, and Etsy who continuously deliver innovation as a result of automating and optimizing their development processes. For companies like these, their development processes are central to their businesses. And their CEOs and other leaders recognize IT process improvement as being every bit as critical as reducing their overhead and building market share. There are also many companies in industries like banking, communication, and manufacturing (such as Capital One), who have shifted to viewing themselves as technology companies, with technological innovation as a core competency.
What’s driving the need for DevOps?
Some companies have been automating and optimizing their internal processes for decades, while others have only recently begun to consider this. Probably the best industry-wide survey of DevOps maturity is the State of DevOps Report by Puppet Labs and DORA (DevOps Research & Assessment), which shows striking differences between DevOps “haves” and “have-nots”. High-performing DevOps teams deploy far more frequently, have vastly shorter cycle times (lead time for changes), fewer failures, and quicker recovery from failures compared to low-performing teams.
There are also large differences based on industry and technology. At Appirio, a huge portion of our consultants focus on Salesforce.com. Because moving to the cloud dramatically simplifies many of the challenges in delivering IT functionality, many Salesforce customers have been able to innovate quickly without having DevOps practices in place. But even without the hassle of managing servers and building software from scratch, the inevitable growth of complexity eventually drives companies to DevOps practices — such as tracking and deploying changes from version control.
Appirio’s DevOps Innovations
Salesforce has recently made huge strides to enable DevOps best practices with their Salesforce DX innovations. And Appirio has launched a complementary set of tools and processes called AppirioDX to enable our customers to quickly automate their development pipelines.
At the heart of DevOps is the process of continuous improvement, inspired by the Japanese process of kaizen. The implication is that you should get started now, while adopting a discipline of continuous improvement, coupled with the playfulness and flexibility to innovate and experiment. The first and most important step is to capture the state of all of your systems in version control and to perform all your deployments using Continuous Integration (CI/CD).
As experts in technologies such as Google, Salesforce, Heroku, and mobile development, Appirio has broad familiarity in implementing automated development processes and automated testing. We have strategy experts who can help your business assess what process improvements are most critical to your ability to innovate. Reach out to us to arrange a DevOps Assessment and get a customized roadmap to DevOps success.