DevOps is becoming the de facto standard for software development. A quick look at case studies reveals early successes and tremendous potential. Companies that have adopted DevOps principles are disrupting industries, innovating faster and leaving competitors behind. By adopting a DevOps culture, these companies have aligned all stakeholders – from development and operations teams to management and more – around the common objective of delivering quality software rapidly and reliably.
Yet, in the face of mounting evidence of the tangible benefits DevOps provides, many organizations are reluctant to begin a DevOps transformation. Several factors underpin this reluctance, including simple resistance to change. But, as General Eric Shinseki, former chief of staff of the U.S. Army, said, “If you don’t like change, you’re going to like irrelevance even less.”
Another factor is widespread misunderstanding of what DevOps is – a misunderstanding amplified by vendors who say buying their tool will make you a DevOps organization. This confusion contributes to uncertainty about how to adopt DevOps practices.
Yet other organizations dismiss DevOps as another passing fad, or simply don’t think that DevOps applies to them because they are not software companies. The facts, however, support the growing consensus that DevOps is here to stay, and that the benefits of DevOps extend to organizations in any industry. If they have not already started, organizations will need to transition to DevOps soon to remain competitive – even to stay relevant. At first, that may sound like hyperbole, but an increasing number of companies are finding out the hard way that almost every company is a software company, that developers will seek employment at companies where they can innovate instead of fight fires all day and that DevOps is a common sense way to gain a sustainable, competitive business advantage.
DevOps can Disrupt Industries and Speed Innovation
When the healthcare.gov website launched and promptly fell over, there was plenty of blame to go around. Development teams had access to effective tools for software configuration management as well as continuous integration (CI) and continuous delivery (CD) – two enabling technologies for automating DevOps practices. The teams failed, however, to commit wholly to these practices. It took months to respond to the failed launch, and the resulting political fallout led to high-visibility resignations.
Contrast that outcome with that of JPMorgan Chase, which provided its customers with secure, stable mobile apps for traditional banking activities as well as new, modern capabilities such as remote check deposits and instant funds transfers. Providing customers with these capabilities early and rapidly helped Chase improve its ranking from the lowest in customer satisfaction among large banks in 2010 to the highest in 2014[1] .
These two examples are representative of the challenges experienced by many organizations that struggle to deliver software and show the kinds of disruptive, accelerating effects that DevOps can have. Companies that have embraced DevOps are better positioned to solidify their position in existing markets, expand into new markets and even disrupt entire industries. DevOps not only helps Netflix deploy thousands of times each day, for example, it also helped the company disrupt the entire cable and TV industry.
DevOps is for Everybody
Today’s technically savvy customers are accustomed to having immediate access to the benefits of technological innovation, and they’ve grown increasingly intolerant of software that is buggy, unstable or not secure. Customer expectations are driving what is known as the Application Economy, in which customers experience a business through its software. In this economy, technology is a business enabler and the ability to reliably deliver quality software is critical.
Even companies in industries far afield from software have found that they need to become software companies to best support their core business. Consider Ford Motor Company, the Ford F-150 truck features more than 150 million lines of code. A lead engineer on the Ford EcoBoost engine team noted that the “secret sauce” in the success of EcoBoost technology is software.
Any company that needs to deliver quality software faster needs to care about DevOps and the supporting practice of continuous delivery (CD), which enable continuously building, testing and deploying software in frequent, incremental releases. As Henry Ford once said, “Nothing is particularly hard if you divide it into small jobs.”
DevOps is Common Sense
Historically, software was developed using variations of waterfall methodologies with release cycles measured in months or years. Many of the software development practices used today are outdated, having come into existence in the days of shipping software on disks, running batch jobs on a mainframe or even sorting punch cards. In those times errors were costly, thus processes were focused on preventing errors, often by moving slowly through multiple redundant reviews and approvals, rather than finding them quickly and eliminating them.
However, defects inevitably crop up and rework is needed. As such, in following CD practices, release cycles are measured in days, hours or even minutes, and focused on identifying and correcting issues fast. DevOps is a reflection of the industry revisiting outdated concepts and applying common sense changes to meet the demands of the Application Economy.
DevOps Increases Employee Satisfaction
Aside from the software delivery advantages DevOps provides, there are also organizational and human reasons to care about DevOps.
In many software organizations, teams spend too much time fighting fires, moving endlessly from one fire drill to the next. Few people enjoy working this way, and the inefficiencies grind productive work to a crawl.
Most people who have chosen software as a career were attracted by the opportunity to be creative, to innovate and to solve interesting problems. When individuals instead spend their days lurching from one crisis to another, the result is decreased job satisfaction and increased personnel turnover.
Companies that have adopted agile methods and CD practices in support of DevOps have seen an increase in satisfaction for development process stakeholders. Because they are applying modern practices, these companies are attracting and retaining better talent. When employees no longer perform tedious, rote manual tasks and are freed to innovate and make a difference, they are happier. A large financial software company saw a 15 percent improvement in employee satisfaction just weeks after adopting CD in support of DevOps principles. Just as important, a happier and more engaged workforce means increased productivity, lower costs and better software.
DevOps is not a Passing Fad
It can be tempting to think of DevOps as just another passing fad. A few years ago the buzz was all about software-oriented architectures (SOA), but that buzz faded to a whisper. Even though SOA is an architectural pattern and not a process pattern it can still be instructive to compare SOA with DevOps. One of the reasons behind SOA’s diminished popularity is that it was heavily-architected and ultimately cumbersome. Today, SOA has given ground to microservices, which are more finely grained, smaller and lighter weight, making it possible to align the application architecture with smaller, feature-focused, cross-functional teams. Architecturally, the shift has been from heavier and cumbersome to lighter, agile and flexible. The same shift has occurred in moving from heavy waterfall processes to the agile methods and CD practices underpinning DevOps. Across many industries the momentum is behind more agility and flexibility, making it clear that DevOps is not a fad; it’s part of a long-term, sustainable trend.
DevOps is Doable
Making the transition to DevOps may seem difficult, but it is doable by maintaining a focus on pragmatic principles, not dogmatic practices. However, a company should not pursue a transition based on the recommendation of industry analysts. Companies should evaluate the potential difficulties and advantages of a DevOps transition for their specific organization, with an appropriate amount of skepticism for claims that DevOps is the cure for all that ails every software development organization.
In the end, must you care about DevOps? Ultimately, that is for you to decide, but the rapidly mounting evidence strongly suggests that if an organization has not yet begun transitioning to DevOps it had better start soon, before its competitors do and leave it in an untenable market position.
Brian Dawson
DevOps Evangelist
CloudBees
1 JPMorgan Chase & Co., 2014 Annual Shareholders Report, https://www.jpmorganchase.com/corporate/annual-report/2014/ar-downloads.htm