Why we're evaluating Discourse

Over the years, we’ve tried several different approaches to communicating with Buildkite users. As we’ve grown alongside our customer base, we’ve had to evolve these approaches. We’re evaluating Discourse as a replacement for our Github feedback repository and our various Slack channels. Here’s the thinking that led up to that!

Some background on us

We believe really good customer support is a critical part of Buildkite. You should be able to get an in-depth answer, promptly, from someone with deep technical knowledge of the platform and a willingness to be transparent about how it all works and why. Beyond that, we strive to be good humans. That means listening carefully, trying to understand where the other person is coming from and apologising sincerely when we’ve made a mistake.

We strive to keep our team-size lean and product focused. That means we try and avoid scaling with people when we can work smart instead. The result is that we’ve grown quickly in terms of the customers we address without having to build a huge team. Who knows what the future brings, but we hope to stay true to these principles for as long as we can manage.

How we currently do support

To handle support with a rotating weekly roster in the Engineering team. We supplement that with support and guidance from the non-technical folks. The channels that we monitor are:

  • Emails (our primary channel that is included in our Enterprise SLA)
  • Private slack channels for Enterprise
  • Public slack channels for Community
  • Our feedback repository for suggestions and requests
  • Various Github issues repositories on our open-source things

Each of these comes with different expectations of responsiveness and different context that the customers might provide, for instance Enterprise slack is private, so covered by an NDA, but feedback and community is out in the open.

Problems we are trying to solve

  • Slack comments get quickly lost in the scrollback and it’s hard for our support team to determine what needs responding to
  • Slack threads aren’t great for long-running discussions and it’s hard to find older threads that we need to send updates for
  • Feedback issues are tough to get context for. Because they are in the open, it’s hard for folks to provide juicy details about what they are trying to do and things like links to their builds. It’s also hard to know who is asking and what their teams context is from a support perspective. We’ll provide this for Enterprise teams initially, but being able to do this scalably even for small teams is really interesting.
  • More options for insight into what we are working on and more transparency into what beta features we have in progress and how to participate

Why Discourse is interesting

Our experience with Slack has been that it’s great for chatter, but really bad for Support, or long-running technical discussion. Questions and comments often span multiple messages, which makes threading difficult, and it’s really difficult for our Support folks to see what has been answered and what hasn’t.

Discourse on the other hand, is much more structured and predictable. Kind of like email, but where multiple folks can collaborate. It suits the types of discussions we have and there is a lot of established best practices around how to use it for support related situations.

We are planning to have Private categories for our Enterprise teams in the same place as Public categories for community discussion and an area for Feature Requests to replace our feedback repository.

What we’ll miss from Slack

Slack conversations are often more fun. They are immediate, and feel very present and human. Discourse is a bit more cold and email-like. Our concern is that moving to Discourse might discourage the chatter and banter that we currently have that we all love.

What is the plan for evaluation?

First up, we’re all actively lurking in the forums and posting content here. We will be looking in Discourse before we check Slack in our support rotations too. Moving forward we are going to post Beta features here and gather feedback for them from customers.

We’ll be deprecating https://github.com/buildkite/feedback and encouraging folks to post in https://forum.buildkite.community/c/feature-requests or in their Private Category if they are an Enterprise team and it’s a better fit.

Beyond that, we’ll be gathering feedback and talking to you all about what you think and how you want to engage with us. If after a while we’re satisfied that Discourse is the better approach, we will come up with a timeline for closing our Slack channels and the Feedback repository entirely.

Thanks for joining us in this, and we’re keen to hear what everyone thinks!