How ChatOps affects company culture

by Bill Doerrfeld

The chat room has become the new virtual water cooler. ChatOps, designed to bring tooling into the conversation, is ideal for distributed workforces, which are common in many software development teams.

ChatOps disrupts time-tested communication modes, pushing aside the old war-room mentality to further embrace the promise of agile development and operations. The ability to manage a full-scale DDoS attack from a shared company chat room, for instance, is a mind-boggling process that shifts a company's attitude and expectations. In short, ChatOps significantly alters company culture.

Here are the cultural changes to expect during your transition to ChatOps, in such areas as security, new social contracts, and collaboration potentials.

ChatOps ≠ complete transparency

It has been said that with great power comes great responsibility, and ChatOps is no different. As ChatOps bakes high-stakes capabilities directly into a chat platform, this comes with new implications for permission control.

When you give a chatbot the power to perform something scary, such as a database migration, traffic routing, or server deployment, you may want to consider implementing rules for certain chat rooms.chatbot the power to perform something scary, such as a database migration, traffic routing, or server deployment, you may want to consider implementing rules for certain chat rooms.

For GitHub, team chat requires a magic word to access functions that, misused, can have severe consequences. Mark Imbriaco, director, platform architecture at Pivotal Inc. and a former operations engineer at GitHub, explained this in a 2013 presentation

As Michael Ansel, site reliability engineer at Box, said, "Do you really want everyone in your organization managing every aspect of your production environment? The answer is probably no." He offered up tips for preventing this during a presentation at Ignite Velocity San Jose about not letting ChatOps turn into ChatOops.

Nuanced security concerns: Controlling chat commands

To verify identity, many ChatOps experts encourage two-factor authentication with the chatbot. To control chat commands even further, Box built middleware into Hubot to control these permissions. But what if the chat server itself is compromised? You may find help by chatbot. To control chat commands even further, Box built middleware into Hubot to control these permissions. But what if the chat server itself is compromised? You may find help by using RSA private and public keys to validate identity and content.

Whatever the strategy, chat commands should be linked to only those people with the permissions to issue them.

Allow room for collaboration and self-organization

PagerDuty takes a different approach to controlling ChatOps commands, which may surprise some practitioners. "Don’t predetermine what is safe," said Eric Sigler, engineering manager for developer tools at PagerDuty. "Go nuts, go as far as you can, go nuts. We will default to safe behaviors."

In other words, open experimentation can bring unprecedented enhancements to collaboration. Encouraging unrelated team members to use chatbot commands programmed by subject-matter experts can chatbot commands programmed by subject-matter experts can unlock benefits to productivity, he said in a presentation.

For example, Sigler described a dilemma in which his finance staff and engineering team were consistently having difficulties coordinating a 30-minute window for finance to perform routine accounting. No matter how much the two teams scheduled among themselves, automated deployments were always upsetting performance results. 

To solve this issue, they ended up allowing finance to use a chatbot command to lock all new deployments whenever auditing was required. chatbot command to lock all new deployments whenever auditing was required. ChatOps replaced what was previously an arduous scheduling process between engineering and finance with a single action. This equated to what Sigler called "coordination without a lot of effort." Furthermore, with its ease of usability, ChatOps brought new autonomy for non-engineers.

New social contracts

Asynchronous chat is arguably a better alternative to lengthy email exchanges and ineffective in-person meetings because it allows problem-solvers to construct well-formed responses on their own time. However, this new form of communication comes with new social expectations for time-to-respond, which your organization should address.

Is it acceptable for your team to let a message (from either a bot or another team) go unanswered for 30 minutes? Maybe not. But an interim message to let everyone know "we're working on it" can go a long way toward reassuring others that your team is on the case.

Since business intelligence logs are readily transparent with ChatOps, less may need to be said in general. So distributed teams must create a company culture with other means. For GitHub, this equates to coding silly commands into ChatOps bots, or using emojis to express admiration. Though seemingly superfluous, these extra tidbits inform the company culture. As Imbriaco said, when you put these small pieces together, "they build an experience that is uniquely GitHub."

Knowledge retention: Leverage pre-existing company culture

When it comes to forcing new approaches, as psychologist Thomas G. Plante said, “Giving people advice rarely works.” The same is true in ChatOps—try not to force tools upon engineers who don't want them.

Adopting ChatOps doesn't have to be a life-changing experience. In fact, instilling the common lingo that already exists among your departments into chat commands—whether it's your unique acronyms or the natural language your company uses—can help capture a familiarity that's already part of your teams' communication. This extends company culture and helps normalize ChatOps adoption.

ChatOps is the new war room

For quick incident resolution, replace that old war-room mentality with a more streamlined, ChatOps-based remediation agenda. Making a company's operational heartbeat more visible is crucial for distributed teams, and helps diminish the time-intensive feedback loops and change-control bureaucracy that historically have stalled enterprise momentum.

"ChatOps is as much a cultural change to your company as it is a technology," said to James Fryman, senior software engineer at Puppet.

Managers need to understand that each ChatOps-enabled organization is unique,  and mimics the culture of the company using it. To get the most out of ChatOps, consider the cultural effects of security, while allowing room for entrepreneurs to self-organize through asynchronous collaboration.