Communications & ChatOps Tools
ChatOps is conversation-driven collaboration using chat clients, chatbots, and real-time communication tools. It centers around the idea that conversation is the foundation of human growth and progress, which can be accelerated with collaboration tools. It is widely used by DevOps teams to work with more transparency, efficiency, and speed. Along the chain of progression, some teams might start off as email-only, start dabbling with chat-based apps, then add advanced custom bots or AI to automate certain tasks. Ideally, the end state would be to have a real-time system that integrates all of the personnel, work, technology, and processes into a unified environment while simultaneously maintaining detailed documentation of everything that happens there.
In this environment, the communication platform can serve as a shared command-line interface for commands. Intelligent and configurable chatbots are used to execute certain actions, such as firing an API call, resetting a server, or even deploying fixes to production. These chatbots (such as Hubot and Lita) are distinct from the B2C customer service bots that acquire information and answer queries. Custom chatbots can also be built using frameworks like wit.ai.
ChatOps aims to increase visibility across the board so that all actions are taken in full view of the team. It is especially useful in providing real-time context for remote workers and new hires.
What are Communication & ChatOps Tools?
ChatOps tools help businesses to accomplish IT tasks by combining chat interfaces with intelligent bots, providing a centralized place to communicate and run automated commands.
ChatOps tools should include these key features:
1. File sharing and storage
2. Persistent and searchable history
3. Timestamps and threading
4. Multiple rooms or channels
5. Push notifications
6. Video chat
7. Permissions
8. Integrations to third-party applications
9. Chatbot framework
Upon selecting a ChatOps tool, make sure that all collaborators are comfortable working in the framework’s language. For example, if your DevOps team mostly works in Ruby, then you might want to use Lita, which is written in the same language. Integrations, customizability, extensibility, and plug-ins are also key elements to consider. It’s also likely that ChatOps users will need to leverage the open-source community in order to get the full range of value out of the tool.
When it comes to organizational adoption, it’s tempting for individuals to continue communicating in ways that have become habitual — such as via text, phone calls, and emails. These modes of communication have their place, but it’s important to emphasize that conversations should not be put into silos. Team members should look for ways to be more transparent and expand their conversational circles. If implemented correctly, ChatOps tools will reduce confusion, miscommunication, and conflict, eventually leading to better information flow.
Benefits of Communication & ChatOps Tools
ChatOps tools have a lot of potential, particularly when inserted into existing DevOps workflows. They bolster the DevOps credo by automating repetitive manual tasks and reducing human error. For example, team members can type commands to chatbots that then execute actions like code deployments, event responses, and notifications. The shared chat also increases visibility among the team, making it easier to track down errors and reducing the need for time-consuming rework. With this automatic log of work activities, compliance and security become easier to support. Other benefits of ChatOps tools include increased sharing of domain knowledge, accelerated learning, synchronous communication, and increased empathy.
However, a word of caution — it’s important to manage the signal-to-noise ratio in these conversations and groups so that the technology does not become overwhelming. The key is to remove silos and increase accessibility while maintaining organization and coherence.