그로부터 4년 이상 지난 지금, 제 팀이 데일리 스크럼에 Discourse를 활용하는 방식을 간략히 소개합니다.
조직적 배경
- "외부 고객"으로서 다양한 오픈소스 이니셔티브에 참여하는 프로젝트 팀이지만, 대규모 조직 내에 소속되어 있습니다.
- 해당 대규모 조직은 문서화, 프로젝트 관리, 채팅(Slack) 등을 위한 자체 소유 도구를 갖추고 있으며, 역사적으로 오픈소스 도구로 전환하거나 조직의 업무를 공개하는 데 소극적이었습니다.
- 이 팀의 업무는 (a) 상위 조직의 보고 표준 내에 존재하고, (b) 대중에게 공개되어야 하는 이중의 요구를 충족해야 합니다.
기술적 설정
- 대중 및 기타 외부 주체와의 소통을 위해 팀의 업무를 위한 Discourse 포럼을 운영합니다.
- 전 세계적으로 읽기 가능하지만 팀 구성원만 작성 가능한 전용 프로젝트 관리 카테고리를 설정했습니다.
- 해당 카테고리 하위에 “데일리 스탠드업” 하위 카테고리를 만들었으며, 이 역시 팀 구성원만 작성 가능하며 23시간 후 자동으로 토픽을 닫도록 설정했습니다.
@discobot의 이름을 변경하고 해당 카테고리에 접근 권한이 있는지 확인했습니다.
(현재의) 해결책
- 기존 Discourse 플러그인이나 이용 가능한 오픈소스 도구가 아직 충분하지 않아, 어쩔 수 없이 자동화를 위해 Zapier를 사용 중입니다.
- 월요일부터 금요일까지, Zapier가 매일 지정된 시간에 봇 사용자로 “데일리 스탠드업” 하위 카테고리에 새 토픽을 생성합니다. 토픽 제목에는 현재 날짜가 사용됩니다.
- Zapier는 각 스탠드업 참여자에게 업무 시작 시간 전후로 Slack 리마인더를 보내며, 이는 특정 날짜의 스탠드업 토픽 URL 링크를 포함합니다. (Slack 기능 중 하나인 시계 설정 및 무시 기능이 가능합니다.)
- Zapier는 해당 카테고리의 게시물을 모니터링하되, 봇의 게시물, 각 토픽의 첫 번째 게시물, 그리고 자동으로 트리거되던 자동 닫힘 이벤트를 제외합니다. 게시물은 Zapier 도구를 통해 크게 재작성되어 Slack 채널에 게시되며, 이는 다른 팀 구성원들이 사용하는 형식을 모방하되, Slack 메시지의 첫 번째 줄(자동 생성된 날짜)에 게시물 링크를 추가합니다. 이는 채팅 통합 플러그인이 추가 메타데이터로 인해 너무 시끄러워 해당 채널의 다른 사용자들을 불편하게 했기 때문에 수행되었습니다.
- 일정 시점에 수동으로 날짜를 이벤트 플러그인에 추가하여, 스탠드업 보고서가 기타 활동과 함께 메인
/calendar에 표시되도록 합니다. - 채팅 통합 플러그인이 해당 Slack 워크스페이스의 다른 곳에서 동일한 스탠드업을 두 번 반복해서 표시하지 않도록, 이 스탠드업 카테고리를 제외(음소거)하도록 설정합니다.
Discourse 희망 사항
Zapier를 사용하지 않아도 되는, 언젠가 구현되었으면 하는 기능들:
- 날짜와 같은 변수로 템플릿을 적용할 수 있는 반복적 자동 게시물 일정.
- 채팅 통합 플러그인: 이메일 템플릿과 유사하게, 채팅 통합이 다양한 채널로 보내는 내용의 템플릿을 편집할 수 있는 기능.
- Assign: 토픽에 여러 명의 담당자를 지정할 수 있게 하고, 카테고리별로 리마인더 간격을 설정할 수 있게 하며, API를 통해 또는 위의 자동 생성 템플릿의 일부로 할당을 설정할 수 있게 하는 기능.