How to do asynchronous Scrum standups using Discourse?

Итак, спустя 4+ года, вот snapshot того, как наша команда использует Discourse для ежедневных скрамов.

Организационный контекст

  • Проектная команда, работающая над различными инициативами с открытым исходным кодом как «внешние клиенты», но входящая в состав крупной организации.
  • Эта крупная организация имеет собственные проприетарные инструменты для документации, управления проектами, чата (Slack) и т. д., и исторически не хотела переходить на инструменты с открытым исходным кодом или делиться работой организации публично.
  • Работа этой команды должна одновременно (а) соответствовать стандартам отчетности крупной организации и (б) быть доступной для публики.

Технический контекст

  • Форум Discourse для взаимодействия команды с публикой и другими внешними сторонами.
  • Специальная категория управления проектами, доступная для чтения всем, но доступная для записи только команде.
  • Подкатегория «Ежедневные стендапы» в этой категории, также доступная для записи только команде, с автоматическим закрытием тем через 23 часа.
  • Мы переименовали @discobot и убедились, что у него есть доступ к этой категории.

(На данный момент) решение

  • С неохотой используем Zapier для автоматизации, так как существующие плагины Discourse или доступные инструменты с открытым исходным кодом пока недостаточны.
  • С понедельника по пятницу Zapier создает новую тему в подкатегории «Ежедневные стендапы» от имени пользователя-бота в назначенное время каждый день, используя текущую дату в заголовке темы.
  • Zapier отправляет напоминания в Slack (это функция Slack, позволяющая откладывать и отклонять напоминания) каждому участнику стендапа в время, близкое к началу его рабочего дня, включая ссылку на URL конкретной темы стендапа на этот день.
  • Zapier отслеживает посты в этой категории, фильтруя всё от бота, первый пост любой темы, а также исключая автоматическое закрытие, которое иначе также могло бы сработать. Пост радикально переписывается с помощью инструментов Zapier для публикации в канале Slack, имитируя формат, используемый членами других команд, но с добавлением ссылки на пост в первой строке сообщения Slack (которая представляет собой автоматически сгенерированную дату). Мы были вынуждены сделать это, потому что плагин Chat Integration был слишком шумным из-за дополнительных метаданных, что раздражало других пользователей этого канала.
  • В какой-то момент мы вручную добавляем дату в плагин Events, чтобы отчет о стендапе отображался на главном /calendar вместе с другими мероприятиями.
  • Мы убеждаемся, что плагин Chat Integration исключает (заглушает) эту категорию Standup, чтобы не дублировать один и тот же стендап в другом месте рабочего пространства Slack.

Пожелания для Discourse

Что было бы замечательно в будущем, чтобы нам не пришлось использовать Zapier:

  • Повторяющийся график автоматических публикаций, текст которых можно было бы шаблонизировать с использованием переменных, таких как дата.
  • Плагин Chat Integration: возможность редактировать шаблон того, что плагин Chat Integration отправляет в различные каналы, примерно так же, как это делается с шаблонами электронной почты.
  • Assign: возможность назначать нескольких исполнителей на тему, устанавливать интервалы напоминаний для каждой категории, а также разрешать назначение через API или как часть шаблона автоматического создания, описанного выше.
15 лайков