Slide 1

Slide 1 text

CI/CD「健康診断」のススメ。 現場でのボトルネック特定から、 健康診断を通じた組織的な改善手法 鵜沼慶伍 チームラボ株式会社 スマートフォンチーム 1

Slide 2

Slide 2 text

2 プロフィール 出身:沖縄県 名護市 大学:琉球大学 工学部工学科 知能情報コース (元高専生) 趣味:スマブラ、服屋巡り 鵜沼 慶伍 スマートフォンチーム 2年目(2024年度 4月 新卒入社)

Slide 3

Slide 3 text

3 会社紹介

Slide 4

Slide 4 text

4 会社紹介 社員数 61人 累計ダウンロード数 1.6億DL 平均ストア評価 4.4点

Slide 5

Slide 5 text

5 本題

Slide 6

Slide 6 text

6 CI/CD 導入していますか?

Slide 7

Slide 7 text

7 CI/CD 導入していますか? ● 自動テストによる品質の担保 ● 自動デプロイによる開発の効率化 CI/CDの導入によって得られるもの

Slide 8

Slide 8 text

8 一度設定すると追加の作業は不要と思っていませんか? CI/CDを信頼しすぎてはいないでしょうか?

Slide 9

Slide 9 text

9 CI/CD 導入していますか? 参画したプロジェクトでもすでに導入済み 少し気になることが、、、 ● 実行時間が遅い ● 自動テストが失敗することがある ただ、CIは成功しているからOK! プロジェクトの現状

Slide 10

Slide 10 text

10 CI/CD 導入していますか? ● 実行時間が遅い ○ 配布作業に待ちが発生する ● 自動テストが失敗することがある ○ その度に確認、再実行と効率が悪い プロジェクトの現状

Slide 11

Slide 11 text

11 CI/CDでみるべきポイント

Slide 12

Slide 12 text

12 CI/CDでみるべきポイント ワークフローの実行時間 ワークフローの実行回数 / スループット 平均修復時間(Mean Time To Recovery) 成功率 ※ワークフロー:CD/CDで自動化されたプロセスの流れ

Slide 13

Slide 13 text

13 CI/CDでみるべきポイント ワークフローが完了するまでにかかる時間 テストの実行時間が長い →フィードバックを受けるまでに時間がかかり作業が中断 デプロイの時間が長い →他のタスクの待ちが発生 ワークフローの実行時間

Slide 14

Slide 14 text

14 CI/CDでみるべきポイント スループット:1日あたりに実行されるワークフローの数 ワークフローの実行回数が少ない →開発が効率化できていない →手作業になっている箇所がある ワークフローの実行回数 / スループット

Slide 15

Slide 15 text

15 CI/CDでみるべきポイント ワークフローが失敗したときに次のワークフローが 正常に実行されるまでにかかった時間 MTTRが長い → 失敗を確認できていない → 失敗を放置している → 復旧するのに時間のかかる問題がある 平均修復時間(Mean Time To Recovery)

Slide 16

Slide 16 text

16 CI/CDでみるべきポイント ワークフローが失敗せずに完了する割合 成功率が悪い →不安定なテストを含んでいる →配布ができず次の工程に影響を与える 成功率

Slide 17

Slide 17 text

17 確認するには?

Slide 18

Slide 18 text

18 CI/CDでみるべきポイント Insights

Slide 19

Slide 19 text

19 CI/CDでみるべきポイント Insights

Slide 20

Slide 20 text

20 CI/CDでみるべきポイント Insights

Slide 21

Slide 21 text

21 CI/CDでみるべきポイント Insights

Slide 22

Slide 22 text

22 CI/CDでみるべきポイント Insights

Slide 23

Slide 23 text

23 CI/CDでみるべきポイント Test Insights

Slide 24

Slide 24 text

24 CI/CDでみるべきポイント Test Insights

Slide 25

Slide 25 text

25 CI/CDでみるべきポイント Test Insights

Slide 26

Slide 26 text

26 何と比較したらいい?

Slide 27

Slide 27 text

27 プロジェクトの規模や複雑さによって異なる

Slide 28

Slide 28 text

28 CI/CDでみるべきポイント 出典: The 2025 State of Software Delivery (CircleCI)

Slide 29

Slide 29 text

29 CI/CDでみるべきポイント 出典: The 2025 State of Software Delivery (CircleCI), p.10

Slide 30

Slide 30 text

30 CI/CDでみるべきポイント 実行時間 10分以内 スループット 1回以上 平均修復時間 60分以内 成功率 90%以上 ベンチマーク

Slide 31

Slide 31 text

31 プロジェクトの状態を確認

Slide 32

Slide 32 text

32 CI/CDでみるべきポイント

Slide 33

Slide 33 text

33 CI/CDの改善

Slide 34

Slide 34 text

34 CI/CDの改善 ワークフローの見直し ● ワークフロー内で重複していた処理を削除 ● 仮想マシンのリソースを最新にアップデート ● ビルドツールや関連パッケージのアップデート ● キャッシュの見直し テストコードのパフォーマンス改善 ● 不安定なテスト、時間のかかっているテストを洗い出して改善

Slide 35

Slide 35 text

35 CI/CDの改善 成果 改善前 改善後

Slide 36

Slide 36 text

36 まとめ CI/CDには評価するための4つの指標がある サービスの機能や基準を有効活用して個人の感覚だけでなく 定量的に改善することができた CI/CDの改善を通して

Slide 37

Slide 37 text

37 まとめ ● 実行時間が遅い ● 自動テストが失敗することがある 見てみぬふりをしていたり、そもそも気づいていなかった CI/CDが不健康な状態 CI/CDの改善を通して

Slide 38

Slide 38 text

38 自分のプロジェクトでの改善は終わり

Slide 39

Slide 39 text

39 組織全体で改善するには

Slide 40

Slide 40 text

40

Slide 41

Slide 41 text

41 プロジェクトごとに意識する必要がある

Slide 42

Slide 42 text

42 組織全体で改善するには プロジェクト内だけで確認していると効率が悪い ● ノウハウが共有されない ● 属人化する 組織で横断的に取り組 む必要がある プロジェクトそれぞれで確認?

Slide 43

Slide 43 text

43 3つの施策を紹介

Slide 44

Slide 44 text

44 組織全体で改善するには メトリクスチェック コストチェック プロジェクト診断

Slide 45

Slide 45 text

45 組織全体で改善するには 月に1度CIの情報から成功率の低いプロジェクトを警戒状態として通知 全体成功率が70%をきっているプロジェクトに対して以下を通知 ● プロジェクト全体成功率、総実行回数 ● 各ワークフローごとの成功率、実行回数 プロジェクト外の人が批評を行い、プロジェクトに気づきを与える メトリクスチェック

Slide 46

Slide 46 text

46 組織全体で改善するには 月に1度メトリクスと月あたりの利用量から 利用料金の妥当性 を評価する 利用料金の意図しない急増がないかを確認して コスト面で異常がないかを確認する コストチェック

Slide 47

Slide 47 text

47 組織全体で改善するには 半期ごとにプロジェクト単位で開発しやすい状況かチェック チェックリストを担当者が埋め、プロジェクト外の人が確認する ● READMEなどのファイルが整備されているか ● 開発環境や言語、ライブラリが適切にアップデートされているか ● CI/CDが整備されているか ● テストが導入されているか プロジェクト診断

Slide 48

Slide 48 text

48 組織全体で改善するには メトリクスチェック コストチェック プロジェクト診断 互いに批評することで、プロジェクトの問題に気づくことができる 限られたリソースを適切に運用できる プロジェクトメンバーが品質向上で意識するべき観点を把握し、 組織全体でプロダクトの品質の基準を高めることができる

Slide 49

Slide 49 text

49 CI/CDを不健康にしないために定期的に確認する

Slide 50

Slide 50 text

50 まさに健康診断

Slide 51

Slide 51 text

51 まとめ

Slide 52

Slide 52 text

52 まとめ ワークフローの実行時間 ワークフローの実行回数 / スループット 平均修復時間(Mean Time To Recovery) 成功率

Slide 53

Slide 53 text

53 まとめ ● CI/CDで感じる違和感を見てみぬふりをしている ● CI/CDの状態が悪いことに気づいていない CI/CDが不健康な状態 不健康なCI/CD

Slide 54

Slide 54 text

54 まとめ プロジェクト数の多い組織では横断的な取り組み が必要 組織全体での改善

Slide 55

Slide 55 text

55 まとめ メトリクスチェック コストチェック プロジェクト診断 互いに批評することで、プロジェクトの問題に気づくことができる 限られたリソースを適切に運用できる プロジェクトメンバーが品質向上で意識するべき観点を把握し、 組織全体でプロダクトの品質の基準を高めることができる

Slide 56

Slide 56 text

56 CI/CDに対して一人ひとりが意識することが大切

Slide 57

Slide 57 text

57 ぜひ皆さんも健康診断を始めてみましょう!

Slide 58

Slide 58 text

58 Flutter, iOS, Android エンジニア募集中! 新卒採用・インターンシップも通年で 募集しています! 採用情報

Slide 59

Slide 59 text

EOF