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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Swiftのレキシカルスコープ管理
kntkymt
0
220
Agentic UI
manfredsteyer
PRO
0
140
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
220
Claspは野良GASの夢をみるか
takter00
0
180
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
Lessons from Spec-Driven Development
simas
PRO
0
170
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
150
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.3k
Oxlintのカスタムルールの現況
syumai
6
1.1k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Building the Perfect Custom Keyboard
takai
2
790
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
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.