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 curtidas

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 curtidas

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

6 curtidas

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 curtidas

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 curtidas

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 curtidas

+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 curtidas

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 curtidas

Como você o utiliza exatamente, ou o que quer dizer com “efêmero”, respectivamente? Pergunto porque temos uma licença não proprietária, assim como vocês. Agora, a discussão é: o que deve acontecer onde, ou seja, chat versus fórum.

2 curtidas

Ephemera são coisas que não importam amanhã.

“Há bolos na copa” é ephemera; uma vez que o dia termina ou os bolos acabam, ninguém precisa saber. Esse tipo de coisa é muito melhor jogado em um produto de chat do que publicado em plataformas como o Discourse.

Qualquer coisa que tenha valor legítimo a médio e longo prazo não é efêmera, então publique em algum lugar onde possa estruturá-la para fácil acesso futuro.

9 curtidas

Então, mais de 4 anos depois, aqui está um panorama de como a equipe em que atuo está usando o Discourse para as reuniões diárias de scrum.

O contexto organizacional

  • Uma equipe de projeto que trabalha em várias iniciativas de código aberto como “clientes externos”, mas está inserida em uma grande organização.
  • Essa organização maior possui suas próprias ferramentas proprietárias para documentação, gerenciamento de projetos, chat (Slack) etc., e historicamente tem sido relutante em mudar para ferramentas de código aberto ou compartilhar o trabalho da organização publicamente.
  • O trabalho dessa equipe precisa ser tanto (a) estar dentro dos padrões de relatórios da organização maior, quanto (b) estar exposto ao público.

O contexto técnico

  • Um fórum Discourse para que o trabalho da equipe interaja com o público e outras partes externas.
  • Uma categoria dedicada de gerenciamento de projetos que é de leitura mundial, mas de escrita apenas da equipe.
  • Uma subcategoria “Daily Standups” (Reuniões Diárias) dentro dessa categoria, também de escrita apenas da equipe, configurada para fechar automaticamente os tópicos após 23 horas.
  • Renomeamos o @discobot e garantimos que ele tivesse acesso à categoria.

A solução (atual, por enquanto)

  • Relutantemente usando o Zapier para automação, pois os plugins existentes do Discourse ou as ferramentas de código aberto disponíveis ainda não eram suficientes.
  • De segunda a sexta, o Zapier cria um novo tópico na subcategoria “Daily Standups” como usuário do bot, em um horário designado todos os dias, usando a data atual no título do tópico.
  • O Zapier envia lembretes pelo Slack (é um recurso do Slack que permite adiar e descartar) para cada participante da reunião diária em um horário próximo ao início do seu dia de trabalho, incluindo um link para o URL específico do tópico da reunião daquele dia.
  • O Zapier monitora as postagens nessa categoria, filtrando qualquer coisa vinda do bot, a primeira postagem de qualquer tópico e também excluindo o fechamento automático, que de outra forma também seria acionado. A postagem é drasticamente reescrita usando as ferramentas do Zapier para postar em um canal do Slack, imitando o formato usado por membros de outras equipes, mas adicionando um link para a postagem na primeira linha da mensagem do Slack (que é a data gerada automaticamente). Tivemos que fazer isso porque o Plugin de Integração de Chat era muito barulhento com metadados extras, irritando outros usuários desse canal.
  • Em algum momento, adicionamos manualmente a data ao Plugin de Eventos, para que o relatório da reunião diária apareça no /calendar principal junto com outras atividades.
  • Garantimos que o Plugin de Integração de Chat exclua (silencie) essa categoria de Reunião Diária de ecoar a mesma reunião duas vezes em outro lugar no workspace do Slack em questão.

Lista de desejos do Discourse

O que seria ótimo um dia, para que não precisemos mais usar o Zapier:

  • Agendamento recorrente de postagens automáticas cujo texto possa ser templateado com variáveis como a data.
  • Plugin de Integração de Chat: Edição do modelo do que a Integração de Chat envia para vários canais, de forma semelhante ao que é feito com modelos de e-mail.
  • Assign (Atribuição): Permitir múltiplos atribuídos para um tópico, definir intervalos de lembrete por categoria e permitir que as atribuições sejam configuradas via API ou como parte do modelo de criação automática mencionado acima.
15 curtidas