Why “Enterprise DevOps” Doesn’t Make Sense

Recently, some folks have been suggesting that we need a new form of DevOps, something called “Enterprise DevOps” or “Big DevOps.”

DevOps is great, the argument goes, but large enterprises don’t operate the same way as the agile web startups where DevOps was birthed, and thus they can’t implement the same DevOps methodologies as those startups. Large enterprises have bigger teams, more inherent operational complexity, and greater governance controls (both self-imposed and externally-imposed); therefore, they need a different type of DevOps that caters to their sensibilities and not those of agile web startups.

While it’s true that large enterprises do operate in a different environment than agile web startups, none of that makes a difference from the point of view of adopting DevOps.

In short, if you’re advocating for Enterprise DevOps as something different than Plain Ol’ DevOps, then you’re missing the fundamental essence of DevOps.

Here’s why.

Early Thinking: DevOps = Tools + Culture

To best understand DevOps, we need to understand where it came from.

DevOps started as a bottom-up collection of best practices with few formal underpinnings. System administrators and developers were looking at the successes of agile development practices and trying to apply some of the same ideas to the whole development-to-operations process. Practitioners in the trenches stepped forward and said, “This is what we’re doing and it seems to work for us.”

One of the earliest and most visible examples of that was John Allspaw’s and Paul Hammond’s presentation at Velocity in 2009, titled “10+ Deploys Per Day: Dev and Ops Cooperation at Flickr.”

[youtube http://www.youtube.com/watch?v=LdOe18KhtT4]The video is well worth your time, as is the presentation on Slideshare:

[slideshare id=1628368&doc=allspawhammondvelocity2009-090623161942-phpapp01]

Note that this presentation predates the actual creation of the name “DevOps.” Allspaw and Hammond talk about how Dev and Ops teams can work productively together, but they never say “DevOps.” Patrick DeBois would coin the term later that year when he created the first DevOpsDays.

In the presentation, Allspaw and Hammond discussed the success they were able to achieve at Flickr and provided a set of recommendations that they think are important, separated into two buckets:

  1. Tools
  2. Culture

In the Tools category, they provided six recommendations:

  1. Automated infrastructure
  2. Shared version control
  3. One step build and deploy
  4. Feature flags
  5. Shared metrics
  6. IRC and IM robots

Along the way, they mentioned that Flickr used:

  • Chef, Puppet, CFEngine, and other automation tools
  • SVN for version control
  • Hudson for builds
  • Ganglia for monitoring

Finally, in the Culture category, they listed four additional recommendations:

  1. Respect
  2. Trust
  3. Healthy attitude about failure
  4. Avoiding blame

Unfortunately, most people missed Hammond’s remark ahead of the Tools section of the presentation (timecode 7:40):

These are some of the tools that work for us. They are not necessarily going to work for everyone, and throughout we’re going to give examples of the specific tools that we use, but the important thing that we’re trying to get across is the concepts that are important.

In the years following, many self-proclaimed “DevOps engineers” (a bit of an nonsensical title if you understand that DevOps is about bringing Dev and Ops engineers together, not creating new types of engineers focused on nothing but DevOps) insisted that if you were automating your releases using Jenkins and Chef and treating the other members of your team with respect, you were “doing DevOps.”

While Allspaw’s and Hammond’s presentation was excellent (seriously, spend the time watching it) and the advice was practical and valuable, many people walked away with only a vague notion of what would later be called DevOps.

For instance, in the “One step build and deploy” recommendation, Allspaw and Hammond describe their automated system that moves code into production. Developers can click a single button to make a build live. The button is jokingly labeled “I’m feeling lucky” (in homage to Google, I’m sure).

If you’re an agile web startup, that’s par for the course.

But if you’re a large financial services company, you’re likely to think, “No! Our governance folks will never let developers push code straight to production with a single click, never mind the ‘I’m feeling lucky’ labeling. No way. Not gonna happen.”

When people suggest that we need “Enterprise DevOps,” they’re typically reacting negatively to the choices that others have made. They recognize that those solutions won’t work for them for any number of reasons, and they say, “I can’t use that. I need something different.”

But here’s the thing — DevOps isn’t about the specific implementation choices. Those are all optional. You can make a completely different set of choices than Allspaw and Hammond and still be “doing DevOps.”

Unfortunately, subsequent conferences were filled with DevOps presentations that just reiterated the “DevOps = Tools + Culture” mantra and provided similar sets of recommendations that were often drawn from agile startups rather than from large enterprises.

So, does that mean Tools and Culture aren’t important for DevOps?

No, not at all. Both Tools and Culture are critical for DevOps in the long run.

The problem that DevOps seeks to solve, however, is not a Tools problem or a Culture problem but rather something more fundamental.

In order to understand DevOps, you need to focus on the ultimate goal.

The Firm Foundation: The Toyota Production System and Lean Manufacturing

The Phoenix ProjectIn 2013, Gene Kim, Kevin Behr, and George Spafford wrote The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win.

The trio’s contribution to the DevOps movement was in recognizing that enterprises had confronted a similar set of issues previously, but in a different domain — manufacturing — and that similar solutions could be applied to software engineering and application operations. (The group took another cue from the manufacturing world, copying the novelization technique from Goldratt’s The Goal to create a fictional case study where the characters were allowed to wrestle with the fundamental DevOps truths being discussed.)

The key takeaway from The Phoenix Project is that DevOps seeks to create a smooth and increasingly speedy flow of change from development into production, with as little waste along the way as possible.

The GoalThe models here were the Toyota Production System (TPS), Lean Manufacturing, and Goldratt’s Theory of Constraints.

In the world of manufacturing, we have a physical product that moves through a factory, either on a formal assembly line, or from processing step to processing step, as part of a value stream. Each step along the path is supposed to “add value” to the product until it completes its journey and exits the factory to be shipped to customers.

If you’re a manufacturing engineer, you need to do everything possible to create a smooth flow through the value stream by identifying constraints in the system and eliminating waste of time or resources.

In the software world, application artifacts and changes move through the software development and operations value stream, with each step designed to “add value” and get the changes into production.

If you’re a development or ops engineer, you need to do everything possible to smooth the flow through to production. The techniques you use are similar to a manufacturing engineer — you identify constraints in the system and go about eliminating waste of time and resources.

The Kata is the Key

Following Toyota’s success, the TPS and Lean Manufacturing were all the rage in the manufacturing world.

Consequently, many western manufacturing engineers studied Toyota’s systems in great detail. They noticed a variety of tools and solutions that Toyota used to optimize manufacturing flow, and they recommended their use to their employers and clients. Toyota’s Kanban, for instance, was heavily promoted in the manufacturing world, and later made the jump to software engineering.

Interestingly, the manufacturing world has suffered much of the same confusion that’s now happening in the DevOps world. When they tried to employ the tools and techniques they had learned from studying Toyota, things didn’t work as expected.

Toyota KataMike Rother, author of Toyota Kata: Managing People for Improvement, Adaptiveness, and Superior Results, described the situation in the manufacturing world this way:

Looking back, we naturally put Toyota’s visible tools in focus first. That is where we started— the “door” through which we entered the Toyota topic. It was a step in the learning process (which will also, of course, continue after this book). Since then I went back to the research lab–several factories–to experiment further, and present what I learned in this book. The visible elements, tools, techniques, and even the principles of Toyota’s production system have been benchmarked and described many times in great detail. But just copying these visible elements does not seem to work. Why? What is missing?

Later, Rother continues:

Toyota opens its factory doors to us again and again, but I imagine Toyota’s leaders may also be shaking their heads and thinking, “Sure, come have a look. But why are you so interested in the solutions we develop for our specific problems? Why do you never study how we go about developing those solutions?” Since the future lies beyond what we can see, the solutions we employ today may not continue to be effective. The competitive advantage of an organization lies not so much in the solutions themselves—whether lean techniques, today’s profitable product, or any other— but in the ability of the organization to understand conditions and create fitting, smart solutions.

Focusing on solutions does not make an organization adaptive. For example, several years ago a friend of mine visited a Toyota factory in Japan and observed that parts were presented to production-line operators in “flow racks.” Wherever possible the different part configurations for different vehicle types were all in the flow racks. This way an operator could simply pick the appropriate part to fit the particular vehicle passing down the assembly line in front of him or her, which allows mixed-model assembly without the necessity of changing parts in the racks. Many of us have been copying this idea for several years now.

When my friend recently returned to the same factory, he found that many of the flow racks along that Toyota assembly line were gone and had been replaced with a different approach. Many of the parts for a vehicle are now put into a “kit” that travels along with the vehicle as it moves down the assembly line. When the vehicle is in an operator’s workstation, the operator only sees those parts , and she always reaches to the same position to get the part.

My friend was a little upset and asked his Toyota hosts, “So tell me, what is the right approach? Which is better , flow racks or kitting?” The Toyota hosts did not understand his question, and their response was, “When you were in our factory a few years ago we produced four different models on this assembly line. Today we produce eight different models on the same line, and keeping all those different part variations in the flow racks was no longer workable. Besides, we try to keep moving closer to a one-by-one flow. Whenever you visit us, you are simply looking at a solution we developed for a particular situation at a particular point in time.”

As we conducted benchmarking studies in the 1980’s and 90’s and tried to explain the reasons for the manufacturing performance gap between Toyota and other automobile companies, we saw at Toyota the now familiar “lean” techniques such as kanban, cellular manufacturing, short changeovers, andon lights, and so on. Many concluded— and I initially did too— that these new production techniques and the fact that Western industry was still relying on old techniques were the primary reasons for Toyota’s superior performance.

Rother concludes that the secret to the Toyota Production System and Toyota’s success was not any one particular tool or technique, but rather the Toyota Improvement Kata, which focused on continuous improvement of everything at Toyota, seeking to establish flow and eliminate waste.

Toyota Kata is a great book and if you want to understand DevOps, I encourage you to get a copy and read it for yourself. Kevin Behr recommended it to me and I was pleased to see Jez Humble reference Rother’s story, above, in his recent QCon talk on DevOps.

What is DevOps?

So, after all that, what are we left with?

What is DevOps?

Cue the trumpet fanfare…

Fundamentally, DevOps is the activity of optimizing the development-to-operations value stream by creating an increasingly smooth, fast flow of application changes from development into operations, with little waste. Optimization of the value stream takes place continuously using various continuous improvement techniques like the Toyota Kata.

“Is that it?!” I hear you cry.

Yes, that’s it.

“No way!”

Way.

“But what about Tools and Culture?! What about continuous delivery and Jenkins?! What about automation? What about mutual respect?!”

Yes, those are all in there, too. But those are the equivalents of Rother’s “kanban, cellular manufacturing, short changeovers, andon lights, and so on.” They are solutions to particular problems that you might be faced with.

If, during the course of trying to optimize your value stream, you’re faced with the problems that those tools and techniques solve, then you might try them out as solutions. Or you might not, if your situation dictates differently.

The key is to understand that simply deploying a tool or even a broad solution without thinking through your unique situation and the current state of your value stream and its current constraints is foolish. After all, the specific solutions that are applicable to an agile web startup have a high likelihood of being inapplicable to a large enterprise. And vice-versa.

Why “Enterprise DevOps” Doesn’t Make Sense

So, that brings us right back to where we started.

Enterprise DevOps doesn’t make sense because it confuses the forest for the trees. Those advocating for Enterprise DevOps make the mistake of focusing on specific tools and solutions (Jenkins, Kanban, etc.), then find them wanting for various (extremely valid) reasons in an enterprise context, and then reject DevOps in favor of Enterprise DevOps, which they suggest is somehow different.

But DevOps is about flow and continuous improvement, not about specific solutions. Flow and continuous improvement are equally applicable to a large enterprise as they are to an agile web startup. And if you miss that, you’re lost, regardless of the tools and solutions you choose.

To implement DevOps, you need to learn how to map your value stream, identify the constraints in it, and then use a continuous improvement kata to develop specific solutions for your particular problems at this point in time in your particular organization.

If you’re a large enterprise, the problems and constraints that you face will undoubtedly be different than those of an agile web startup. So, you’ll necessarily need to select different solutions.

That doesn’t mean you “aren’t doing DevOps!”

Rather, it means that you’re doing DevOps correctly.

And remember that whatever solutions you come up with to your particular problems and bottlenecks, they are likely to be temporary. As Toyota said to Rother’s colleague, solutions are only applicable to a particular problem at a particular point in time.

Epilogue: A Bitter Irony

Some of the earliest work on what would become DevOps grew out of some ideas that Andrew Shafer was kicking around in late 2008.

At the Agile 2008 Conference in Toronto, Shafer proposed a birds-of-a-feather session about “Agile Infrastructure.” Only a single person showed up — Patrick DeBois. He found an empty room. It turned out that Shafer skipped his own session because he received such poor feedback about it and thought nobody was interested. Shafer and DeBois later discussed Agile Infrastructure and many ideas that would later become DevOps in the hallways at the Agile 2008 Conference.

Shafer also presented on Agile Infrastructure at Velocity 2009:

[slideshare id=1637386&doc=velo09-agile-inf-090625020850-phpapp01]

Note slides 92 through 97. The key points from this sequence are:

  • Dogma Sucks
  • “Do not seek to follow in the footsteps of the wise. Seek what they sought.” This is a quote from Japanese poet, Matsuo Bashō.
  • The Tao that can be spoken is not the eternal Tao.
  • You are a special snowflake, just like everybody else.

Even from the start, Shafer was on to the point that a binding set of rules is self-defeating. DevOps cannot be codified in a set of rules. Because it’s bigger than that.

Note the Matsuo Bashō quote:

Do not seek to follow in the footsteps of the wise. Seek what they sought.

The wise DevOps practitioners do not seek to implement any given tool or technique out of adherence to DevOps dogma. Rather, they seek to create a smooth, quick flow of changes through the value stream. Do not try to follow in their footsteps using the exact same set of tools or techniques, but rather seek the same thing that they seek and find your own way to the same destination.

So, the bitter irony here is that we’ve been warned all along, by Shafer, Allspaw, Hammond, and others, to focus on the foundational problems, not the specific solutions they have employed. Yes, we can learn something from their experiences, but every situation is unique.

(Unfortunately, I haven’t been able to find video of Shafer’s Velocity 2009 presentation. If you find it, let me know. But you can see a later version of Shafer’s ideas, mixed with those of Paul Nasrat, in a presentation from Agile 2009, made available on InfoQ.)

Other Resources

I’ve hopefully salted this post with enough links to key presentations and resources, but there’s one more that should be included. If you’re at all interested in the history of DevOps, and you should be if you really want to understand it better, then you need to view Damon Edwards’ “The (Short) History of DevOps”on YouTube:
[youtube http://www.youtube.com/watch?v=o7-IuYS0iSE]

Connect With Me

Think I’ve left something out or put too much in, got it totally wrong or completely nailed it? Let me know! Continue the conversation by commenting on this post and following me on Twitter.

About the Author

dave-roberts-headshot_400x400Dave Roberts brings 25 years of technology experience to his role of Executive Advisor at BMC Software. A thought leader in agile IT and digital transformation, Dave routinely speaks at conferences around the world. Dave is a member of the Twitter #clouderati and blogs at BMC.com and Leverhawk.com. He holds nine patents and has written three books on computer programming and data communications technology.

Comments

16 responses to “Why “Enterprise DevOps” Doesn’t Make Sense”

  1. JP Morgenthal Avatar

    Dave,

    Overall, I believe we are in agreement on the end goal for DevOps. However, some of the points you make in this piece I do disagree with:

    “Those advocating for Enterprise DevOps make the mistake of focusing on specific tools and solutions (Jenkins, Kanban, etc.), then find them wanting for various (extremely valid) reasons in an enterprise context, and then reject DevOps in favor of Enterprise DevOps, which they suggest is somehow different.”

    I believe your generalization of those advocating for Enterprise DevOps is incorrect. Of those that I interact with in this camp, none of us focus on the tools or solutions but instead the realization that adoption requires repeatable methods and a pragmatic approach that takes into account the fact that the enterprise environment is vastly different than smaller IT organizations. What might work for one department in an enterprise most likely will not for others as they each have a dynamic and set of problems that are uniquely defined by the responsibilities of that group to the overall enterprise mission.

    “But DevOps is about flow and continuous improvement, not about specific solutions. Flow and continuous improvement are equally applicable to a large enterprise as they are to an agile web startup. And if you miss that, you’re lost, regardless of the tools and solutions you choose.”

    I agree with this point, but don’t understand why if you believe this to be true you would not then also believe that if DevOps is that path to this goal that it is fundamentally different in large enterprises. To not differentiate undermines the likelihood for success as large enterprises need actionable direction that works for the issues and problems that they are facing. One of the number one complaints I hear about DevOps from customers is that it does not prescribe actionable and measurable steps to follow for adoption. Instead it references loose intangibles, such as having empathy or fix the culture. Enterprise DevOps is the amalgam of actionable practices that can be applied in a diverse and complex institutional environment. To say there is no difference is like saying that Private Schools, Charter Schools and Public Elementary Schools are the same thing so they should all approach education with the same curriculum and teaching approach.

  2. Dave Roberts Avatar

    JP, thanks for the comments. Here’s some counterpoint.

    You said, “Of those that I interact with in this camp, none of us focus on the tools or solutions but instead the realization that adoption requires repeatable methods and a pragmatic approach that takes into account the fact that the enterprise environment is vastly different than smaller IT organizations. What might work for one department in an enterprise most likely will not for others as they each have a dynamic and set of problems that are uniquely defined by the responsibilities of that group to the overall enterprise mission.”

    I’m having trouble reconciling “repeatable methods” and “What might work for one department… most likely will not work for others…” I agree with your latter statement, but that’s also why I believe the former is not fully possible. That doesn’t mean we can’t share stories of the form, “This worked for me…,” but I don’t think those stories can become paint-by-numbers dogma that is implemented by rote.

    Later, you say, “One of the number one complaints I hear about DevOps from customers is that it does not prescribe actionable and measurable steps to follow for adoption. Instead it references loose intangibles, such as having empathy or fix the culture. Enterprise DevOps is the amalgam of actionable practices that can be applied in a diverse and complex institutional environment.”

    I agree with you about that current situation, but I think that’s because companies are getting a lot of bad advice about DevOps and are looking in the wrong places. To put it another way, “Have empathy” by itself is bad advice. Sure, empathy in general is a good thing, but “Have empathy” doesn’t really tie that in with the transformation you’re trying to achieve.

    If you look carefully, there is extremely actionable advice in my post above, but it may not be the type that most people are looking for. Here’s how to do DevOps in very actionable steps (building on the Toyota Kata):

    1. Draw the value stream. Seriously. Grab a piece of paper and a pencil and walk around from department to department, meeting with people, looking over their shoulders, etc., and figure out exactly all the steps that are happening in your value stream.

    2. Identify your constraints and the places where you are creating “waste.”

    3. Develop a target condition that you want to achieve that would eliminate constrains and reduce waste.

    4. Measure your actual condition today.

    5. Ask yourself, what obstacles are preventing me from reaching the target condition now?

    6. Identify a next step that would move you forward toward the target condition.

    7. Take that step.

    8. Go and see how taking that step improved (or hurt) the process. Did things get better or worse? By how much?

    Repeat steps 4 through 8 until you reach the target condition you established in step 3.

    When you reach the target condition, go back to step 2 (and possibly step 1 if things have changed significantly).

    Later, rinse, repeat.

    Those are extremely actionable steps that don’t include anything like “have empathy.” Unfortunately, they also imply lots of hard work, which many people also don’t want to hear.

  3. JP Morgenthal Avatar

    To clarify, my point regarding what works for one department might not work for another was addressing that the issues causing friction and restricting flow are different from department to department. Here’s an example of four different causes for these constraints:

    Business A – meeting scheduled release dates have priority over delivering with quality​
    Business B – the product is never tested in an environment that models the production environment​
    Business C – executive dev group doesn’t get along with executive responsible for operations​
    Business D – the business has outsourced parts of the IT organization​

    Overcoming these issues requires different thinking, but following the steps you prescribe is a great repeatable method to follow to work toward this end. Moreover, you can measure the program to make sure departments are going though the steps but you cannot necessarily quantify that the impact from each of these various issues.

  4. Bertrand Avatar
    Bertrand

    Thanks for the article with so many useful links, especially to the Toyota Kata story.

    If there’s one thing I have learned through years of trying to implement DevOps correctly on projects is that one thing that does matter is metrics.

    It is extremely useful to take metrics before implementing anything and after as well. It is also really smart to consider things as a whole as improving deployment time to production by a day is useless if that change means that dev does take two extra days.

    Always spend time analyzing and understanding the current ALM before trying to change anything and as you mentioned; there is not a unique working solution for all projects but rather one overall approach that will bring one specific solution to a specific problem.

    Regard,

    B.

    1. Dave Roberts Avatar

      Agreed, Bertrand. Metrics are critical. In fact, that’s a key piece of the Toyota Kata. You need to understand actual condition (what IT typically calls “current state”) and then figure out a new target condition (what IT calls “future state”). Those are typically couched in terms of concrete metrics. Thanks for the comments!

  5. jonny Avatar

    hi Dave, I very much disagree with this post and feel that it is again reinforcing the view that large enterprises with potentially a couple of decades of technical debt should approach DevOps in the same manner as the typical DevOps / Continuous Delivery poster child. In my experience and after talking to a lot of people who have been in the same position as me, ‘Enterprise Devops’ isn’t a negative reaction to DevOps or a wish by the big corporates to put their heads in the sand and wish it would go away at all. It is in fact a realisation that large organisations have dysfunction and a general gravitational pull that left unchanged would build legacy applications and siloed teams time and time again. They need help. The reality is that if a large enterprise with 1000 applications in their portfolio followed your 1 to 8 tips then they would be working through the points for the next couple of decades without any noticeable improvement to their bottom line.

    Wouldn’t it be fantastic if you could help big organisations deal with outsourced suppliers and the contracts that may have been set up well before devops was even a word? How about helping them prioritising where to even start? How about helping them communicate to senior stakeholders what DevOps can do to improve the enterprise and showing them a way to improve their legacy architecture and team over time? How can an enterprise focus on the right things to get the biggest return on investment? These are some of the challenges of enterprise devops and are not found in some of the newer startups, including the one I have just joined. It is however very relevant to understand these big challenges to ensure small enterprises can stay on course with their devops journey.

    My view on enterprise devops and the talk i gave at Gene Kim’s devopsenterprise summit is very much about how you navigate the devops concepts and make it work in an enterprise. If you’re interested you can find details of my talk at my site enterprisedevopsy.kinsta.cloud. Would appreciate your comments, but personally i think there is a very different challenge in the average enterprise and there is no harm in facing up to that and calling it something different. Jonny

    1. Dave Roberts Avatar

      Jonny, thanks for the thoughtful comments.

      You wrote: “I very much disagree with this post and feel that it is again reinforcing the view that large enterprises with potentially a couple of decades of technical debt should approach DevOps in the same manner as the typical DevOps / Continuous Delivery poster child.”

      I’m not quite sure what “[approaching] DevOps in the same manner as the typical DevOps / Continuous Delivery poster child” quite means, but I think you missed the thrust of my post. Specifically, I’m not trying to say that either the concerns of enterprises or the specific solutions that they come up with are identical (or even similar) to those of web startups.

      You wrote: “It is in fact a realisation that large organisations have dysfunction and a general gravitational pull that left unchanged would build legacy applications and siloed teams time and time again. They need help. The reality is that if a large enterprise with 1000 applications in their portfolio followed your 1 to 8 tips then they would be working through the points for the next couple of decades without any noticeable improvement to their bottom line.”

      Yes, it’s true that left to their own devices, enterprises probably would develop siloed solutions time after time. But that’s exactly why they need something concrete to focus on that will help them break that cycles. The Toyota Kata is exactly that thing. Now, I’m not sure why you think that a large enterprise with 1000 apps using the Kata would be working for decades without any noticeable improvement? That seems like an odd thing to say on the face. The Toyota Kata was developed by a large organization (Toyota) and is used by it everyday. Further, large organizations are already using the Kata in IT as the foundation for their transformations. There’s no reason that the Kata must be a glacially slow process as you describe. If you want to bite off large leaps in improvement, you can certainly do that. It’s all about selecting a target condition that you want to achieve and building toward that. In almost all optimization problems, almost regardless of the methodology used to attack them, the greatest gains come quickly, at the start. Most of the time, these gains come from what could be summarized as “stop doing self-destructive, stupid stuff.”

      So, having said that, you seem to be fighting against the Kata but you really aren’t suggesting a replacement.

      Finally, you wrote: “Wouldn’t it be fantastic if you could help big organisations deal with outsourced suppliers and the contracts that may have been set up well before devops was even a word? How about helping them prioritising where to even start? How about helping them communicate to senior stakeholders what DevOps can do to improve the enterprise and showing them a way to improve their legacy architecture and team over time? How can an enterprise focus on the right things to get the biggest return on investment? These are some of the challenges of enterprise devops and are not found in some of the newer startups, including the one I have just joined. It is however very relevant to understand these big challenges to ensure small enterprises can stay on course with their devops journey.”

      You are right that all those things are important parts of an enterprise transformation to DevOps. But:

      1. Those are hardly unique to enterprises. Startups also have stakeholders and priorities and all the rest. Perhaps not in as great abundance as enterprises, but almost nobody who is implementing DevOps after the fact starts with a totally clean sheet, even if some sheets are cleaner than others.

      2. I’m not sure how any of these concerns are antithetical to optimizing the value stream using the Kata. So, for example, as an enterprise, yes, you’ll need to pick a pilot project, focus on the right priorities to give you the biggest ROI, communicate to the stakeholders what DevOps can do and get them onboard, unwind contracts you might have in place with external suppliers that predate your project activity. Those are all either outside the Kata (project prioritization and selection) or can happen within it (unwinding contracts might be a new target condition for optimizing a piece of the value stream).

      3. Finally, nothing I have written previously suggests that those activities aren’t important, shouldn’t be done, or don’t have special nuances in a large enterprise context. So, I’m not sure who you are disagreeing with, but it isn’t me. 😉

      Cheers, Dave

  6. Jeff Avatar
    Jeff

    Dave – We have a playbook we run for small DevOps shops – and another we run for Enterprise DevOps shops. They don’t look at all alike. Enterprise transformation is primarily an OD and OCM exercise, followed by I.T. governance, and I.T. finance with an emphasis on budgets. Later, you’ll see education and individual project roll-outs. Most of the clients don’t use public cloud, so the CI/CD program is challenged; those that have private clouds typically are immature. I’m sure you’ve got some great examples, but I’m about 50 transformations in and I just see things differently. Hope you’re well. Jeff

    1. Dave Roberts Avatar

      Thanks for the comments, Jeff.

      I agree with you that enterprises are more bureaucratic and that you’ll spend more of your time on different activities during a transformation exercise. I say as much in my post, above.

      But I don’t see anything on your list that changes the fundamental nature of DevOps. Yes, you have lots of governance. Yes, you have a finance budgeting cycle from hell. But you still have a value stream, and your task if you’re “doing DevOps” is to optimize it. Yes, you’ll choose different solutions. Yes, you’ll focus on different areas of waste and inefficiency, many of which will be different from a small company.

      That’s my point. Every company, large or small, will focus on different things. But they’re all doing DevOps (the plain ol’ kind). Because it’s all about identifying the value stream and then optimizing it. EVERYTHING ELSE is negotiable and situation specific. Even large enterprises will vary substantially in terms of their constraints (regulated vs. unregulated industries, for instance).

  7. […] Articles from today's show: "Why Enterprise Devops Doesn't Make Sense" […]

  8. […] have been called “Agile Infrastructure” had history gone slightly differently?) Why “Enterprise DevOps” Doesn’t Make Sense by Dave Roberts at develops.com Fundamentally, DevOps is the activity of optimizing the […]

  9. Mevin_Drake Avatar
    Mevin_Drake

    This way of looking at DevOps is what brings us to DevOps tools, engineers and teams, the cultural change is forgotten and all DevOps is then is the automation.

  10. […] As Dave Roberts comments in “Why ‘Enterprise DevOps’ Doesn’t Make Sense“: […]

  11. Orhan Kalayci Avatar
    Orhan Kalayci

    Hi Dave,
    Little bit off the topic but I guess you may answer my question:
    Here and there, I sometimes, see a term: “mean DevOps team” did you happen to see it, too?
    Do you know what they mean by “mean DevOps team”? Actually the original sentence was “lean and mean DevOps team”!

  12. […] Many people have naively latched onto DevOps via misinformation and with little appreciation of their organisational complexity and context. In a complex, adaptive system every individual has limited information, the cause and effect of an event cannot be predicted, and the system must be probed for insights. One common error is to literally assume the conflict of interest between Development and Operations is always the key constraint, when other emerging conflicts can be equally ruinous such as between separate Development and Testing departments. Another error is to assume large enterprise organisations need some kind of Enterprise DevOps roadmap, despite the ineffectuality of blueprints in a complex system and Dave Roberts pointing out “flow and continuous improvement are equally applicable to a large enterprise as they are to an agile…“. […]

  13. Jack Muratore Avatar
    Jack Muratore

    Um No. The best example of DevOps is in the Pheonix Project.. but that *is* an enterprise story.
    Small companies don’t need DevOps or even an operations team. They can just outsource everything to manage services and never have to worry about operations for the most part.

Leave a Reply