Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

PRのレビュワーをSlackbotのカスタムレスポンスを使って選定するシステムを導入してみた

サーバーサイドエンジニアの水戸です!

今回は、ヤプリサーバーチームで導入しているPRレビュワー選定システムを紹介します。

レビュワー選定における問題

システム開発においては、PullRequestで第3者にコードレビューをしてもらうのが一般的です。

そこで浮上してくるのが、「レビュワーを誰にやってもらうか問題」です。

その機能(またはコード)に詳しい人や、リードエンジニアなど、一部の人にやってもらうのが普通ではありますが、ここでいくつかの課題が浮上します。

一部の人にレビュー業務が偏る

チームによっては、リードの方にレビューを寄せていたりなどあるかもしれませんが、基本業務に偏りが生じるのは良くないことです。

偏りが生じることによって、「ある人はあまり忙しくないが、ある人はとても忙しい」という状況が起こりえます。

当該機能に関する知見が偏る(属人化)

知見の属人化に関しては、更に致命的です。

普通に業務を行っていれば、属人化は自ずと起こることですが、その人がチームから離れた途端業務に支障が出るようでは、チームとして健全であるとは言えません。

そのため、属人化はできる限り解消し、メンバー全員が同じ業務ができることが理想です。(そんなチームが存在するなら教えてほしいですが)

以上のことを踏まえると、「レビュー業務はできるだけ色んな人にやってもらうのが良い」という回答に行き着きます。

サーバーチームで導入しているシステム

ヤプリのサーバーチームでは、Slackbotのカスタムレスポンスを用いてランダムにレビュワーを選定するシステムを導入しています。

カスタムレスポンスでは、特定の文字列に対して特定のレスポンスを返す事ができます。

それを利用して、以下のようにレスポンスを返すように設定しています。

  • sv plz → サーバーエンジニアの誰かにメンション
  • fr plz → フロントエンジニアの誰かにメンション

実際の設定画面はこんな感じです。 (マスクしている箇所にはSlackのメンションを記載しています)

これを利用することで、ランダムにレビュワーを設定することが可能になりました。

完全にランダムのため、当日お休みの方などが当たることもありますが、そのときは再度plzをする感じです。 (そこまで自動化することはできませんでした)

なお、メンバー人数が少ないチームの場合、自分が当たることも多かったため、別の取り組みを行っているチームもあります。 *1

終わりに

今回は、サーバーチームで導入しているレビュワーの選定システムについて紹介しました。

ヤプリでは他にも、面白い取り組みやチャレンジを続けています!

少しでも興味がある方、カジュアル面談で話を聞いてみませんか?

open.talentio.com