4100万ユーザーを支えるTVer iOSアプリ開発 〜0人から始まったチームのAI活用による挑戦〜
by
TVer Inc.
×
Copy
Open
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
©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.