People First – The Frequently Overlooked Importance of Culture Change in DevOps Journeys
In this post, App Dev Manager Kristofer Olin explores the frequently overlooked importance of culture change in DevOps journeys.
Microsoft defines DevOps as the union of people, process, and products to enable continuous delivery of value to end users. The underlying concepts of DevOps are not new by any means, but their recent application to software lifecycle management has proven to be transformational in the success, speed to market, and consistent quality of applications and new features. Improved employee satisfaction and inter-department cooperation for organization success are inherent benefits of DevOps. So why is it that some organizations, though they may invest great expense in tools, process development, and rigor, fail to obtain the transformation and benefits other organizations have so greatly experienced?
I was recently onsite with a customer struggling to pass mandated test cycles before fielding a suite of products. Our team was briefing their leadership on the fundamentals of DevOps, at the conclusion of which the senior representative in the room stated, “I hate to break it to you, but we’re already doing this.” And, yes, if you were to walk the halls, they have large printed flowcharts and posters outlining their processes that contain all kinds of meaningful terminology like Value Stream Mapping, Agile, waste, constraints, etc. If that were the judge of success, one would say they’d made it; however, they’d been developing and testing for two-and-a-half years with no minimum viable product yet to show for it. This may be a drastic example, but it’s reflective of the reality; either the product is repeatedly rejected from test, or is passed through due to business needs and then encounters repeated issues in production or doesn’t fully meet the need.
The conversation continued after our presentation, during which during which the conversation turned toward the definition presented above, and their senior representative was enlightened. People. People are first in the definition because they are what’s most important in obtaining success on a DevOps journey. Without changing people’s behaviors and attitudes, the culture of an organization cannot be transformed to enable DevOps success, which infers there will always be blockers and constraints that cannot be overcome. Consider Larman’s Laws of Organizational Behavior:
- Organizations are implicitly optimized to avoid changing the status quo middle- and first-level manager and “specialist” positions & power structures.
- As a corollary to (1), any change initiative will be reduced to redefining or overloading the new terminology to mean basically the same as status quo.
- As a corollary to (1), any change initiative will be derided as “purist”, “theoretical”, “revolutionary”, “religion”, and “needing pragmatic customization for local concerns” — which deflects from addressing weaknesses and manager/specialist status quo.
- As a corollary to (1), if after changing the change some managers and single-specialists are still displaced, they become “coaches/trainers” for the change, frequently reinforcing (2) and (3).
- Culture follows structure.
Do these points resonate for you and your organization? The most common cause of failure in a DevOps journey is not lack of tools, process, or collective team knowledge. No, success is most deeply rooted in an organization’s culture, which is driven by its structure; specifically a culture of trust, open communication and access. Too often, organizations invest in tooling, instantiate processes, and implement automation, but lack trust between teams, or an organizational structure that leads to success. Teams continue to “throw products over the wall” without an empathetic understanding of the business needs and goals throughout the lifecycle, with disconnect from one-another and the customer.
Microsoft’s Developer Advisory Support has a proven track record of helping organizations realize success on their DevOps journeys. Our Application Development Managers and Development Consultants can insightfully assess an organization’s needs; are willing to make hard recommendations that traverse an entire business’ hierarchy; and are experienced in both coaching to successful culture change and with helping to implement processes and tools to support the value chain all the way to the customer. Let us help your organization find success in your DevOps journey.