Github Discussionsを試して感じた3つのメリット
概要
Github には Github Discussions という機能があります。
主に、レポジトリに関する質問や最新情報を共有するコミュニケーションフォーラムとして使われるものですが、もともとは OSS を対象としており、パブリックレポジトリのみでしか使えませんでした。しかし、2021 年 3 月からプライベートレポジトリでも利用が可能となり、自社プロダクトのようなクローズドな開発でも使うことが可能となりました。
また、2021 年 8 月に β 版から正式版になり、これからも機能拡張が期待される注目の機能の1つでもあります。
そんな Github Discussions を試してみました。
セットアップ
設定はとても簡単で、レポジトリの「Settings」→ 「Features」から Discussions の「Set up discussions」を押すだけです。
すると、サンプルのディスカッションが自動的に作成されるので、「Start discussion」を押します。
無事作成されると、レポジトリに「Discussion」セクションが追加され、先程追加したサンプルのディスカッションも確認できます 👇
Github Discussions の良い点
試していくなかで、Github Discussions には以下のようなメリットがあると思いました。
① やりとりをログとして残せる
Slack などのコミュニケーションツールでレポジトリに関するやりとりをすることも多くあるかと思いますが、会話が流れてしまうために、同じ問題が繰り返されるという問題点があります。
例えばあるプロダクト開発に新しく参加した A 君とその 1 ヶ月後に参加する B 君がいたとしましょう。そのプロダクトは README が半年前から更新されておらず、README に書かれている環境構築に加えてライブラリのインストールや環境変数の設定などをしなければなりませんでした。A 君は Slack で質問をして解決しましたが、B 君はどうでしょう?そのスレッドがあることは知らないので再度同じ質問を Slack ですることになってしまいます。
ドキュメントを更新すれば済む話ではあるのですが、優先順位が低かったりしてなかなか手が回らず、更新を忘れてしまった...みたいなことは割とある気がしています。
Github Discussions を使えば、そのやりとりがログとして残り、他のエンジニアにも共有することができるので、このような問題は少なくなるのではないかと思っています。
② Github 内でやりとりを完結できるのでスイッチングコストを減らせる
タスク管理ツールなど他の媒体を使ってレポジトリに関するやりとりをすることはあると思いますが、やりとりをどこでしたか探すのに時間がかかったり、通知に気付かなかったりで、そこには隠れたスイッチングコストがあると思っています。
Github をソースコード管理ツールとして使用している場合、最終的には Github に PR を立ててマージをすることになるので、やりとりや仕様の要件が Discussions や Issue など Github 内で完結していることはタスクに集中する上でも良い気がしています。
③ エンジニア間のコミュニケーションが促進され、主体的な開発文化の土台になる
日々の開発業務でなんとなく思ったことを書き留める場としても活用できるので、エンジニア間のコミュニケーションが促進されることが期待されます。質問するほど明確な疑問点ではないけれどなんとなく聞きたいことや、 just idea な改善策などを残しておける開発文化があることで、エンジニアがより主体的に考えて実装していけるようになるのではないかと思いました。
Github Discussions の注意点
使う際の注意点として、通知がないことが挙げられます。
デフォルトでは通知が実装されていない
Slack と Github を連携する際に、Slack 用の GitHub アプリをインストールすることで、issue の作成や branch の状態などを通知してくれますが、Github Discussions はまだ実装されていません。
Github actions を使って通知を実装することは可能なようなので、通知がなくて気がつかない...という場合は検討してみると良いかもしれません。
まとめ
Github Discussions は Github を使っているチームなら是非おすすめのコミュニケーションフォーラムだと思います。
すぐに作成できるので是非試してみてください^^
Discussion