Shinichi Urano's personal blog

Mostly thoughts around Software Development and Entrepreneurship

Why every CIO needs to look at DevOps

Posted at — Jul 10, 2014

Software is eating the world. That’s how Netscape founder Marc Andressen describes it.

It’s always been obvious that so-called high-tech companies live and die by their technological prowess. What is becoming more evident today is that we’re entering an era where all companies must compete by their technological prowess.

There are headline-grabbing stories that herald this era. Netflix vs. Blockbuster is a recent example. Driven by technology, a disruptive start-up took over an industry.

In a less obvious manner, similar stories are unfolding in every vertical, and in every segment. When you look at companies that are growing and gaining market share, you find that innovations are fueling their growth. Often these innovations are not technological (from customers’ point of view). But inevitably, technology is a key enabler.

In these companies, business leaders are turning to their CIOs to be key partners in business innovation. From amplifying their workforce productivity to creating new offerings, the CIOs are now being asked to understand the business more intimately, and to offer up services that cater to the business’s specific needs.

Gone are the days where the CIO could just support the business using off-the-shelf software. Business demands IT services that give them an edge. That means custom software, or at least heavily customized software. That’s where DevOps comes in.

DevOps is basically the concept of Agile extended to the entire application lifecycle. The goal is simple; to continuously deploy new features and services into production, without disrupting business. The results are impressive, with recent PuppetLabs survey reporting that high-performing organizations are deploying code 30 times more often with 50% fewer failures. In this era of rapid innovation, the benefit of being able to push new capabilities to users is tremendous. But how does DevOps accomplish this? The trick is to focus on streamlining change.

Change is hard. Change is risky. Traditional IT organizations typically avoid and minimize change. If there is custom development, developers are sequestered in a silo to create a package of changes over time. Plans are created to deploy the big change – a culmination of months of coding. And when the big deployment breaks and production suffers downtime … well, change is hard, right? So in the next iteration, developers work harder and longer to test their changes, and more planning is done. In the meantime, operations introduce onerous change management processes that make it even more difficult to introduce change. The result is a longer deployment cycle at the cost of marginal risk reduction. It’s a death spiral that will surely kill an IT organization in this new era, where business agility is a requirement for survival.

DevOps approach is to break this cycle. It says that we must embrace change. Deploy changes into production as often as you can.

Development people should be judged on how many changes they have successfully deployed, not how many lines of code they’ve written. The same is true of operations people; how many changes have they successfully deployed, not how many problems have they encountered.

When an IT organization shifts its focus in this direction, two remarkable things happen. First, the scope of each change is naturally reduced, and that reduces the risk of introducing a problem. Second, the drive to deploy often necessitates adoption of automation tools to perform the deployments, and automation (removal of manual processes) further reduces the risk.

In a good DevOps shop, new IT services can be introduced swiftly and safely to support any business initiative that may be on the CIO’s plate. Adopting DevOps-based mindset and instilling it in the IT organization should be one of the key objectives for any CIO looking to be the Chief “Innovation” Officer.

We’re living in exciting times. The CIOs are uniquely qualified to drive business strategy.

Are you a CIO who is entrusted to help your business innovate? Then you should take a hard look at DevOps. It might save your job.

Or are you a CIO working in a company that does not ask your help in business innovation? Then start looking for another job, because your company may not be around for long.