Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コードレビューで 開発が加速した話

Fb0a40e5e7a9dc85520f1646fd41eb44?s=47 higuuu
December 01, 2021

コードレビューで 開発が加速した話

 コードレビューでむしろ開発速度が上がった話です! 

ヒグ!(樋口修也)

関連情報
KBOYさんに技術顧問をお願いした話
https://dx.sapporo.coop/n/n23376af197fa

Fb0a40e5e7a9dc85520f1646fd41eb44?s=128

higuuu

December 01, 2021
Tweet

Transcript

  1. コードレビューで 開発が加速した話 2021.12.1 生活協同組合コープさっぽろ 樋口修也 コープさっぽろDX

  2. 発表者 フロントエンド,認証認可 2015年 旭川→岩手大学へ入学 2019年 東京のIT企業に新卒入社 2020年 コープさっぽろへ転職し札幌へ ダブルダッチ、筋トレ、ダンス AWS

    CDK, Vue.js Youtubeはじめました! 樋口修也(24) 担当: 経歴: 趣味: 好み: 最近:
  3. コードレビューのたま〜にあるある 時間かかるから省こうぜ!

  4. コードレビューのイメージ コードレビュー 品質 向上↑ 速度 低下↓

  5. コードレビューのイメージ コードレビュー 品質 向上↑ 速度 低下↓ 非エンジニアには支持されない

  6. コードレビューにお金をかけたら コードレビュー 品質 向上↑ 速度 向上↑

  7. 実際にあった話 コードレビュー 品質 向上↑ 速度 向上↑ 非エンジニアも支援してくれる

  8. むか〜し、むかし(現在進行中) アプリリニューアルPJ開始!

  9. アプリリニューアルプロジェクト 業務委託3名 Flutter: 未経験 実装 内製エンジニア 0.2~0.5名 Flutter経験 アリ 4月〜

  10. アプリリニューアルプロジェクト 業務委託3名 Flutter: 未経験 実装 内製エンジニア 0.2~0.5名 Flutter経験 アリ 4月〜6月

    他のプロジェクトが 炎上
  11. メンバーチェンジ 実装 業務委託3.5 名 Flutter経験 なし 実装 伊藤さん(正社員) Flutter経験 アリ

    サポート・実装 自分 0.3人月 Flutter経験 ナシ 6月中旬〜
  12. 6月中旬にジョインした時のアプリの状態 • アーキテクチャが不鮮明 • 状態管理ライブラリ riverpod と provider が共存していた •

    それぞれの役割分担も特になし • コード規約なし • キャメルケース、パスカルケースなども特に指定なし • 画像などのデータの配置場所も複数存在 • その他 • 各フォルダの役割を正直みんなよくわかってない • 大量のグローバル変数 • webviewライブラリの混在 • etc… 統制が取れていない開発状態
  13. アプリリニューアルプロジェクト 実装 業務委託3.5 名 Flutter経験 なし メイン実装 伊藤さん(正社員) Flutter経験 アリ

    アーキテクチャ サポート・実装 自分 0.3人月 Flutter経験 ナシ リポ ジトリ管 理 コード規約
  14. アプリリニューアルプロジェクト 実装 業務委託3.5 名 Flutter経験 なし メイン実装 伊藤さん(正社員) Flutter経験 アリ

    アーキテクチャ サポート・実装 自分 0.3人月 Flutter経験 ナシ リポ ジトリ管 理 コード規約 Help!
  15. アプリリニューアルプロジェクト 実装 業務委託3.5 名 Flutter経験 なし メイン実装 伊藤さん(正社員) Flutter経験 アリ

    アーキテクチャ サポート・実装 自分 0.3人月 Flutter経験 ナシ リポ ジトリ管 理 コード規約 無理っす! Help!
  16. 当時の問題(再掲) • アーキテクチャが不鮮明 • 状態管理ライブラリ riverpod と provider が共存していた •

    それぞれの役割分担も特になし • コード規約なし • キャメルケース、パスカルケースなども特に指定なし • 画像などのデータの配置場所も複数存在 • その他 • 各フォルダの役割を正直みんなよくわかってない • 大量のグローバル変数 • webviewライブラリの混在 • etc…
  17. 当時の問題(再掲) • アーキテクチャが不鮮明 • 状態管理ライブラリ riverpod と provider が共存していた •

    それぞれの役割分担も特になし • コード規約なし • キャメルケース、パスカルケースなども特に指定なし • 画像などのデータの配置場所も複数存在 • その他 • 各フォルダの役割を正直みんなよくわかってない • 大量のグローバル変数 • webviewライブラリの混在 • etc… ルールの策定と監視が必要 コード規約と レビュー
  18. そんなリソースもスキルもない 実装 業務委託3.5 名 Flutter経験 なし メイン実装 伊藤さん(正社員) Flutter経験 半年

    アーキテクチャ サポート・実装 自分 0.3人月 Flutter経験 ナシ リポ ジトリ管 理 コード規約
  19. コード規約の作成補助とレビューをKBOYさんに依頼 おなしゃす! いいよ! Twitter の DM で詳細を説明して依頼

  20. 以前 実装 設計 PR • ライブラリ調査 • 選定に悩む時間 • 複雑なアーキ

    • わからないことを相 談できる相手がいな い • 実装したら既にあっ たUtilなど • 誰にレビュー依頼し たらいいかわからな い • 自信がないので放置 されたPR 負のスパイラル
  21. 改善結果 実装 設計 PR • よく使うライブラリを 規約に記載 • MVCでシンプルな アーキ

    • 調べてもわからない ことがあればKBOY さんに相談 • フォルダ整理によっ てUtilを使いまわせ る • KBOYさんにレ ビューしてもらったの で自信を持ってマー ジできる • 随時規約の更新 開発効率10%改善(概算)
  22. さらに 自信がついてリファクタリングが加速した

  23. 最後に いくら確認を省いても エンジニアは気になるものは気になります 目に見えない エンジニア心理も工数に影響します

  24. DXコープさっぽろ KBOYさんに技術顧問をお願いした話