250 Views
October 12, 22
スライド概要
ユニークビジョン株式会社 テックリード。 業務でRust書きつつ、チームの生産性を向上させるような改善を推し進めています。 取るに足らないツイートが多いですが、技術的な話や最近勉強したことをつぶやきます。 第25回世界コンピュータ将棋選手権 9位。 ヤクルトスワローズ/将棋/キャンプ/DQW/謎解き/リアル脱出ゲーム
コードレビューを 文化にするまでの取り組み コードレビュー LT会 - vol.3 ユニークビジョン株式会社 山本 一将
自己紹介 @kyamamoto9120 山本 一将 / ユニークビジョン株式会社 バックエンド開発, コードレビュー改善WG など ヤクルトスワローズ/将棋/キャンプ/DQW/謎解き 第25回世界コンピュータ将棋選手権 9位
キャンペーンツールやチャットボットなど マーケティングをより効果的に運営するためのツール 「Belugaシリーズ」を開発・運用 Twitter SNS AtCoder コンテストや Rust.Tokyo 2022 をスポンサード
レビューの回数 エンジニア数の増加を 上回るペースで増えている 12000 10000 8000 6000 4000 2000 0 2018 2019 2020 2021 2022
入社時の状況 レビューという制度はあるが 改善の余地あり! 1日1回レビューに行くルール レビューの目的が浸透しておらず、 義務感でレビューが行われていた。 レビュアーはCTOのみ を捕まえるのが大変。 が休暇を取ると開発が停滞。。。 CTO CTO PRを使用せず、同期的なレビュー 差分の表示もしていないため レビュー箇所の妥当性も曖昧だった。
主要な取り組み 1.現状把握 メトリクス収集 2.属人性解消 CTO 7.文化へ 以外もレビュー 目的を広げる 品質 → 知識共有 3.対象を明確に 4.動機付け を使用 ( まだ同期的なレビュー ) レビューの目的 PR 6.ワークフロー 仕組みを増やして ルールを減らす 5.非同期化 PR ベースのレビュー
01 開発を止めない 経営層はコードレビューに対する理解を持って いたが、レビューは工数がかかることも事実。 開発が停滞しないよう注意した。 03 計測する 施策の影響を曖昧に評価することの無いよう、 メトリクスの収集は早くに着手した。 最初は完璧を求めず、簡単であることを優先。 02 理解を得る 改善の方向性が必ずしも万人に受け入れられる とは限らない。 議論の場を設け、考えを伝えるよう心がけた。 04 先行事例を調査する 自分たちが解決したい問題は必ず誰かがすでに 解決しているものだと考えた。 GoogleとGitLabの取り組みは常に調査していた。
バイブル コードレビューの目的 コードレビューを通じて生まれる関係性の図は 今でも目標としている形の一つです。 コードレビュープロセス レビュアーをアサインする仕組みなど、これを読んで いなければ改善のポイントとして考えませんでした。 統計データ この論文に登場する統計データを目標にメトリクスを 採取し、改善を進めました。
ワークフローのデモ
今後の展望 01 コードレビュー自体の質の向上 02 ワークフローの改善 03 よりエンジニアのためのレビューにする ガイドラインやチェックリストの作成など、 世の中で多く記事を見かける部分の改善を進める。 まだまだ不便も多く、機能要望もたくさん頂いている。 レビューが楽しいものになるような機能も追加したい! コードレビューは福利厚生! スキルアップや働きやすさ向上に活用していきたい。
ありがとうございました