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

開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / ...

開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17

Masataka Sato

April 17, 2024
Tweet

More Decks by Masataka Sato

Other Decks in Technology

Transcript

  1. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  2. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  3. ⾃⼰紹介 佐藤 将⾼ (@ma3tk) Findy 取締役 CTO (2016〜) 得意:新規事業サービス開発 好き:筋トレ

    中学⽣時代に⽉間100万PVの ゲーム攻略サイトを運営していました
  4. Findyについて Findy Team+:どんなサービス? 開発工数低減・ビジネススピード加速、開発プロセス改善・文化づくりをサポートします 開発工数低減 ビジネス スピード加速 • 生産性向上により、人数あたりの開発アウトプットが増 加

    • 開発生産性の向上により、ビジネススピードも加速 • 定量的な改善結果や改善に向けた取り組みを採用広報に 活用し、さらなるエンジニア組織拡大を目指す 開発プロセス 改善 文化づくり・ 自己組織化 • チーム・メンバーが、定量データを活用し、自発的に改 善に取り組み(自己組織化を促進) • 改善効果をFindy Team+で確認し、称賛文化を形成 • ボトルネック可視化 • 開発フロー・組織体制・ツール等を最適化 • 開発者体験の向上
  5. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  6. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  7. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  8. 取り組みと結果 トライ1 CI/CDの改善 • まずはCI/CDの改善をし、ユニットテストカバレッジ80%を⽬指した • CI回すのに1時間かかるところを10分に短縮させた ◦ 並列化 ◦

    インスタンス性能アップ ◦ キャッシュで短縮 ◦ テスト箇所の限定 • テスト拡充で「これをリリースしても問題ない」「リリースすると影響が 出る」のTrue/Falseをはっきりさせた
  9. 取り組みと結果 トライ2 - 開発フローとマインドの変化:やったこと • タスクの認識合わせ ◦ プルリク作成計画を作り、まずは認識を揃える ◦ IssueにTODOのチェックリストを作り、やるべきことが合っているか確認する

    ◦ タスクをこなしたらチェックを付けてどれくらいまで終わったかを確認する • プルリクはなるべく粒度を細かく作る ◦ 1プルリクにおいて2つ以上のタスクをやらない
  10. 取り組みと結果 トライ2 - 開発フローとマインドの変化:やったこと • タスクの認識合わせ ◦ プルリク作成計画を作り、まずは認識を揃える ◦ IssueにTODOのチェックリストを作り、やるべきことが合っているか確認する

    ◦ タスクをこなしたらチェックを付けてどれくらいまで終わったかを確認する • プルリクはなるべく粒度を細かく作る ◦ 1プルリクにおいて2つ以上のタスクをやらない ◦ リファクタなどは別途プルリク
  11. 取り組みと結果 トライ2 - 開発フローとマインドの変化:やったこと • タスクの認識合わせ ◦ プルリク作成計画を作り、まずは認識を揃える ◦ IssueにTODOのチェックリストを作り、やるべきことが合っているか確認する

    ◦ タスクをこなしたらチェックを付けてどれくらいまで終わったかを確認する • プルリクはなるべく粒度を細かく作る ◦ 1プルリクにおいて2つ以上のタスクをやらない ◦ リファクタなどは別途プルリク ◦ レビュー ⼤きなプルリク1回 < ⼩さなプルリク10回
  12. 取り組みと結果 トライ2 - 開発フローとマインドの変化:やったこと • タスクの認識合わせ ◦ プルリク作成計画を作り、まずは認識を揃える ◦ IssueにTODOのチェックリストを作り、やるべきことが合っているか確認する

    ◦ タスクをこなしたらチェックを付けてどれくらいまで終わったかを確認する • プルリクはなるべく粒度を細かく作る ◦ 1プルリクにおいて2つ以上のタスクをやらない ◦ リファクタなどは別途プルリク ◦ レビュー ⼤きなプルリク1回 < ⼩さなプルリク10回 ◦ チーム全員で上記のやり⽅統⼀ ▪ 「集中してコード書いてるのにレビューで遮られる」という回数も減る
  13. 取り組みと結果 トライ2 - 開発フローとマインドの変化:やったこと • タスクの認識合わせ ◦ プルリク作成計画を作り、まずは認識を揃える ◦ IssueにTODOのチェックリストを作り、やるべきことが合っているか確認する

    ◦ タスクをこなしたらチェックを付けてどれくらいまで終わったかを確認する • プルリクはなるべく粒度を細かく作る ◦ 1プルリクにおいて2つ以上のタスクをやらない ◦ リファクタなどは別途プルリク ◦ レビュー ⼤きなプルリク1回 < ⼩さなプルリク10回 ◦ チーム全員で上記のやり⽅統⼀ ▪ 「集中してコード書いてるのにレビューで遮られる」という回数も減る ▪ なぜなら⾃分もプルリクの粒度を⼩さくしているため
  14. 取り組みと結果 トライ2 - 開発フローとマインドの変化 • レビューは最優先 ◦ レビューの依頼が来たら基本的には⼀番の優先事項とする ◦ タスク分解をしているからこそ随時相談しやすいし、作業を他の⼈に渡したり

    ⼿伝ってもらったりしやすい ◦ 結果として組織全体がアジャイル思考でキャッチボールをしあえる プルリクの粒度を細かくし レビューを最速にして開発⽣産性向上
  15. 取り組みと結果 トライ3 - コミュニケーション⽅法の改善 • ⽬標設定と期待値調整 ◦ ⾃分の役割をクリアにする ▪ なにをどれくらいやればどれくらいいいのかをテキスト化

    ◦ 毎⽉振り返る ◦ 毎週1on1でコンディションや困り事を聞く ◦ 特にオープンクエスチョンにしない ▪ テーマやテンプレートを整えておく
  16. 取り組みと結果 トライ3 - コミュニケーション⽅法の改善 • 出社も⼀定有効 ※状況によります ◦ ⾸都圏にいるメンバーは週1〜3くらいで出社をする⼈もいる(全員ではない) ◦

    オフィスにエンジニアが少ないと出社しているメンバーとで分断が起こりやすい • フルリモートでもたまに出社する
  17. 取り組みと結果 トライ3 - コミュニケーション⽅法の改善 • 出社も⼀定有効 ※状況によります ◦ ⾸都圏にいるメンバーは週1〜3くらいで出社をする⼈もいる(全員ではない) ◦

    オフィスにエンジニアが少ないと出社しているメンバーとで分断が起こりやすい • フルリモートでもたまに出社する ◦ また、オフィスの状況や周りに知ってもらうためにもおおよそ四半期に1回オフィス に定期的に来てもらえるようにしている
  18. 取り組みと結果 トライ3 - コミュニケーション⽅法の改善 • 出社も⼀定有効 ※状況によります ◦ ⾸都圏にいるメンバーは週1〜3くらいで出社をする⼈もいる(全員ではない) ◦

    オフィスにエンジニアが少ないと出社しているメンバーとで分断が起こりやすい • フルリモートでもたまに出社する ◦ また、オフィスの状況や周りに知ってもらうためにもおおよそ四半期に1回オフィス に定期的に来てもらえるようにしている ◦ ⽣産性が⼀時的に激落ちするが、腹を割って話せる機会が増えて後々⽣産性が上が る
  19. 取り組みと結果 トライ3 - コミュニケーション⽅法の改善 例えば • 出⾝や今住んでいる地域 ◦ 何が有名? •

    お国⾃慢 • 性格やトリセツ ◦ ⾃分で⾒るとどんな⼈柄? ◦ テンション上がることはなに? ◦ 不得意なことや苦⼿なことは? • 経歴 ◦ 職種はどれくらい経験ある? ◦ 前職はどんなサービス? • Findy⼊社あたり ◦ いつ⼊社した?何⽇⽬? ◦ ⼊社前はどんな所が良いと思った? ◦ 実際に⼊社してN⽇、どう感じた? • これからやっていくことややりたいこと ◦ どんなお仕事‧チャレンジがしたい? • 趣味は? • 好きな… ◦ プログラミング⾔語は? ◦ エディタは?
  20. 取り組みと結果 トライ3 - コミュニケーション⽅法の改善 例えば • 出⾝や今住んでいる地域 ◦ 何が有名? •

    お国⾃慢 • 性格やトリセツ ◦ ⾃分で⾒るとどんな⼈柄? ◦ テンション上がることはなに? ◦ 不得意なことや苦⼿なことは? • 経歴 ◦ 職種はどれくらい経験ある? ◦ 前職はどんなサービス? • Findy⼊社あたり ◦ いつ⼊社した?何⽇⽬? ◦ ⼊社前はどんな所が良いと思った? ◦ 実際に⼊社してN⽇、どう感じた? • これからやっていくことややりたいこと ◦ どんなお仕事‧チャレンジがしたい? • 趣味は? • 好きな… ◦ プログラミング⾔語は? ◦ エディタは? 相⼿を知り⾃分を知ってもらうことも 開発⽣産性につながる
  21. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  22. 目次
 a g e n d a 1. ⾃⼰紹介とFindy 2.

    開発⽣産性の定義 3. 過去を振り返って 4. 取り組みと結果 5. これからのFindyと開発⽣産性 6. まとめ
  23. まとめ 開発⽣産性向上はいいぞ! • 開発⽣産性を爆上げしたFindyの歴史を話しました • 我々の開発⽣産性 = 作るものが決まってから⼿元に届くまでの 時間と数 •

    3つのトライ:CI/CD改善、開発フローとマインドの変化、 コミュニケーション改善 • 1⼈あたりの開発ボリューム増加と時間短縮ができた
  24. まとめ 開発⽣産性向上はいいぞ! • 開発⽣産性を爆上げしたFindyの歴史を話しました • 我々の開発⽣産性 = 作るものが決まってから⼿元に届くまでの 時間と数 •

    3つのトライ:CI/CD改善、開発フローとマインドの変化、 コミュニケーション改善 • 1⼈あたりの開発ボリューム増加と時間短縮ができた • エンジニアチームに閉じない成果や事業貢献にも挑戦中
  25. まとめ 開発⽣産性向上はいいぞ! • 開発⽣産性を爆上げしたFindyの歴史を話しました • 我々の開発⽣産性 = 作るものが決まってから⼿元に届くまでの 時間と数 •

    3つのトライ:CI/CD改善、開発フローとマインドの変化、 コミュニケーション改善 • 1⼈あたりの開発ボリューム増加と時間短縮ができた • エンジニアチームに閉じない成果や事業貢献にも挑戦中 • 開発⽣産性を上げることは⾃分のやりがいにも、 組織の成果にも繋げられる
  26. まとめ 開発⽣産性向上はいいぞ! • 開発⽣産性を爆上げしたFindyの歴史を話しました • 我々の開発⽣産性 = 作るものが決まってから⼿元に届くまでの 時間と数 •

    3つのトライ:CI/CD改善、開発フローとマインドの変化、 コミュニケーション改善 • 1⼈あたりの開発ボリューム増加と時間短縮ができた • エンジニアチームに閉じない成果や事業貢献にも挑戦中 • 開発⽣産性を上げることは⾃分のやりがいにも、 組織の成果にも繋げられる • 挑戦するエンジニアのプラットフォームをつくる
  27. 開発⽣産性Conference 2024 のご招待 テスト 和田 卓人氏 元Spotify EM Laurent Ploix氏

    セキュリティ 徳丸 浩氏 トヨタ自動車 井芹 洋輝氏 CTO協会 広木 大地氏 アトラクタ 吉羽 龍太郎氏 開発生産性に関する最新の知見が 集まるカンファレンス 2024年6月28日・29日 虎ノ門ヒルズフォーラム