Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
©MIXI エンジニアの心も繋ごう、 グループアサイン 新しい人がコードレビューに参加しやすい環境を作ってみませんか? モンスト事業本部 ゲーム運用部 モンストサーバ1グループ JEE WONJUNG
Slide 2
Slide 2 text
©MIXI 自己紹介 ● 他3社を渡って2020年に株式会社ミクシィ(現: 株式会社MIXI)入社 ● 現在モンストサーバ1グループのリーダー ● どこにいても春風のような人になりたい! 2
Slide 3
Slide 3 text
©MIXI はじめに 3
Slide 4
Slide 4 text
©MIXI 良いコードレビュー 良くないコードレビュー 4
Slide 5
Slide 5 text
©MIXI 良いコードレビュー ● 技術的負債を最小限にできる ● 設計などの技術情報が共有される ● 不具合発生を事前に防ぐ ● メンバーのスキルが向上する ○ チーム全体の質が上がる ○ サービス向上に向けて対応スピード・開発速度が上がる ● 会社のコードとして意識が高くなる ● コミュニケーションが円滑になる 5
Slide 6
Slide 6 text
©MIXI 良くないコードレビュー ● 時にはレビューする人の時間を消費してしまう ○ 大きな作業、難しい作業 ● レビューの遅延 ○ 再作業、再設計の原因 ● 一部メンバーの無関心 ○ 指名されたレビュアー、または作業者の依存関係 6
Slide 7
Slide 7 text
©MIXI モンストサーバチーム 既存のコードレビュー 7
Slide 8
Slide 8 text
©MIXI モンストサーバチームの既存のコードレビュー 8 働き方 基本リモート 人数 10~15名 開発言語 Ruby タイトル歴史 2023年10周年を迎えます。 バージョン開発期間 (QA期間含め) 1〜1.5ヶ月 1案件の開発参加人数 1~2名 レビューの対象コード ツール、テストコードも含む マージ条件 最低限3名のApprove必須 コードレビュー 自由参加
Slide 9
Slide 9 text
©MIXI チームのレビューの課題 9 Pull Request 作成 コード レビュー レビュー 反映 Pull Request マージ バージョン開発開始 コード締め切り みんな開発案件で忙しい
Slide 10
Slide 10 text
©MIXI リーダーの悩み 10 ● 新しく配属した人をチームに、チームのコードになじませたい ○ コードレビュー参加に自然と繋がって欲しい ● コードレビューの参加率を高めたい ● 良いコードレビューで共に成長に繋がって欲しい ● 締め切り直前にレビューコメントが集中するなどのレビューの課題を解決し たい もっと早く気づいていたら ... 締め切りなのにまだ残ってる! 今回全然レビューに参加してないけ どなんかあったか?
Slide 11
Slide 11 text
©MIXI 新人の悩み 11 ● モンストサーバコードの難しいところ a. コンテンツの専門用語が多い b. DB負荷を避けるため色んな種類のキャッシュを使う c. ジョブキューを使う d. 分散DB構造 今のコードでいいの? 相談したいけど... 締め切りもうすぐなのにレビューのコメントが ...! レビュアーとして参加したいけど、自信がない
Slide 12
Slide 12 text
©MIXI モンストサーバの育成ポイント 12 ● 開発経験・知識について自分の言葉で共有できるようにすること ● 興味がある技術に対して、構造まで理解しようとする好奇心を持つよう にすること ● 向上心、向学心を持って成長できるようにすること ● 個人の成長がプロジェクトのユーザーサプライズに繋がること 詳しくは https://mixil.mixi.co.jp/culture/13107
Slide 13
Slide 13 text
©MIXI コードレビューするのなら、 もっと良いサイクルにしたい! 13
Slide 14
Slide 14 text
©MIXI グループアサインとは? ● 案件の担当を決める際に担当者をグループ分けする ● グループ内での相互レビューを義務付ける ● 2022/09/13からチームで導入 ○ 1グループ作って検証 ✓ 1回目: 2022/09/13~2022/10/27 ✓ 2回目: 2022/10/27~2022/12/13 ● 3人で1グループ ○ リーダー1名、ベテラン、新卒 14
Slide 15
Slide 15 text
©MIXI グループアサインで期待される効果 15 ● 密着仕様把握、設計、デバッグの効果 ● 普段レビューに難しさを感じる部分のハードルを下げる ● お互いのコードを知ることで不在の時にお互い対応できる ● 成果物だけではなく、開発過程も共有する(悩みポイント、設計の方法、デ バッグ記録など)
Slide 16
Slide 16 text
©MIXI グループアサイン実行期間と流れ 16 アイス ブレイク 開 発 振 り 返 り 改 善 点 反 映 開 発 振 り 返 り 改 善 点 反 映 …
Slide 17
Slide 17 text
©MIXI 1回目のグループアサイン 17
Slide 18
Slide 18 text
©MIXI 1回目で得られたもの 18 ● メンバーのやる気 ○ reviewのコメントが増加 ○ 全員締め切り前に余裕持って終わった ● 気軽に相談できる雰囲気 ● 難しさを感じる部分のハードル下げ ○ 質問のコメントが増えた ● メンバーの責任感 ● メンバーのコミュニケーション力
Slide 19
Slide 19 text
©MIXI 第1回目のグループアサインの改善点 19 もっと忙しい時で試したい 声を出して設計意図とコード読む機会があるといいかも
Slide 20
Slide 20 text
©MIXI 2回目のグループアサイン 20
Slide 21
Slide 21 text
©MIXI 1回目と違う状況 21 ● アサインの量、難易度(増やしました) ● お互いの案件チャンネルに入った ○ 原則、担当者以外は案件チャンネルに入ってない ○ 案件の結果だけではなく、コミュニケーション過程から結論まで共有で きるようにした ● 口頭レビューを導入
Slide 22
Slide 22 text
©MIXI 口頭レビューの効果-Production Effect 22 ● 声を出して読んだ本が記憶に良く残るという心理学の言葉 ○ どういう意図で設計したかをもう一度考えるようになる ○ 説明しながら、コードの目的が整理される ● さらに、質問と答えのやりとりでコード作成意図が深まる
Slide 23
Slide 23 text
©MIXI 口頭レビューの効果-Rubber duck debugging 23 プログラマーがラバー・ダック(ア ヒルちゃん)を持ち歩きアヒルちゃ んに向かってコードを1行ずつ説 明することによりデバッグを行うと いう話が由来である。
Slide 24
Slide 24 text
©MIXI 2回目で得られたもの 24 ● お互いのコード知ることで不在の時にお互い対応できた ● 成果物だけではなく、開発過程も共有した ○ 悩みポイント ○ 設計の過程と方向性 ○ デバッグ記録 ● 口頭レビューの効果が確認できた ○ 設計の整理 ○ PRの意図の整理 ○ デバッグ効果
Slide 25
Slide 25 text
©MIXI 新たな課題 25
Slide 26
Slide 26 text
©MIXI 忙しい時の義務 26 作業スケジュール反省 メンバーのメンタルケア
Slide 27
Slide 27 text
©MIXI メンバーのロール 27 スポーツと同じロール分担は必要 - 作業進捗管理 - レビュー状態管理 - メンタルケア - 設計レビュアー - パフォーマンスレビュアー
Slide 28
Slide 28 text
©MIXI もしあなたのチームに グループアサインを 導入することになったら? 28
Slide 29
Slide 29 text
©MIXI 考慮すること... ● グループの目的 ● グループメンバーのロール ● 開発プロセス ● アサインの量 ● グループの人数 (🌟) ● 絆を作れるコミュニケーション方法 29
Slide 30
Slide 30 text
©MIXI 終わりに 30