Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側...
Search
TVer Inc.
PRO
May 20, 2025
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
https://findy.connpass.com/event/352370/
TVer Inc.
PRO
May 20, 2025
More Decks by TVer Inc.
See All by TVer Inc.
TVer Web-based TVのリアーキテクチャ
techtver
PRO
0
140
Pub/Sub で実装するワーカープールパターン - BigQuery リバースETLジョブの並行数制御-
techtver
PRO
0
130
株式会社TVer 会社紹介資料
techtver
PRO
9
120k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
2.8k
Feature Flagを定義から削除まで 安全に行うために考えたこと
techtver
PRO
0
3.6k
4100万ユーザーを支えるTVer iOSアプリ開発 〜0人から始まったチームのAI活用による挑戦〜
techtver
PRO
1
2.7k
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
160
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
820
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
2
16k
Other Decks in Programming
See All in Programming
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
500
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Contextとはなにか
chiroruxx
0
280
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
250
AIで効率化できた業務・日常
ochtum
0
120
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
670
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
150
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
5
3.8k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.3k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
How to make the Groovebox
asonas
2
2.2k
Done Done
chrislema
186
16k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Odyssey Design
rkendrick25
PRO
2
690
Building AI with AI
inesmontani
PRO
1
1.1k
Transcript
©2025 TVer INC. TVer iOSチームの共通認識の作り方 2025.05.21 小森 英明
株式会社TVer フロントエンド部 iOSエンジニア Findy Job LT
©2025 TVer INC. これまでのTVer iOS・・・
©2025 TVer INC. リアーキテクチャ進行中 • SwiftUI • TCA(swift-composable-architecture) • Swift
Package Managerを活用したマルチモジュール • Atomic Designの導入 • Design Systemの導入 • Unit Test/Snap Shot Test/UI Test/E2E Test
©2025 TVer INC. リアーキテクチャ進行中 Home画面/機能 ※あくまでもイメージ Episode画面/機能 Series画面/機能
旧コード = LegacyAppFeature Home モジュール … ✨ 切り出されたモジュールの中で 新しいアーキテクチャで実装。 一時的に1つのアプリの中に新し いコードと古いコードが混在し た状態でリリース。 旧コード = LegacyAppFeature Home画面/機能 Episode画面/機能 Series画面/機能 Home モジュール ✨ リリース後、新しいモジュール での動作確認が完了次第古い コードを削除していく。詳細な 進め方は後述。 旧コード = LegacyAppFeature Episode画面/機能 Series画面/機能 Episode モジュール Home モジュール ✨ ✨ これを繰り返していくこと で、新しいモジュールに入れ 替えていく。 … … Episode モジュール Home モジュール Series モジュール ✨ ✨ ✨ … 最終的には1つの塊がモジュー ルに分割され、アプリ全体の リアーキテクチャが完了 マルチモジュール構成 + モジュールごとのアップデート
©2025 TVer INC. これまでの歴史 フロントエンド部発足 2023.04 2023.10 iOS内製開発チームの立ち上げ 2024.04 iOS開発の完全内製化が完了
2025.01 社員2名入社
©2025 TVer INC. iOSチームは社員3名+業務委託7名体制 iOSチーム
©2025 TVer INC.
©2025 TVer INC. 正社員が2名加わり、 チームフェーズが大きく変化
©2025 TVer INC. 起こった課題 リアーキテクチャを推進する上で共通認識の統一ができてお らず、コードレビュー時に差し戻しが頻発
©2025 TVer INC. 3つのレビュープロセスを定義
©2025 TVer INC. UI設計レビュー TVerアプリはDesignSystemを導入し ています。 基本的にはFigmaのView階層を意識 して作る方針です。 設計する上でFigmaの示す階層とは 異なる定義で進める場合の連携や
共通デザインコンポーネントを使用 する際に、どのように作るかあるい は利用する上での拡張性についてこ のタイミングで擦り合わせを行いま す。
©2025 TVer INC. Reducer設計レビュー TCAを採用している上で、起きやすい問題 の1つとしてFat Reducerの登場です。 これを未然に防ぐために、Reducerの設計 を事前にして擦り合わせをしています。 実装面での不確実性が高いものに関して
は、実装を進めた上で調整をしていくもの もあります。
©2025 TVer INC. Test設計レビュー 事前にどのようなTestで品質を担 保するか取り決めを行います。 Unit Testはもちろんのこと、開発 する機能によっては動作確認のパ ターンを手厚くして手動テストの
ボリュームを多めにするのか ときには機能開発後に段階的にE2E テストを導入するのかなど考慮で きるように洗い出し、スケジュー ルの確度を高めます。
©2025 TVer INC. フェーズの変化に伴い チーム文化・基準の構築を支える ドキュメントを整備
©2025 TVer INC. コーディング規約 GitHub issueベースで起案し、採択したものをWikiに追記し て更新/改善をしていきます。 SwiftFormatやSwiftLintのruleの追加や削除もGitHub issue ベースで起案しています。
©2025 TVer INC. ADR (Architectural Decision Records) 特殊なコンテキストや例外的な判 断をした場合は判断/選択した理 由を残します。
将来のメンバーがどのような経緯 で判断したのかを追いやすくす る、 そして誰でも過去の意思決定の参 照を効率よくできるようにするの が目的です。
©2025 TVer INC. TIPS 業務上知っていると便利なノウハウなどを記 載します。 こちらは起案制ではないのでメンバーが自己 判断で自由に記載し、 記載後は全体周知をしています。
©2025 TVer INC. 運用してみての所管 チームとしても合意形成をする仕組みが導入できたので円 滑に開発は推進できている。 定性的な評価ではなく定量的に評価をして改善を重ねてい く体制が必要。
©2025 TVer INC. 今後の展望
©2025 TVer INC. より一層スピードと品質の両立を追求していく
©2025 TVer INC. より一層スピードと品質の両立を追求していくために • 開発スピードの向上 • 開発生産性の向上 • ソフトウェア品質の向上
この3軸を定量評価できるようにして、継続的な改善サイクルの確立を目指します。 課題抽出 目標値設定 施策検討 効果測定 評価/改善 サイクルを設けて継続的に実施
None
民放テレビ局がひとつになった テレビの新しい プラットフォーム ドラマ バラエティ アニメ / ヒーロー 報道 /
ドキュメンタリー スポーツ その他 見放題 ¥ 0
None
ご清聴ありがとうございました! ©2025 TVer INC.