Slide 1

Slide 1 text

©2025 TVer INC.     TVer iOSチームの共通認識の作り方 2025.05.21 小森 英明 株式会社TVer フロントエンド部 iOSエンジニア Findy Job LT

Slide 2

Slide 2 text

©2025 TVer INC. これまでのTVer iOS・・・

Slide 3

Slide 3 text

©2025 TVer INC. リアーキテクチャ進行中 ● SwiftUI ● TCA(swift-composable-architecture) ● Swift Package Managerを活用したマルチモジュール ● Atomic Designの導入 ● Design Systemの導入 ● Unit Test/Snap Shot Test/UI Test/E2E Test

Slide 4

Slide 4 text

©2025 TVer INC. リアーキテクチャ進行中 Home画面/機能
 ※あくまでもイメージ 
 Episode画面/機能 
 Series画面/機能 
 旧コード = LegacyAppFeature
 Home モジュール
 …
 ✨
 切り出されたモジュールの中で 新しいアーキテクチャで実装。 一時的に1つのアプリの中に新し いコードと古いコードが混在し た状態でリリース。 旧コード = LegacyAppFeature
 
 Home画面/機能
 Episode画面/機能 
 Series画面/機能 
 Home モジュール
 ✨
 リリース後、新しいモジュール での動作確認が完了次第古い コードを削除していく。詳細な 進め方は後述。 旧コード = LegacyAppFeature
 Episode画面/機能 
 Series画面/機能 
 Episode モジュール 
 Home モジュール
 ✨
 ✨
 これを繰り返していくこと で、新しいモジュールに入れ 替えていく。 …
 …
 Episode モジュール 
 Home モジュール
 Series モジュール 
 ✨
 ✨
 ✨
 …
 最終的には1つの塊がモジュー ルに分割され、アプリ全体の リアーキテクチャが完了 マルチモジュール構成 + モジュールごとのアップデート

Slide 5

Slide 5 text

©2025 TVer INC. これまでの歴史 フロントエンド部発足 2023.04 2023.10 iOS内製開発チームの立ち上げ 2024.04 iOS開発の完全内製化が完了 2025.01 社員2名入社

Slide 6

Slide 6 text

©2025 TVer INC. iOSチームは社員3名+業務委託7名体制 iOSチーム

Slide 7

Slide 7 text

©2025 TVer INC.

Slide 8

Slide 8 text

©2025 TVer INC. 正社員が2名加わり、 チームフェーズが大きく変化

Slide 9

Slide 9 text

©2025 TVer INC. 起こった課題 リアーキテクチャを推進する上で共通認識の統一ができてお らず、コードレビュー時に差し戻しが頻発

Slide 10

Slide 10 text

©2025 TVer INC. 3つのレビュープロセスを定義

Slide 11

Slide 11 text

©2025 TVer INC. UI設計レビュー TVerアプリはDesignSystemを導入し ています。 基本的にはFigmaのView階層を意識 して作る方針です。 設計する上でFigmaの示す階層とは 異なる定義で進める場合の連携や 共通デザインコンポーネントを使用 する際に、どのように作るかあるい は利用する上での拡張性についてこ のタイミングで擦り合わせを行いま す。

Slide 12

Slide 12 text

©2025 TVer INC. Reducer設計レビュー TCAを採用している上で、起きやすい問題 の1つとしてFat Reducerの登場です。 これを未然に防ぐために、Reducerの設計 を事前にして擦り合わせをしています。 実装面での不確実性が高いものに関して は、実装を進めた上で調整をしていくもの もあります。

Slide 13

Slide 13 text

©2025 TVer INC. Test設計レビュー 事前にどのようなTestで品質を担 保するか取り決めを行います。 Unit Testはもちろんのこと、開発 する機能によっては動作確認のパ ターンを手厚くして手動テストの ボリュームを多めにするのか ときには機能開発後に段階的にE2E テストを導入するのかなど考慮で きるように洗い出し、スケジュー ルの確度を高めます。

Slide 14

Slide 14 text

©2025 TVer INC. フェーズの変化に伴い チーム文化・基準の構築を支える ドキュメントを整備

Slide 15

Slide 15 text

©2025 TVer INC. コーディング規約 GitHub issueベースで起案し、採択したものをWikiに追記し て更新/改善をしていきます。 SwiftFormatやSwiftLintのruleの追加や削除もGitHub issue ベースで起案しています。

Slide 16

Slide 16 text

©2025 TVer INC. ADR (Architectural Decision Records) 特殊なコンテキストや例外的な判 断をした場合は判断/選択した理 由を残します。 将来のメンバーがどのような経緯 で判断したのかを追いやすくす る、 そして誰でも過去の意思決定の参 照を効率よくできるようにするの が目的です。

Slide 17

Slide 17 text

©2025 TVer INC. TIPS 業務上知っていると便利なノウハウなどを記 載します。 こちらは起案制ではないのでメンバーが自己 判断で自由に記載し、 記載後は全体周知をしています。

Slide 18

Slide 18 text

©2025 TVer INC. 運用してみての所管 チームとしても合意形成をする仕組みが導入できたので円 滑に開発は推進できている。 定性的な評価ではなく定量的に評価をして改善を重ねてい く体制が必要。

Slide 19

Slide 19 text

©2025 TVer INC. 今後の展望

Slide 20

Slide 20 text

©2025 TVer INC. より一層スピードと品質の両立を追求していく

Slide 21

Slide 21 text

©2025 TVer INC. より一層スピードと品質の両立を追求していくために ● 開発スピードの向上 ● 開発生産性の向上 ● ソフトウェア品質の向上 この3軸を定量評価できるようにして、継続的な改善サイクルの確立を目指します。 課題抽出 目標値設定 施策検討 効果測定 評価/改善 サイクルを設けて継続的に実施

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

民放テレビ局がひとつになった テレビの新しい プラットフォーム ドラマ バラエティ アニメ / ヒーロー 報道 / ドキュメンタリー スポーツ その他 見放題 ¥ 0

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

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