ChatOps: How Software Teams Manage Issues
Posted Apr 15, 2016 | 5 min. (909 words)Even the greatest software teams and products experience issues and outages at some point – it’s an unfortunate but inevitable fact no matter how hard we all try to avoid these situations. I’m yet to meet a developer team who are actively looking for ways to take the product offline or cause a user unnecessary misery when their app won’t work, but what separates the best from the rest when it comes to creating reliable and robust software is how teams deal with those problems when they arise and how they minimise the affect on end users. This is where ChatOps can help.
The HipChat team have their own processes set up when it comes to incident management but we all dread that notification ping at some unreasonable hour of the night. Every minute counts trying to rectify the issue.
It’s one thing to be alerted to an issue, that’s just the notification part, but without the diagnostic details about the problem, we can spend a whole bunch of time just trying to work out the cause whilst our users continue to see problems, support queues start to fill up and the issue grows into a major company wide incident. If we can get this information immediately at the time the error notification comes through using our robust ChatOps system, fixing and debugging can be done at record speed and your whole company can benefit as well as your end users.
Many developers may automatically assume this only extends to servers falling over, database timeouts etc, but it can also include production errors your users are encountering everyday. If you knew that a recent update has broken your billing system and customers couldn’t pay you, surely you’d be scrambling to fix that pretty quickly!
Utilizing HipChat Connect, Atlassian’s powerful integration framework in unison with other software development products teams use every day, this functionality can take ChatOps up another gear, providing as much information as possible about the issues happening in your applications – without leaving HipChat itself. This new way of working is empowering teams to become more productive, through conversation-driven collaboration.
Tools of the trade for effective ChatOps
The software developer’s ChatOps toolbox is constantly expanding these days with so many software as a service products out there designed to help you deliver better software to your customers. Here we are going to set up a dedicated HipChat team room for managing, tracking and communicating about error notifications. This will allow our development team to be notified of issues as they arise, including the ones in production that are affecting our users right now.
To get visibility on these issues we’ll be hooking up Raygun with our application, an error and performance monitoring product that integrates with our applications with just a few lines of code. Once issues are detected by Raygun, we’ll also be able to set up notifications for our team using the newest Raygun integration in HipChat. This latest integration was built on HipChat Connect.
Creating a dedicated team room in HipChat
Firstly, we need to set up a dedicated team room (unless you already have a team room like this) in our HipChat account. This is where we can pipe in all the notifications when issues arise and alert all of our team members immediately to the problem.
Now we need to set up Raygun to detect and diagnose the issues with our application.
Integrating Raygun with our application
Just a few lines of code is all it takes to get started with Raygun Crash Reporting. It’s incredibly easy to get started and you’ll be surprised just how many issues you weren’t aware of when you plug it into your application for the first time. All major programming languages and platforms are supported. See the list of languages available here. Head over to Raygun, create an account and integrate it with your application, it only takes a few minutes!
Set up alerts from Raygun to your HipChat team room
Raygun can fire through useful information cards when posting messages to HipChat. You can quickly scan the error message and decide on its priority before jumping into it.
To set this up head over to the ‘Integrations’ page on the left hand side bar in Raygun. Here you will find a whole bunch of tools Raygun integrates with, including HipChat of course. Select HipChat and follow the onscreen instructions.
Fill out your credentials to connect with HipChat. You can select the room you would like notifications to appear and even the colour of the notifications as they come in. Raygun supports both HipChat’s standard hosted product and the self hosted option.
You will be taken to HipChat in order to authorize the connection. Add and approve Raygun to send notifications to your team’s chat.
Once this is set up, any errors and issues that are detected in your application by Raygun will be automatically sent to your team’s dedicated HipChat room. This ensures that issues are acted upon quickly and every team member has visibility, whilst also cutting down on the noise in your inbox – that can only be a good thing right?
How are you currently managing issue detection and team workflows? Developer time is expensive, so using Raygun and HipChat in harmony will not only improve your software, but it’ll also mean your team is running at full efficiency. Get back to releasing awesome features rather than trying to resolve bugs.