Slide 1

Slide 1 text

©2025 TVer INC.     4100万ユーザーを支えるTVer iOSアプリ開発 〜0人から始まったチームのAI活用による挑戦〜 2025.09.21 福島 友稀 株式会社TVer サービスプロダクト本部 フロントエンド部 iOSDC 2025

Slide 2

Slide 2 text

©2025 TVer INC. 2 自己紹介 福島 友稀 @mantaroufire 株式会社TVer サービスプロダクト本部 フロントエンド部 2025年1月よりTVerにiOSエンジニアとして入社。 前職では7年間、SIerにて受託開発。 趣味はラーメン屋巡り。最近は二郎系巡りも。

Slide 3

Slide 3 text

©2025 TVer INC. 1. TVerの紹介

Slide 4

Slide 4 text

©2025 TVer INC. 4 サービス概要

Slide 5

Slide 5 text

©2025 TVer INC. 2. iOSチームの開発体制

Slide 6

Slide 6 text

©2025 TVer INC. 6 0人から始まったiOSチーム ✅ 社員2名採用で3チーム体制を実現 ✅ 3つの重要PJを並行推進中 2024年 iOSDC 2024 社員 1名 業務委託 6名 2025年 iOSDC 2025 社員 3名 業務委託 10名 2023年 iOSDC 2023 社員 0名 開発委託

Slide 7

Slide 7 text

©2025 TVer INC. 7 技術スタック ● UI ○ SwiftUI ○ UIKit ● アーキテクチャ ○ The Composable Architecture ○ MVC ● その他 ○ OpenAPI Generator ○ Firebase (Crashlytics, Analytics, Remote Config) ○ New Relic ○ Adjust ○ etc...

Slide 8

Slide 8 text

©2025 TVer INC. 3. TVerにおけるAI活用の始まり

Slide 9

Slide 9 text

©2025 TVer INC. 9 2025/03 各種AIの試験的導入開始 ⚠ 一部の人のみが使いこなしている状態 ⚠ 業務に余裕がない人ほど着手できない Devin Claude Cursor

Slide 10

Slide 10 text

©2025 TVer INC. 10 2025/06 開発合宿を実施 AI縛りで開発 Claude Code 本格利用 効果を実感

Slide 11

Slide 11 text

©2025 TVer INC. 11 2025/07 全エンジニアにClaude Max EM マネジメントの 合間にAIで実装 PdM 開発に参画する 試みも Engineer フル活用して 開発効率UP Claude Max 20xプランを 全エンジニア提供

Slide 12

Slide 12 text

©2025 TVer INC. 4. iOSチームでの開発におけるAI活用

Slide 13

Slide 13 text

©2025 TVer INC. 13 開発時の流れ issue作成 Claude Code PR作成 Claude Code ソースレビュー Gemini Code Assist

Slide 14

Slide 14 text

©2025 TVer INC. 14 issue作成- プロンプト (不具合修正の場合) ● XXXのような不具合が起きています ● 「概要」「現状分析」「解決策」 を図で整理し、issueを作成して

Slide 15

Slide 15 text

©2025 TVer INC. 15 issue作成- アウトプット

Slide 16

Slide 16 text

©2025 TVer INC. 16 issue作成- アウトプット

Slide 17

Slide 17 text

©2025 TVer INC. 17 PR作成- プロンプト ● issueの内容に沿って実装して ● テンプレートに沿ってPRを作成して

Slide 18

Slide 18 text

©2025 TVer INC. 18 PR作成- アウトプット

Slide 19

Slide 19 text

©2025 TVer INC. 19 PRレビュー 0.5次レビュー として活用 過去のインシデント 事例を学習 手戻り削減 品質向上

Slide 20

Slide 20 text

©2025 TVer INC. 5. プロジェクト推進でのAI活用実績

Slide 21

Slide 21 text

©2025 TVer INC. 21 プロジェクト概要 ● 新機能開発プロジェクト ○ 未リリース ○ 開発期間は約6ヶ月 iOS Android Web Backend PdM Director Designer QA

Slide 22

Slide 22 text

©2025 TVer INC. 22 ぶつかった課題 課題1 複雑な仕様の認識合わせ 課題2 テストパターンの網羅 課題3 大量の単純作業

Slide 23

Slide 23 text

©2025 TVer INC. 23 課題1 - 複雑な仕様の認識合わせ 画面A, 画面Bそれぞれリアルタイムに特定のUIを更新したい Backend サーバー負荷が厳しい Frontend キャッシュはリスクあり 都度取得するのがベスト PdM リアルタイム性を求めたい ユーザー価値が下がる

Slide 24

Slide 24 text

©2025 TVer INC. 24 課題1 - AIに依頼したいこと PJの要件の理解 シーケンス図の作成 解決案の提案 メリット・デメリット表 の作成

Slide 25

Slide 25 text

©2025 TVer INC. 【前提】 sample/docs にこのプロジェクトのドキュメントや 議事録を配置したので内容を把握してください。 25 課題1 - プロンプト PJ固有の情報を インプット

Slide 26

Slide 26 text

©2025 TVer INC. 【課題】 - 画面間でデータが同期されない問題があります。 - 画面Aから画面Bに移動してデータを変更し、画面 Aに戻ると古いデータのままです。 26 課題1 - プロンプト 課題を明確に

Slide 27

Slide 27 text

©2025 TVer INC. 【制約】 - API:1回100件まで - サーバー負荷に配慮が必要 27 課題1 - プロンプト 制約条件の明示

Slide 28

Slide 28 text

©2025 TVer INC. 【依頼】 - この問題の解決策を複数提案し、Mermaid形式の シーケンス図を作成してください。 - 登場人物: ユーザー, アプリ, タイマー, API, UI 28 課題1 - プロンプト 依頼内容の具体化

Slide 29

Slide 29 text

©2025 TVer INC. 【依頼】 - 提案した案について、それぞれのメリット・デメ リットを表にまとめてください。 - 実装の簡単さ、パフォーマンス、ユーザー体験の 観点で評価してください。 29 課題1 - プロンプト 依頼内容の具体化

Slide 30

Slide 30 text

©2025 TVer INC. 30 課題1 - アウトプット エンジニア・非エンジニア どちらでも理解できる資料 がすぐにできる

Slide 31

Slide 31 text

©2025 TVer INC. 31 課題1 - アウトプット エンジニア・非エンジニア どちらでも理解できる資料 がすぐにできる

Slide 32

Slide 32 text

©2025 TVer INC. 32 課題1 - 効果 福島さんのシーケンス図があると 会議の時間が半分以下になる from: ディレクター 振り返り(KPT)で挙がったPJメンバーのコメント

Slide 33

Slide 33 text

©2025 TVer INC. 33 課題1 - 効果 メリデメ整理、シーケンスの図解が デザイナーの私にもわかりやすかった from: デザイナー 振り返り(KPT)で挙がったPJメンバーのコメント

Slide 34

Slide 34 text

©2025 TVer INC. 34 課題2 - テストパターンの網羅 文字での やり取りは限界 仕様が複雑

Slide 35

Slide 35 text

©2025 TVer INC. 35 課題2 - テストパターンの網羅 AIに まとめてもらおう 😃 自分でもよく 分からなくなった

Slide 36

Slide 36 text

©2025 TVer INC. 36 課題2 - AIに依頼したいこと ソースコードの解析 テストパターン表 の作成

Slide 37

Slide 37 text

©2025 TVer INC. 【前提】 sample/XXX.swift のダイアログ表示ロジックを 解析して実装仕様を把握してください。 37 課題2 - プロンプト ソースコードを インプット

Slide 38

Slide 38 text

©2025 TVer INC. 【テスト観点】 - 画面遷移時のダイアログ表示と再生開始位置 - 条件の優先順位を考慮(コードから読み取って) - 全パターン網羅 38 課題2 - プロンプト 網羅して欲しい 観点を明示

Slide 39

Slide 39 text

©2025 TVer INC. 【出力】 Markdown表形式で、以下を含める: - 各条件の状態(あり/なし) - 期待される動作 39 課題2 - プロンプト 出力形式を明示

Slide 40

Slide 40 text

©2025 TVer INC. 40 課題2 - アウトプット テストパターン表 パターン網羅された 表がすぐにできる

Slide 41

Slide 41 text

©2025 TVer INC. 41 課題2 - 効果 10分程度で求めていた パターン表が完成🎉

Slide 42

Slide 42 text

©2025 TVer INC. 42 課題3 - 大量の単純作業の自動化 Figma(デザインファイル)のURLが変更になった issueやPRに記載しているURL が全てリンク切れに・・・ 該当箇所は100箇所以上あり、 手動で置き換えるのはつらい

Slide 43

Slide 43 text

©2025 TVer INC. 43 課題3 - 大量の単純作業の自動化 デザイナーからの無邪気な提案を受けるも 最初は逃げ腰だった😨 しかし、せっかく提案してくれたのに 本当にこれで良いのかと考え直す...🤔

Slide 44

Slide 44 text

©2025 TVer INC. 44 課題3 - 大量タスクの自動化が大変 AIで解決 + スモールスタートで トライすることを決意💪

Slide 45

Slide 45 text

©2025 TVer INC. 45 課題3 - AIに依頼したいこと issue・PRの 検索 URLの置き換え

Slide 46

Slide 46 text

©2025 TVer INC. 【検索条件】 - ラベル: "機能A" または "機能A PR" - 状態: open/closed両方 - 対象: issue と PR 46 課題3 - プロンプト 検索条件の明示

Slide 47

Slide 47 text

©2025 TVer INC. 【更新内容】 - 古いFigma(ID: XXX)のURL - 新しいFigmaの下記URLに置換 - https://www.figma.com/design/yyy 47 課題3 - プロンプト 更新内容の明示

Slide 48

Slide 48 text

©2025 TVer INC. 【依頼】 - 対象となるissue/PRから古いURLを含むものを特定 - 更新対象の一覧を提示 - 承認を待ってから、一括置換を実行すること 48 課題3 - プロンプト 勝手に実行しないような 指示を与える

Slide 49

Slide 49 text

©2025 TVer INC. 49 課題3 - アウトプット・効果 無事、古いFigmaの URLが更新された🎉 まずは更新対象の リストアップ 意図しない更新がない ことを確認し、承認

Slide 50

Slide 50 text

©2025 TVer INC. 50 課題3 - アウトプット・効果 Claude Code + GitHub CLIの 柔軟性を確かめられた エンジニアだけでなくチーム全員が AI活用する文化を促進できた

Slide 51

Slide 51 text

©2025 TVer INC. 6. さいごに

Slide 52

Slide 52 text

©2025 TVer INC. 52

Slide 53

Slide 53 text

©2025 TVer INC. 53

Slide 54

Slide 54 text

ご清聴ありがとうございました! ©2025 TVer INC.