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 Me gusta

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 Me gusta

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

6 Me gusta

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 Me gusta

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
12 Me gusta

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 Me gusta

+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 Me gusta

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 Me gusta

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 Me gusta

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 Me gusta

Así que, más de 4 años después, aquí hay una instantánea de cómo el equipo en el que me encuentro utiliza Discourse para los scrums diarios.

El contexto organizativo

  • Un equipo de proyecto que trabaja en varias iniciativas de código abierto como “clientes externos”, pero que forma parte de una gran organización.
  • Esa organización más grande tiene sus propias herramientas propietarias para documentación, gestión de proyectos, chat (Slack), etc., y históricamente ha sido reacia a cambiar a herramientas de código abierto o a compartir el trabajo de la organización públicamente.
  • El trabajo de este equipo debe cumplir tanto (a) con los estándares de informes de la organización más grande como (b) estar expuesto al público.

El contexto técnico

  • Un foro de Discourse para que el trabajo del equipo interactúe con el público y otras partes externas.
  • Una categoría dedicada de gestión de proyectos que es de lectura mundial pero de escritura exclusiva para el equipo.
  • Una subcategoría “Reuniones Diarias de Pie” dentro de esa categoría, también de escritura exclusiva para el equipo, configurada para cerrar automáticamente los temas después de 23 horas.
  • Renombramos a @discobot y nos aseguramos de que tuviera acceso a la categoría.

La solución (actual por ahora)

  • Usamos Zapier con cierta reticencia para la automatización, ya que los plugins existentes de Discourse o las herramientas de código abierto disponibles aún no eran suficientes.
  • De lunes a viernes, Zapier crea un nuevo tema en la subcategoría “Reuniones Diarias de Pie” como usuario bot, a una hora designada cada día, utilizando la fecha actual en el título del tema.
  • Zapier envía recordatorios por Slack (es una función de Slack que permite posponer y descartar) a cada participante de la reunión diaria a una hora cercana al inicio de su jornada laboral, incluyendo un enlace al URL específico del tema de la reunión del día.
  • Zapier monitorea los publicaciones en esa categoría, filtrando cualquier cosa proveniente del bot, la primera publicación de cualquier tema, y también excluyendo el cierre automático que de otro modo se activaría. La publicación se reescribe drásticamente utilizando las herramientas de Zapier para publicarla en un canal de Slack, imitando el formato utilizado por miembros de otros equipos, pero agregando un enlace a la publicación en la primera línea del mensaje de Slack (que es la fecha generada automáticamente). Tuvimos que hacer esto porque el Plugin de Integración de Chat era demasiado ruidoso con metadatos adicionales, lo que molestaba a otros usuarios de ese canal.
  • En algún momento, agregamos manualmente la fecha al Plugin de Eventos, para que el informe de la reunión diaria aparezca en el /calendar principal junto con otras actividades.
  • Nos aseguramos de que el Plugin de Integración de Chat excluya (silencie) esta categoría de Reuniones Diarias para evitar que se duplique la misma reunión en otro lugar del espacio de trabajo de Slack en cuestión.

Lista de deseos para Discourse

Lo que sería genial algún día para que no tengamos que usar Zapier:

  • Programación recurrente de publicaciones automáticas cuyo texto podría plantillarse con variables como la fecha.
  • Plugin de Integración de Chat: Edición de la plantilla de lo que el Plugin de Integración de Chat envía a varios canales, de manera similar a lo que se hace con las plantillas de correo electrónico.
  • Asignación: Permitir múltiples asignados a un tema, establecer intervalos de recordatorio por categoría y permitir que las asignaciones se configuren a través de la API o como parte de la plantilla de creación automática mencionada anteriormente.
15 Me gusta