Editor's note: Updated February 9, 2023 to reflect that Discourse now has a chat feature that we use internally.
As we claim on our website, we use Discourse as our primary team coordination tool to build… Discourse!
When I first joined the Discourse team I found this way of working unusual. I was used to Trello, Google Docs, Basecamp, Zendesk, Todoist and Slack.
Most organisations I have worked in tried multiple permutations of every conceivable version the above. It took less than a week to rejoice in how unencumbered I felt to be rid of all those systems.
Escaping email silos and minimising the number of disparate communication channels required to manage a fully distributed team. We are able to keep distractions like calls and meetings to a minimum and focus on actual work, while still feeling connected to the rest of the team. I felt as righteous as I do after an epic spring cleaning session.
We use our own Chat plugin for ‘quick answers’ between team members but that data can be ephemeral -- as anyone on a free Slack plan knows. We push important long-term knowledge across into Discourse so we added the ability to quote a chat message into a Topic. We can even set a bookmark on a chat message so that we can avoid endlessly scrolling to find a message we know we need to reference again but might not be ready for a topic. We also make light use of Google Docs as shared permanent file storage, of which we don’t need a lot, but that’s it.
We run two Discourse instances:
- Our public facing Meta where we interact with the community, provide general support, and gather feedback.
- A private instance where we have internal discussions and house our internal knowledge base and runbooks.
But general discussion isn't the only thing we use Discourse for.
We use Discourse to publicly manage our product roadmap. New feature requests are made by community members in the
features category by following this process. The requests are reviewed by our team and approved features are moved through the roadmap using tags for visibility.
- Tags to provide progress on feature requests.
- Discourse Assign to allocate work to team members.
We use a category on our internal instance of Discourse to manage tasks. New tasks are written up in the
todo category. In some cases they are immediately assigned and in others, we tag a group to give visibility of the task so that a team member can claim it using Discourse Assign. Once a task has been completed the topic is closed. We use topic timers to delete short or ephemeral todos when no record is required.
- Discourse Assign to allocate the job to a team member.
- Topic timers to close or delete topics once the task is complete.
- Tags to organise tasks into business groups.
We also use Discourse as a private email support portal which allows our entire team to share the support load. Anyone can email email@example.com and we handle those interactions in a central discourse mailbox, as private group messages.
Staged user accounts are set up, allowing us to store contact history against an individual. More details on how that works here.
This setup means that everyone has full visibility of the open tickets and can also easily search through past tickets, either to learn or to stay abreast of what has been discussed or promised.
People can jump in seamlessly across time zones. Discourse notifications alert us of incoming requests. We can tag people in when we need them, assign team members when a task needs to be completed, bookmark messages for follow up, set topic timers to nudge people and we can use whisper topics to support each other, make notes and troubleshoot as a team.
- Tags for private messages for organisation, similar to how labels work in Gmail.
- The "someone is typing" feature means that we don’t accidentally reply to someone at the same time.
- Discourse Assign allows us to give or take ownership of a support issue.
- “Whisper posts” let us privately research or troubleshoot as a team, keeping all the relevant information within the topic.
Tip: Edit the post titles so that the message is identifiable by everyone at a glance.
We use Discourse as both a public and a private knowledge repository. The
howto category on Meta is a crowdsourced knowledge base which houses community written tutorial topics that describe how to set up, configure, or install Discourse using a specific platform or environment.
Internally we use our private Discourse instance to store run-books. They are a great way for employees in mismatched time zones to document processes so that other employees are able to be productive without having to wait for a response to a question.
- Subcategories for grouping similar topics
- Tags for categorisation
- Trust levels to restrict posting to more experienced Discourse users
- Discourse Docs plugin (e.g. meta.discourse.org/docs) to find and filter knowledge base topics
We believe strongly in using Discourse to help us build Discourse, and we're constantly improving both our process, and Discourse, to make it a better team collaboration tool. For more helpful info on how we run our remote team, check out our article on managing work and workloads with Discourse.