How to do asynchronous Scrum standups using Discourse?

Our project currently does synchronous IRC-based daily (M-F) Scrum standups for people who:

  • Are currently hacking on the project, and
  • Are available at the designated time.

This is less than ideal for a global team for various reasons, so I’m trying to think of how to re-create something like Flock but using Discourse. (The less tools, the better!)

For those not familiar with the report, the standard items mentioned include:

  • What was done the previous day
  • Plans for the upcoming day
  • Any issues blocking the person from proceeding with their work

I’ve been thinking about how to use the following features to make it happen:

  • Dedicated sub-category
  • Auto-close topics after N hours for the sub-category
  • Category-based topic templates
  • Specifying content in URL’s to pre-populate topics

The problem seems to be conceptualizing how this should look. Should each person create a topic for each day they have a report to make? A topic for each day that everyone contributes to? Ideally, someone could just go to a standard link or URL to create their report with minimal clicks.

Is this interesting to anyone else who would like to brainstorm a way forward? Thanks in advance. :smile:

3 Likes

Seems like a topic per “stand up” with multiple replies, one from each team member, would work fine. Use a unique category and put a category template in so people have some idea of what info to include.

I personally dislike any “mandatory meeting every day” scheme as we try to keep mandatory meetings to an absolute minimum.

4 Likes

Howdy @downey 3 years later … wondering how this has been working out for you?

6 Likes

also wondering @downey. Our volunteer community have:

  • Slack for our Dev’s (as they are there for work anyway)
  • Discourse for the rest of the community, which i plan to sync with the main channel in Slack so the devs are more a part of the community
  • Trello for project management.
  • Timetreeapp for a team calendar.
  • Github for issues, coding, and often conversations occur here also

It is definitely not optimal spreading the team across so many platforms. By design Discourse is the central hub, and ways of bringing our team closer into it would be very useful.

7 Likes

And in stark contrast our team have

  • Discourse for our devs
  • Discourse for the rest of the company
  • Discourse for the rest of the community
  • Discourse for project management
  • Discourse for our team calendar
  • Discourse for issues
  • Mattermost for ephemeral chat and system alerts
11 Likes

We’re pretty much the same except we’re looking at using another solution for project management.

Do you handle gantt charts, subtasks, and kanban layouts in discourse?

2 Likes

+1 this is what i’d like to know.

Our main issue is being a community of volunteers. Devs want to remain on the platform they use as standard for work, getting them to switch proved difficult. syncing the main channels between the two seems the best middle-ground.

I’ll add to the mix that the Edgeryders community look to be using Discourse quite effectively for documentation, but that requires switching to the Categories view homepage, which would take away from the interaction on our forum. I’m looking now to see if there’s a way to combine the two views on the homepage so we can have our documentation on Discourse

2 Likes

You can do some charting with the Discourse Graphviz plugin, but we usually avoid that. I have not seen a kanban plugin yet, but it does sound like an interesting idea for a theme component or plugin.

At Discourse we do our project management very differently to the traditional sense. We kick off TODOs on our dev instance or just directly assign topics from meta. In our weekly calls managers and team leaders help prioritise stuff. We are always shipping features so there is not “deadline in 3 months” we are working towards.

6 Likes

how do you use it exactly or what do you mean by ephemeral, respectively. I ask as we got a non-provite licence as you folks. Now, the discussion is, what shall happen where, so chat vs forum.

2 Likes

Ephemera is the stuff which doesn’t matter tomorrow.

“There are cakes in the breakroom” is ephemera, once the day is over or cakes are gone nobody needs to know. That kind of stuff is far better thrown into a chat product than posted onto platforms such as discourse.

Anything which has legitimate value in the medium to long term isn’t ephemeral, so post it somewhere you can structure it for easy future access.

9 Likes

So 4+ years later, here’s a snapshot of how I team I am on is using Discourse for daily scrums.

The organizational setting

  • A project team that works on various open source initiatives as “external clients” but sits within a large organization.
  • That larger organization has its own proprietary tools for documentation, project management, chat (Slack) etc., and has historically been unwilling to switch to open source tools or share org work publicly.
  • The work for this team has to be both (a) existing within the larger org’s reporting standards, and (b) exposed to the public.

The technical seting

  • A Discourse forum for the team’s work to interface with the public and other external parties.
  • A dedicated project management category that is world-readable but team-writable.
  • A “Daily Standups” subcategory to that, also only team-writable, set to auto-close topics after 23 hours.
  • We renamed @discobot and made sure it had access to the category.

The (current for now) solution

  • Reluctantly using Zapier for automation because the existing Discourse plugins, or available open source tools, were not yet sufficient.
  • Monday through Friday, Zapier creates a new topic in the “Daily Standups” subcategory as the bot user, at a designated time each day, using the current date in the topic title.
  • Zapier sends Slack reminders (it’s a slack feature that allows snoozing and dismissal) to each standup participant at a time around the start of their work day, including a link to the day’s specific standup topic URL.
  • Zapier watches for posts to that category, filtering out anything from the bot, the first post of any topic, and also excluding the auto-close which would also otherwise trigger. The post is dramatically rewritten using the Zapier tools to post into a Slack channel, mimicking the format used by members of other teams, but adding a link to the post in the first line of the Slack message (which is the auto-generated date). We had to do this because the Chat Integration Plugin was too noisy with extra metadata, annoying this channel’s other users.
  • At some point, we manually add the date to the Events Plugin, so the standup report shows up on the main /calendar with other activities.
  • We make sure the Chat Integration plugin excludes (mutes) this Standup category from echoing the same standup twice somewhere else on the Slack workspace in question.

Discourse wish list

What would be great someday so we don’t have to use Zapier:

  • Recurring schedule of automatic posts whose text could be templatized with variables like date.
  • Chat Integration Plugin: Editing the template of what the Chat Integration sends to various channels, somewhat like is done with email templates.
  • Assign: Allowing multiple assignees to a topic, setting reminder intervals per category, allowing assignments to be set through the API or as part of the auto-creation template above.
14 Likes