View All Videos

DevOps is not a technology problem. DevOps is a business problem.

10

Damon Edwards / 

Update: follow-up post about the competitive business advantage that DevOps enables.

 


Since Patrick Debois called for the first DevOps Days event and unleashed the term “DevOps” upon the world, there is no denying that DevOps has evolved into a global movement.

Of course, DevOps has its detractors. Negative opinions range from the misguided (“DevOps is a new name for a Sys Admin”) to the dismissive (“DevOps is just some crazy Devs trying to get rid of Ops” or “DevOps is just crazy some Ops trying to act like Devs so they will be better liked”) to the outright offended (whose arguments tend to defy logic).

I’ve spent the past nine months or so overcoming resistance to the DevOps movement in both public forums and inside client companies. During that time, I’ve begun to notice a common misconception that I think is fueling much of the negative initial reaction that some people have to DevOps ideas. I want to take a shot at clearing it up now:

DevOps is not a technology problem.

Technology plays a key part in enabling solutions to DevOps problems. However, DevOps itself is fundamentally a business problem.

What does the business have to do with DevOps?

The most fundamental business process in any company is getting an idea from inception to where it is making you money.

Within that business process there are all kinds of activity that needs to happen, some technology-driven and some human-driven. This is where all of the different functions of IT come into play. Developers, QA, Architecture, Release Engineering, Security, Operations, etc each do their part to fulfill that process.

But if you take away the context of the business process, what have you got? You’ve got a bunch of people and groups doing their own thing. You lose any real incentive to fight inefficiency, duplication of effort, conflicts, and disconnects between those groups. It’s every person for themselves, literally.

But you know what else happens if you remove the context of the business process? Your job eventually goes away. Enabling the business is why we get paychecks and why we get to spend our time doing what we do.

If there is no business to enable or we don’t do any business enabling, this all just turns into a hobby. And by definition, it’s pretty difficult to get paid for a hobby.

The whole point of DevOps is to enable your business to react to market forces as quickly, efficiently, and reliably as possible. Without the business, there is no other reason for us to be talking about DevOps problems, much less spending any time solving them.

 

 

Doesn’t this sound a lot like the goals of Agile?

If the goals of DevOps sound similar to the goals of Agile, it’s because they are. But Agile and DevOps are different things. You can be great at Agile Development but still have plenty of DevOps issues. On the flip side of that coin, you could do a great job removing many DevOps issues and not use Agile Development methodologies at all (although that is increasingly unlikely).

I like to describe Agile and DevOps as being related ideas, who share a common Lean ancestry, but work on different planes. While Agile deep dives into improving one major IT function (delivering software), DevOps works on improving the interaction and flow across IT functions (stretching the length of the entire development to operations lifecycle).

 

But I thought DevOps was all about cool tools?

Technology is the great enabler for making almost any business process more efficient, scalable, and reliable. However, we have to remember that on their own, tools are just tools.

It’s just as likely that you’ll use a new tool to reinforce bad habits and old broken processes as you will to improve your organization. It’s the desired effect on the business process you are supporting that dictates why and how a tool is best used.

When people are clear on what their DevOps problems are and what process improvements need to happen to remedy those DevOps problems, the tool discussion becomes rather straightforward (if not trivial).

Since the nascent DevOps movement is mostly made up of technologists, it’s easy to understand why there is such excitement to jump right into tooling discussions. But perhaps we need to do more to make sure that everyone is up to speed on why the tools are needed and what the desired business process improvements are before diving into our standard “Puppet vs. Chef” or “Files Centric vs. Package Centric” arguments.

 

If DevOps is about a business process then why is it called “DevOps”?

In my opinion, one fault of the early DevOps conversations is that it wasn’t immediately clear just how big the scope of this problem truly is. Now that we have a year of perspective behind us, it turns out that we have been attacking one of the biggest problems in all of business: How to enable a business to react to market forces as quickly as possible.

But alas, the conversation had to start somewhere so it gravitated to the almost universal problem of conflict and disconnect between Developer culture and Operations culture. Every org chart is different, but it’s fairly easy to cartoonishly divide the world into a Dev camp and Ops camp for the sake of having common reference points to discuss (even though we all know the world is much more complex and grey).

Within that cartoon Dev/Ops example, most of the early DevOps attention has been about improving deployment activity. Since change activity makes up the bulk of the work across an IT organization, that too was a logical and natural place to start.

Maybe Patrick should have called that first event “BizDevQASecurityOpsCloudUsers Days” or “SolvingABroaderProblemThanAgile Days”… But I doubt anyone would have shown up.

10 Responses

  1. Borislav Arnaudov says:

    Hi Damon,
    I am always trilled to hear some news from you or any other cloud and devops guy. I think this post is right on target. It is really the business that glues the things us, the tech guys do. Even more, it is really the reason we do it. This however is something lots of the tech guys cannot realize. On the other hand the business cannot understand it as it is technology related and we all know that the business guys understand only the sound of money 🙂
    Anyways, this leads me to something very important in my opinion. First, we have to explain to the tech guys what devops really is. We should do it in a clear manner so that they see by themselves that it is not some fancy new word, but a truly brilliant way of doing things. After this is done and everyone is on the same page we can continue to step 2. Explaining the business guys with simple non technical words what devops is, and how it can bring them money. Also why they should strive for it. This mindset ofcourse must be shared with the tech guys.

    I hope I made myself clear and I will look forward for some more insights from you on the topic:
    – Some best practices and tools, and other stuff that can help me and others like me more easily explain what devops is to other tech guys.
    – Some success stories to make it easy to explain it to the business, and anything else that you think should be useful 🙂

  2. Great post! I think that "agile" similarly ends up boiling out into levels like this – at the topmost, "agile" in general is just "How to enable a business to react to market forces as quickly as possible" as well, primarily by leveraging rapid collaboration as a technique. It's kinda split off into "dev specific" and "ops specific" and DevOps is a bit of the "don't forget to collaborate".

    Now, I do think that there's enough issues specific to the domain of "the agile collaboration between developers and operations groups" that we shouldn't dilute DevOps to be "life, the universe, and ITIL." But it is good to recognize that there is a larger business-wide agility and collaboration structure that involves many more stakeholders that ideally it should slot into.

  3. Greg says:

    Damon,

    I don't have much to add other than "great post." Good rebuttal of the DevOps detractors and I personally found your distinction between DevOps and Agile very helpful.

  4. Damon Edwards says:

    @Ernest… Sharp as always! I definitely didn't mean to imply that DevOps includes everything in IT (including ITIL… yikes). That diagram was a one that I created for a different presentation and was meant to show that DevOps is about making Agile Dev and Agile Ops work as an increasingly tight loop (with ITIL just included in the picture for a frame of reference). To you point about DevOps being "the agile collaboration between developers and operations groups"… yes that is the manifestation of it done right. But my point was that we have to understand that collaboration is not the end goal or our raison d'etre… enabling an idea/change to get from inception to where it is making the company money is. And we have to think bigger and broader if we want to make sure our Dev and Ops collaboration efforts move the needle on that.

    @Borislav I agree that more real world examples or case studies are needed. I'm working on some things like that right now. One difficulty is that many companies (including many clients) are afraid of airing their "dirty laundry". They don't want that phone call from their boss' boss asking why they showed the world what their problems are/were. So instead we get lots of generic "how to use tool xx" examples and not a lot about changing culture or fixing broken processes.

    @Greg Thanks! and thanks to AppDyanamics for contributing to the DevOps discussion!

  5. Nik says:

    Great post!

    I think the key trigger why DevOps is so in vogue right now is because Software-as-a-Service has made the disconnect between development and ops so glaringly apparent.

    In the SaaS world, the impact of changes the development team make are felt immediately – you push bad code to the cloud, you immediately suffer the consequences.

    In the traditional boxed product world, operations had time to adapt to changes and put processes in place. With SaaS, they have to be as Agile as the developers and adapt operations on the fly. In an ideal world, I believe DevOps should be able to write code or leverage tools that can

    a) monitor all essential metrics that keep the software service alive
    b) manage software and hardware infrastructure actively
    c) allow them to optimize all of the above constantly
    .. in a constantly evolving cycle.

    @Damon – you said you wanted real world examples. In this ChangeLog podcast Corey (GitHub) and Seth (OpsCode) share some really valuable insights: http://ow.ly/19pxN9

  6. Abbasi says:

    Awesome Article. Clear Illustration.

  7. Hi Damon,

    Thanks for the article. I know you published this more than a year ago but it's still informative and relevant, especially given the evolution of the "DevOps" concept, over the last year. I have a request…

    Could you please post an article that shows how Engineering fits in?

    From experience, we all know that Engineering and Software Development are "both" forms of development. When the world says DevOps, they talk about "Dev" as "Software Dev" and rarely, if ever, speak of Engineering as a form of Development.

    My Best,

    Frank Guerino
    Chairman
    The International Foundation for Information Technology (IF4IT)

  8. Derek says:

    I was doing DevOps back in 2001.. it kinda annoys me that it has been painted as something new.

    • Damon Edwards says:

      Hi Derek,

      Not sure why you are annoyed…

      Is it because you consider these “solved” problems? If that was the case then the desire to improve wouldn’t still exist 10+ years later and there wouldn’t be such enthusiasm from, first, the practitioner level (DevOps started grassroots with DevOps Days events) and now the analyst/CIO/vendor level. There must be something new about DevOps that wasn’t there before.

      Or is it because you had it right and others didn’t? If that’s the case, then can’t you just be happy that others have finally discovered what you knew and are embarking on the path to reach your level of enlightenment?

      -Damon

  9. […] de software, alguns uma abordagem para o gerenciamento de TI, enquanto outros o chamam de “movimento global“. O ponto em comum na descrição DevOps é em grande parte uma reação à abordagem de […]