Monday, October 27, 2014
DevOps is Necessary but not Sufficient
DevOps is Necessary but not Sufficient (my predictions for the future of DevOps)
I know I'm late posting this, but I did write it on the plane October 24. (I didn't watch any of Day 1 of DevOpsDays Ghent, so I, hopefully, am repeating what others have said) Here's a blog post brain dump after the awesome DevOps Enterprise Summit 2014 and thoughts leading into the DevOps 5 year anniversary in Ghent. After listening to so many Enterprise stories and having recently become "Enterprise" myself after my company was bought by IBM, some old thoughts are coming together.
Goldratt warned very much about local optimization and I see a progression of creating and "fixing" local optima. Agile came in to "fix" waterfall and created a local optimization in Dev that crushed Ops. DevOps came along to "fix" the problem by extending the scope of the fix to Product (the business) and Ops, now, in many companies this is sufficient; in the enterprise it is still a local omtimaztion. My rationale goes: A company that revolves around a fairly cohesive product (even if it is complex to implement) organizationally is tighter in its alignment to that product (Etsy is a fairly cohesive brand, product and organization). I think there may be some tie-in to Conway's law here. Once you scale beyond a certain size, an enterprise behaves like many small, coupled companies. New problems arise in managing those couplings at that scale/complexity.
Just as Agile has the Scaled Agile Framework to handle scale, many in the DevOps community are working on the DevOps Scaled framework. It's been mentioned before that the future of DevOps won't be called DevOps, so I respecfully submit the term Lean-Agile as the umbrella name. The reason I choose Lean-Agile and not just Lean is that "Lean" has some connotations in the enterprise because of Lean Six Sigma. I know Agile is a subset/implementation of Lean (and DevOps too, for that matter), but Agile has a very strong brand and a growing, strong, positive connotation in much of the industry. So, if I were to put some defintitions or distinctions, Agile means "Iterate all the things", DevOps means "Continuous all the things" and Lean is the foundation of Experimentation, Improvement and Respect needed to make it all work.
DevOps can move to an industry term that people can use for products and teams and "Lean-Agile" becomes the cultural and professional movement that can include sales, finance, marketing and all parts of the organization, not just those hands-on with the technology.