Why your DevOps transformation is failing
Organizations that rely on IT for their success fall into two categories: those that work smart and get things done, and those stuck with outdated modes of working that struggle to innovate—or even to keep up. The organizations in the first category take a variety of forms, but those in the second often look quite similar. They’re mostly large, older enterprises. And they're in trouble.
If you're in that second category, you've probably gone through big agile transformation exercises and, while those yielded some immediate benefits, you still find yourself losing momentum. After becoming disillusioned with agile, many people have turned to DevOps, only to find themselves in the same cycle: They achieve big initial gains, only to see that progress grind to a halt. They've succumbed to one of the common reasons why DevOps initiatives fail.
DevOps is not going to solve all of your organization's problems, no matter how enthusiastically you try to spread it. DevOps is primarily about a cultural shift in software development teams, and that shift can't happen unless the organization as a whole addresses the cultural issues that are endemic to large enterprises.
How did we get here?
Many older businesses got into trouble because the importance of IT shifted. IT used to be a tool for running your business, but suddenly IT became the whole business. So what did they do to change? Companies spent millions of dollars on consulting firms that came in to help them achieve an "agile transformation"—a radical reconfiguration of how people work.
An agile transformation almost always gets off to a good start, because the company's old ways of working are so outdated (and employees so unmotivated). That's the low-hanging fruit. The agile consultant helps your staff talk to one another more often and focus on doing one small thing at a time, and you see a massive boost in productivity.
And that's where progress stops for most organizations. People start to work together better and quality improves, but the IT organization is still a sluggish beast. Customers are just happy enough that they don't leave.
Technology can cause massive market disruptions. WhatsApp obliterated the telecommunications industry's SMS revenue, and the iPhone wiped millions of dollars off GPS manufacturers' balance sheets. It's only a matter of time before enterprises have their business models disrupted in a big way, no matter how many colorful sticky notes fill the walls or how many circles of people appear around them at 10 am.
DevOps by itself doesn't change a thing
Now large enterprises have noticed the next shiny buzzword: DevOps. They're investing millions in automation, and they're reorganizing IT departments to encourage more collaboration. Again, this breaks down silos, increases reliability, and provides immediate benefits. But the principle of diminishing returns is still at work.
Techies started the DevOps movement, but really it's all about culture. It's about the way people work together and how they approach the quality of their work. Adopting DevOps practices can improve the frequency and reliability of your deployments, but it can't change the outlook of your company while these wider cultural issues stand in the way.
Reliance on outside influencers
The wave of agile transformations in the industry has shown that organizations that bring on third parties, such as consulting firms and coaching outfits, often experience unexpected cultural shifts when those people leave. If your organization's culture can't stand up without external help, you haven't really changed your culture at all.
Building shared ownership is hard
It's extremely difficult to get a large number of people to have a shared understanding of a business's core goals and focus. And it's almost impossible for individuals to make a big impact if they don’t have such an understanding.
Imagine a startup run by two people. If they talk all the time and are in sync about what they want for their business, half the battle is won.
Scaling this kind of understanding to a company with hundreds, or thousands, of employees is impossible. But you can at least work toward ensuring that every person understands the importance of striving for such a shared understanding. Otherwise people will pull in opposite directions, creating an unhealthy culture of confusion. Or they'll be stalled by indecision, creating a culture where employees shy away from opportunities to be proactive.
Competition is rife
When you don't have a shared understanding of the company’s goals, people pursue their own, often competing goals. This creates unhealthy politics that can halt useful innovation.
The bigger the organization, the more room there is to hide. People can easily dodge responsibility and resist change.
Bottom line: The DevOps and agile movements are about getting people to work together. Your organization should have a zero-tolerance stance on posturing and turf wars, or you'll never have a culture of collaboration.
Broken-window syndrome impedes progress
Why fix one thing when so much else is broken? People are often disheartened when their efforts to make a positive impact pale in comparison with everything that's wrong around them. Unless you make improvements and realistic plans for improvement visible, you'll end up with a lethargic culture.
The deck is stacked against innovation
Most large businesses are public companies. They employ large numbers of people, and they are responsible for the pensions and other financial aspects for potentially millions of people. They are inherently risk-averse and conservative, which makes it incredibly difficult to make changes quickly.
That's not to say change can't happen slowly, but it's very difficult to maintain momentum over an extended period of time. Keeping people motivated in a slow-moving environment can be a real challenge, especially in the ever-evolving industry of IT.
Turnover is high
Your best people leave as they get snapped up by more attractive and more nimble organizations. They're often excellent hires; because they're adept at wading through mud, they really speed ahead when running on level ground.
The rest of the enterprise's workforce is left feeling inadequate and poorly equipped, as all the most talented employees leave. This creates a culture where employees are stretched thin and lack confidence.
To make things worse, most enterprises have a habit of putting aside investments in culture when getting things done is hard. For example, an enterprise might cut time or budget for training when a project falls behind due to key team members leaving.
The solution for transformation: Focus on culture
Agile Manifesto signatory and XP founder Ron Jeffries recently wrote an article recommending that developers abandon agile. His article describes the world in which many developers work—a world plagued by the kinds of cultural issues described above. No amount of agile or DevOps (or whatever's next) will fix your organization unless you fix the culture and make the company "safe for developers," as Kent Beck, another XP founder and Agile Manifesto signatory, says.
Fixing the culture of a large organization is no small feat and is not something that's done successfully very often. The best collection of ideas I've seen in this regard is in the book Lean Enterprise, by Barry O'Reilly, Jez Humble, and Joanne Molesky. The book showcases techniques for building a culture of learning, collaboration, and experimentation throughout an organization.
DevOps is all about how software teams can produce great, quality software quickly. The challenge for the rest of the organization is to get out of the way, because delivering great, profitable software requires the right cultural conditions.