Sunday, January 11, 2015

How Flowdock helps you get better cross-team collaboration

Is your inbox also filling up with loads of emails all part of some kind of discussion where each reply contains the entire history again? Do you also get all kinds of notification emails from build servers, source control systems, and other things to which somebody is supposed to react? Do you often run into an email discussion that you think other people should see as well, but you’re not sure who to include?

Well, that's why we've been using Flowdock at my client since the beginning of 2014. It's a web-based collaboration tool that aggregates discussions and integrates with loads of online services. It’s a brilliant approach to cut down on email considerably. You can define different private and public flows per topic, can tag topics (like in twitter), refer to people using their handle and track discussions using the colored icons. Both my current client and my own employer Aviva Solutions use it, so I thought it would be sensible to use it for Fluent Assertions as well. The screenshot below shows my current dashboard.

clip_image001

On the left, you can see some of the discussions I had with Adam, one of the most active Fluent Assertions contributors ever. You can click on an message to see the discussion in isolation, which is particular useful for long running discussions. On the right hand side you can see the flow’s inbox with tweets related to this project, the build results from TeamCity, the MyGet package feed updates, GitHub commits and pull request and even the StackOverflow posts related to my project. For me, that’s an invaluable source of information, all combined in a single web page. And if no built-in integration exists, you can subscribe to RSS feeds as well or send tagged emails directly to the flow. Oh, and you can have discussions on inbox items as well. In fact, the Flowdock people wrote a nice post on how they abandoned email altogether. And did I mention first-class keyboard shortcuts?

At my current client, we use Flowdock with more than 120 people, but it took me a lot of persuasion and coaching-on-the-job to get people to use it properly. I believe tools like this are only going to work if you really try to use it as it was meant to. Although Flowdock will send you an email if you don’t respond to a discussion in which you are tagged, you need to get people to get used to start it in the morning. But the people that made an effort are really happy. It just takes a single discussion in which they get a brilliant response from a colleague they wouldn't even consider to include in the traditional email they used to send.

So is my search for the ideal collaboration tool over? No, of course not. I wouldn’t call this blog The Continuous Improver if I weren't keeping my eyes open for something better. So what's the pain right now?

  • I don’t like the inbox model as a separate flow. It tends to get ignored and causes nobody to really care about its contents. 
  • Sometimes I'd like to send a message to another team's flow. Currently I have to join that flow first, which is not always desired or possible, especially if the flow is private.
  • No support for Markdown in technical discussions, although it does support fixed-font formatting of code blocks.
  • It doesn't properly handle SharePoint and OneNote URLs. You could blame Microsoft here for using non-standard URLs, but the fact of the matter is that a lot of companies are using those products.
  • No per-flow notification settings (e.g. when to receive emails and from which flow)
  • The search functionality became very unintuitive after the UI redesign last summer
  • No Windows Phone app (not even an unofficial app) and no Windows desktop version. We're currently running Flowdock as a Chrome Application, but that’s not quite it.

So although Flowdock is an essential product in our agile project, and I couldn't imagine working without it, I was expecting more innovation. Slack for instance, has gone through a huge growth spurt in a single year and feels very mature. I'm currently trying it out and it looks pretty promising. But that’s going to be another post…

So what tools are you using for (cross-)team collaboration? Let me know by commenting below or tweeting me at @ddoomen.