When the thought leaders in DevOps get onto their soap boxes, it’s pretty much a guarantee that at some point or other the discourse is going to turn towards culture. But often the speeches and conversations never dive deeper than platitudes about putting emphasis on people over tools. As true as it may be, though, most newbies want to know what that really means. How exactly does an organization shift to a DevOps culture?
Answering that question should start with a little bit of translation. When speakers hit the conference circuit, generally their references to “culture” are interchangeable with “collaboration.” An organization with a healthy DevOps culture is an inherently collaborative one.
Take a hypothetical situation where an DevOps organization is setting a requirement for a certain amount of performance throughput on an application, says Matt Selheimer, chief technical evangelist for ITinvolve. Developers in a traditional organization with that requirement would probably have to scratch their heads and wonder how to write the code, and figure out what middleware components they’d need to deliver that level of throughput. But an organization running with a collaborative DevOps culture would ideally give operations folks visibility into that project much earlier in the process.
“They might be able to come and say, ‘Hey, we can solve that through upgrading the IO on the storage area network, and if we do that, that will shave two weeks off your development schedule, and we’ll be able to deliver that faster to the business,'” Selheimer says. “So it’s those moments of opportunity — those synergies that you get when you get people engaged and when you get people who have like interests following one another and engaging one another that creates opportunity.”
That’s the ideal organizations are striving for, but it still doesn’t answer that question of how to achieve that culture of cooperation. There’s no pat answer for that, but perhaps one of the catalysts most likely to shift people’s behavior and beliefs is the fostering of a collaborative work environment. And that starts with the establishment of some sort of collaborative infrastructure.
See, sometimes even culture needs a boost from better use of tools. They’re just not necessarily the ones most people talk about when they’re discussing DevOps. Instead of thinking so much about automation tools, DevOps organizations need to prioritize tools and processes that enable knowledge transfer.
“So there’s an inherent bias in the community against tools, and I’ve seen that bias be eroded on the automation side, but I haven’t quite seen that bias be eroded on the collaboration side,” Selheimer says. “It’s time to really take a look at what tools you’re using to collaborate, because I guarantee you’re using tools. You know, you’re using email, you’re using instant messaging, you’re using SharePoint, you’re using Vizio, you’re using spreadsheets, you’re using phone calls — those are tools. ”
The question is, how effective is your existing toolset at greasing the skids for easy collaboration? The point is that automation may be important, but collaboration is the horse to automation’s cart. The problem is, that too many organizations are putting automation tool sets and processes first, leaving collaboration as an afterthought. That’s dangerous, says Alan Sharp-Paul, CEO of ScriptRock, a developer of configuration management tools.
“The automation of a system is often considered an ‘end’, not a ‘means’. Bad process and bad design become codified because they get buried,” he explained in a blog post. “Taking the necessary steps to ensure collaboration on requirements is often pushed aside in the interests of simply getting it done.”
Obviously, Selheimer has a biased stake in this game—his company creates collaborative software for IT teams. But his point is valid—organizations generally need to establish better mechanisms for their IT workers to share their work, their processes, their tools and system statuses so that they can better establish a continuous delivery model. More DevOps organizations are slowly coming to that realization. It’s why we’re starting to see more announcements from companies seeking to bulk out the collaborative tool box.
For example, yesterday the folks at VictorOps released its VictorOps Transmorgrifier to help organizations bake in more existing documentation, graphs and data about relevant systems into IT alerting. And earlier this month AppDynamics announced the release of its new DevOps Virtual War Room to help consolidate application and system information and metrics. Similarly, not long before that Tasktop introduced a new product called Tasktop Data that’s meant to help act as a data repository for real-time analytics across teams, projects domains and tools. Clearly, the pool of tools is growing deeper as organizations voice the need for a better infrastructure to support cooperation across IT tribes.
But that doesn’t necessarily mean that mechanism has to be expensive or complicated. It just needs to be more cohesive than a bunch of disparate documents spread out across multiple locations.
“There’s got to be a centralized, secure, well-lit place where people can document how everything fits together,” explains Chris Clarke, senior vice president of product management for CollabNet, saying that even something like a Wiki or a meta site can help organizations start to link together documentation about processes, architecture diagrams, pointers to tools and so-on. The simpler that an organization can make it for team members to share information like that, the more likely they’ll start working closely together.
This consolidation and dissemination of knowledge is also crucial for the long-term resiliency of DevOps teams. As many more organizations seek DevOps-savvy personnel to help jump-start their continuous delivery programs, employee turnover can pose danger to those organizations whose knowledge base is concentrated around a few DevOps rock stars or isolated teams.
“Churn can be dangerous because you get enough little islands that are each trying to satisfy their own goals and you get the superheros on those island and then effectively what happens is those superheros walk out and those islands blow up,” Clarke says.
This is why effective infrastructure for sharing knowledge is especially important in 2015. According to a recent survey by Rackspace, only about 38 percent of organizations who currently use DevOps for all applications across the organization. However, approximately 20 percent more of these organizations are currently working on pilot projects. And among those who haven’t yet implemented DevOps, nearly 50 percent say they have plans to fully integrate development with operations in the near future. Effective collaboration will be critical in ensuring success as as large organizations push simple DevOps pilot projects to full-blown IT departmental transformations. On the enterprise-wide level, collaborative infrastructure lag becomes unsustainable.
“If I’m a small startup company and everybody’s all in the same offices, I have a lot more opportunity collaborate in a face-to-face manner,” he says. “But if I’m General Motors or Ford or Bank of America, and I’ve got thousands of developers and thousands of operations personnel scattered across every country and continent, I can’t do that effectively.”