slackオンリーで全ての不具合報告→優先度付け→issue作成まで完結させてみた
who is me?🤚
今年の7月から、エイジレスという会社でテックリードっぽくやっている栗田と言います🫡
7年ほどrailsとかreactをずっと触っており、もっぱらエンジニアとして手を動かしていることが多かったです。
今のポジションになってからは、開発ツールの導入や、アサインするタスクの要件や仕様詰め、設計方法の吟味、各スプリントで他に開発しているエンジニアメンバーにタスクを割り振るなど、マネジメント業務も任せて頂いてます。
まだ、タスク管理方法が最適化されていなかった🤔
当時のタスク管理はGitHubのissueに書き出して、その後に都度優先度やスプリントを設定し、CTOが割り振りをしていく、というスタイルをとっていました。
初期段階はそれでワークしていたようなのですが、私が参画してから関わる中で、課題に感じた点として以下が挙げられました。
- slackでメモ書き程度に残した不具合のissue化が漏れてしまう😱
- ビジネスサイドのメンバーはGitHubを触らないので、バグ管理表みたいな形でスプレッドシートを作って、書いてもらった内容を、都度エンジニアがissue化しており、多重管理になっていた😵💫
- CTOがとにかく多忙になり、issue化するリードタイムが長くなってきていた😵
いかん!
このままではエンジニアの貴重な開発時間が減ってしまう!🤮🤮
という事で、何とか改善出来ないかチャレンジした結果、こんな感じでフローを簡素化させました。
- slackのワークフローで、不具合報告を投稿できるようにした(開発以外のビジネスメンバーも同様に投稿)
- 投稿内容を見て、隙間でCTOが優先度付けのスタンプを押す
- そのスタンプを見て、「issit」というアプリを使ってメッセージ内容をGitHubのissueに書き出す
以上です!
色んな画面を行き来することなく、slackだけでissue作成まで完結できました。
では、具体的にどんな設定をしたかを、以下で説明したいと思います💡
もしこのやり方が気に入って、うちでも導入してみました!っていう側がいたらぜひリアクションいただけたら嬉しいです👌
slackでの半自動化の構築をしてみよう〜!
スタンプ作成
主に上げてもらった不具合に関して、優先度や、デザイナーチェックを挟みたい旨を
ワンタップで伝達できるように、スタンプ生成ができるで以下のスタンプを作成しました😇
不具合報告用のチャンネルを作成
slackで、publicなチャンネルを作成し、他の人にも運用方法がわかるように説明書きを追加します。
slackでワークフローを構築
slackアプリの以下の画面から不具合報告フォームを作ります。
- 自動化を選択
- 新しいワークフローボタン> ワークフローを構築する をクリック
- 以下のキャプチャのようなワークフローを定義します。
- slack内のリンクから開始
- 情報をフォームで収集する
- チャンネルにメッセージを送信する
設定後に「完了」を押すと、ワークフローが起動できるようになります!
試しに、不具合改善報告チャンネルの中のメッセージに「/」と入力すると、サジェストされるはずです。
おすすめは、質問フォームの中にキャプチャのアップロードを入れておくことです。
こうすることで、スレッドや別メッセージを辿らずに不具合の箇所を確認できるようになります。
報告者、修正するエンジニアの認識一致が取りやすくなり、確認や手戻りの手間が減るはずです。
issitというアプリをslack、GitHubと連携
issitというなかなかクールなアプリがありました👌
これを使うと、以下の点で便利だなと思い採用しました。
- slackのメッセージに書いた内容を、連携済みのリポジトリのissueに追加してくれる
- issueにコメントがあった、解決してcloseされたといった際にスレッドにsyncして通知
流れは、issitのHPにある手順通りに進めれば、連携まで問題なくできるかと思います 😀
実際の運用
- 報告者が不具合改善報告のワークフロー起動
- CTOがチェックして、優先度スタンプをタップ
- テックリードがissitでissue作成
ちなみにこの方法で作成すると、issue作成済みの報告にはissitからのリプが表示されるので、
作り忘れてた!みたいなことが防げる、という算段です😎
また、closeされたときにはissue作成者へのメンションでcloseの通知が行くため、
それを確認したら、報告メッセージに「DONE」のスタンプを押していくと、
チャンネル内で、対応完了済かのチェックも容易になるかと思います🎉
本当はスタンプを押したらissueを自動作成!まだやりたかったのですが、一旦すぐ導入出来るとこまでやるとなるとこれが限界でした。。。
いつかそこも自動化できるようチャレンジしたいところです。
また、自動作成されたissueを、各スプリントやエンジニアにアサインを振り分けるために、
github projectsもカスタマイズしたのですが、それはまた次回のネタということにしようかと思います。
ぜひ皆さんのタスク管理のお供に、こんな運用方法も有るんだよーということを共有できたら嬉しいです☺️👍
Discussion