Guest blog post from Ville Saarinen, Development & Marketing at Flowdock. Ville is interested in the combination of sociology and technology, and is based in Helsinki, Finland along with the rest of the Flowdock team.
Software development teams have a wide selection of tools and services to choose from to help with specific tasks. There are services that help with team communication, version control, testing, deployment, monitoring and customer support. And since many of these tools are offered as an online service, getting set-up can be as simple as signing up.
Unfortunately, there’s also a downside to this wealth of choice. Staying up to date with your work requires constant jumping from one service to another, or enabling notifications that flood your inbox. And this applies to the team level as well: if someone wants to see what the team is working on, they need to either check each service’s activity stream separately, or start duplicating information (“I’ve finished working on XYZ”) into project management tools.
At Flowdock, we’ve tackled this problem with a team inbox. It integrates with the team’s tools to provide a real-time activity stream of everything that the team is working on. The team inbox lives right next to the team’s chat, where the team spends a large portion of their day, providing a window into what the team is actually doing. This sparks discussions based on activity, not reporting. And everyone is happier due to the decreased email load.
Find the Right People
If you’re on a team that’s responsible for keeping a service up and running 24×7, resolving issues quickly is critical for customer satisfaction and loyalty. Assigning a person to an issue helps build a sense of ownership, and will help items be resolved more quickly. However, if the owner of an issue is unable to solve the problem, what then? Mass blasting everyone isn’t difficult, but is an activity that doesn’t scale. Escalating the issue to specific team members works better – and with a team inbox, those you tapped to help out are quickly brought up to speed.
Another scenario is when a problem arises and the primary on-call engineer is unreachable. Automatic escalations help find an available person, but since the escalation notification is visible to the whole team anyone who is available can react. A single person is no longer the bottleneck.
Make Past Resolutions More Discoverable
Whenever a problem is solved, something new is learned. Good practices include having post-mortems to figure out why the problem came up, how to fix the root cause and to document this solution. The post-mortem should be held as soon as possible, while the details of the issue are still fresh in the team’s memory. We recommend putting the summary of these discussions into the team’s chat room and tagging it with an agreed-upon tag. That way, by searching for the right tag, people can find solutions to problems much more quickly when similar issues arise in the future. Even better, by tagging the conversations and actions that occurred while resolving an issue, you can follow the resolution of an issue blow-by-blow, after the fact. This type of passive collaboration helps a team learn from the past, and makes them much more effective as a team.
Another benefit of having these conversations (or the summaries of the conversations) out in the open is that it can help other teams. We recommend making our users’ chat rooms open to everyone in their organization. That way, when someone outside the team has a question, they can simply join the chat and ask the team. Or, if they know what tag to search for, they can find the answer directly from previous conversations or activity notifications without bothering anyone.
Making information transparent to everyone can have huge benefits for teams and organizations. With the right information, better decisions are made, and the gatekeepers of information are no longer the bottleneck.
The challenge with making information available is that people inevitably suffer from information overload. How do you have time to work while you’re constantly being bombarded by new information? Where can you find the solution to your specific problem when you have such a vast amount of information available at your fingertips? The key is to use communication channels that allow users to define what is important to them, and what is not. Users should be able to decide what types of events call for their attention. The channel should also help users categorize the data (with e.g. tags) so that the right information can be found later on.
With a more open communication culture – open chat rooms, visible work activity – everyone can use operations information to quickly resolve incidents and create a culture of shared responsibility.