見出し画像

技術的な意思決定の議論をGitHubに集約し、リモート開発のコミュニケーションコストを下げる方法

はじめに

はじめまして、Ubieでソフトウェアエンジニア & スクラムマスターをしている齋藤(yoshimaru46)です。
今回は、Ubieの2020アドベントカレンダー8日目の枠で、開発チームがGitHubに技術的な意思決定の議論を集約し、誰もが最新の情報にアクセスしやすい状態をつくった方法を紹介します。

想定読者

コロナ禍でリモート環境での開発体制がメインになり情報共有に課題を感じている人。

課題意識

私は半年ほど前にUbieに入社しました。入社後、ドキュメントが想定以上に充実していてありがたいなぁと思う一方で、複数のツールに情報が分散(Slack, GitHub, Jira, Docbase, Notion等)しており、求める情報を探し辛いことに苦労しました。
もちろん質問したり、ペアプロしたりすればすぐに解決するのですが、自分で検索して解決できた方が良いのは言うまでもありません。
スクラムチームのKPTでも情報共有のあり方に関する課題があがっていました。

画像1

情報の集約化に向けてこだわった3つのこと

課題を感じている人が解決するのが一番手っ取り早いので、社内の透明性を担保するチームに入りました。
Ubieはホラクラシーという運営体制を導入しており、課題を感じた人が自ら手を上げてどんどん解決しています。

ここでは、情報の集約化に向けてこだわった3つのことを紹介していきます。

①チームで定めた基準を満たす情報共有ツールを選定すること

Ubieでは、透明性が高い状態を、「情報が然るべき方法で『公開・整理・配信』されている状態」と定義しています。(詳しくはこちら

画像6

情報共有ツールの増加に伴い情報の検索性が損なわれてしまったと考え、より良い情報共有の方法がないか、情報共有ツールを見直しました。

画像6

最終的には、既存のツール選定の観点を満たしており、以下のようなメリットがあるGitHub Issueに議論を集約してみることにしました。

- エンジニアはもともと使っているツールなので新たにツールが増えない
- IssueとPull Requestを横断して検索できる
- ZenHub使えばGitHub内でスクラム運用も完結できる

②非エンジニアとの議論も、GitHubに集約されること

さらに、業務中にGitHubを見る機会のないメンバーとの議論もGitHubに集約したいと考えました。Jasper,  DevHub等の設定を全員にお願いするのは現実的ではないと考え、GItHubでのメンションを受け取った際に使い慣れているSlackにメンションを転送するようにしました。(Gistはこちら

画像3

以前は、リアルタイムで返信が欲しい時はSlackで議論し、GitHubにSlackのスレッドのURLを貼る運用をしていました。しかし、この仕組みにより、リアルタイムで議論が必要な場合もGitHub上で議論が行われ情報が集約できるようになりました。

③スムーズに負荷なく移行できること

画像5

ZenHubの使い方のオンボーディングIssueを作成し、全員がスムーズに移行できるようにしました。Jiraと比較するとZenHubは機能が少ないのでツールへのオンボーディングは特に問題になりませんでした。
(実際にJiraのチケットをGitHub Issueに変換したスクリプトはこちら。)

移行後に判明した課題と解決策

GitHub ✕ ZenHub への移行は全てが上手く行ったわけではなく、いくつか課題も出てきました。そこで私たちが取った対応をお伝えします。

①IssueやPull Requestのテンプレート機能を利用
Jiraのカスタムフィールドで設定していた項目をGitHub Issueのラベルで表現しようとしたことで、ラベルの数が増えカンバンが見づらくなりました。
ラベルの彩度を落ち着いた色味に変更し、目にうるさくならないようにしましたが、根本的な解決にはなりませんでした。
現在はIssueやPull Requestのテンプレート機能を使ってカスタムフィールドで設定していた項目を再現しています。

②本題から逸れる話題は折りたたむ
GitHub Issueにはスレッド機能がないので議論長くなり、後から見返しづらくなりがちです。
解決策として、本題から逸れるコメントは非表示したり、コードなどの詳細に関するものは<details>タグで折りたたむようにしています。

最後に

画像4

いくつか課題も見えてきましたが、KPTで情報共有に関する課題は上がらなくなったので概ね上手く行ったのではないかと思っています。

情報共有のあり方を見直したことで、コミュニケーションコストが減り、開発メンバー全員がより顧客と向き合える時間が長くなりました。

Ubieでは透明性が高く、開発に集中できる環境の中で働きたいエンジニアを募集しています!

ソフトウェアエンジニアチームの紹介資料
ソフトウェアエンジニアへの応募ページ

この記事が気に入ったらサポートをしてみませんか?