Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会...
Search
Akifumi Fukaya
May 20, 2025
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会社カウシェ
Akifumi Fukaya
May 20, 2025
More Decks by Akifumi Fukaya
See All by Akifumi Fukaya
LT: KaucheMockKit 導入した話
akifumifukaya
0
200
20220713-kauche-techtalk-lt
akifumifukaya
0
420
iOSDC21
akifumifukaya
7
10k
MVVM with Combine
akifumifukaya
2
850
MVVM with Combine in SwiftUI
akifumifukaya
6
2.4k
MVVM overview
akifumifukaya
5
1.4k
UIViewController in XIB + IBDesignable
akifumifukaya
2
4.1k
Other Decks in Technology
See All in Technology
Ebitengine製iOSアプリ公開ボタンを押す会
eiei114
0
110
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
120
公共分野での生成AI活用
toru_kubota
1
300
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
2026 Apache Flink Community Checkpoint
rmetzger
0
200
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
200
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
190
Shared Signals Framework 仕様解説
oidfj
0
280
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
4
150
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
110
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
350
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
3
1.7k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
We Are The Robots
honzajavorek
0
440
Balancing Empowerment & Direction
lara
6
1.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.7k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Git: the NoSQL Database
bkeepers
PRO
433
67k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
Between Models and Reality
mayunak
4
570
Being A Developer After 40
akosma
PRO
92
590k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
740
Transcript
【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから @akifumi
⾃⼰紹介 • 名前 ◦ 深⾕ 哲史 (Akifumi Fukaya) • 会社
◦ 株式会社カウシェ (2020/07 ~ ) • 役割 ◦ Engineering Manager (Mobile) • アカウント ◦ X: @akifumifukaya ◦ Facebook: fukaya.akifumi ◦ YOUTRUST: akifumi ◦ GitHub: akifumi
会社紹介
プロダクト 野菜がもらえる お買い物アプリ
開発体制
開発体制
開発体制
技術スタック
技術スタック 開発言語 Swift, Kotlin, Go アーキテクチャ MVVM, Clean Architecture UIフレームワーク
SwiftUI, Jetpack Compose インフラ Google Cloud 構成管理 Terraform 分析基盤 BigQuery モニタリング Firebase Crashlytics, Firebase Monitoring, Cloud Monitoring, Cloud Trace CI/CD Bitrise, GitHub Actions 開発ツール Notion, Slack, GitHub デザイン Figma Cloud Run Pub/Sub Cloud Spanner Firestore Cloud Storage Cloud Load Balancing BigQuery Cloud Logging Cloud Monitoring Cloud Scheduler Trace
アプリ構成 • 全体アーキテクチャ ◦ MVVM ◦ マルチモジュール ▪ XcodeGen &
SPM (徐々に移⾏中) ◦ SwiftUI をメインで利⽤
課題
課題 • レガシーコード改善 • 技術的な開発⽣産性アップ • 組織的な開発⽣産性アップ
課題① レガシーコード改善
課題①:レガシーコード改善 課題感 • 2020年9⽉ カウシェ v1.0.0 リリースしてから4年半が経過 ◦ リリース当初から SwiftUI
を採⽤しているが、アップデートの追従が⼤変 • アーキテクチャやパッケージ構成はレガシー化 ◦ SwiftUI + MVVM + XcodeGen • 上記の改善に取り組みやすいアーキテクチャの⼟壌作り ◦ 新しい技術の採⽤ ◦ 細かく改善していける ◦ 将来、新しいアーキテクチャなどを導⼊しやすい環境
課題①:レガシーコード改善 解決策:開発と平⾏してレガシーコードを改善できる⼟壌をつくる • レイヤー構成の変更 ◦ Domain, Data, Presentation, Shared レイヤーを作成
• ディレクトリ構成の変更 ◦ Packages ディレクトリを作成し、上記レイヤーを配置 • Swift Package Manager モジュール設計 ◦ モジュール依存管理を XcodeGen → SPM に徐々に移⾏
課題② 技術的な開発⽣産性アップ
課題②:技術的な開発⽣産性アップ 課題感 • ⽣成AIが⽬覚ましい進化を遂げている • 少⼈数でも、より「多くの施策」をより「早いスピード」で開発したい • ⽇々の開発業務でAIを活⽤することにより、⽣産性をさらに⾼い状態へ
課題②:技術的な開発効率性アップ 解決策:積極的なAI活⽤ • 少⼈数でより⽣産性の⾼い状態にするべく、 AI を活⽤した開発スタイルへとシフト • Mobile Engineer 全員で
Cline を利⽤ • AI 活⽤度をデイリーでモニタリング‧向上 • ノウハウを蓄積して共有
課題③ 組織的な開発⽣産性アップ
課題③:組織的な開発⽣産性アップ 課題感 • 現在のモバイルアプリ開発体制は2チーム‧2名ずつの少⼈数体制 • スタートアップであり、今後も少⼈数での開発体制を維持する • とはいえ、中⻑期的には作りたいものが増える • 少⼈数体制で開発⽣産性を向上する必要あり
課題③:組織的な開発⽣産性アップ 解決策:両OS 開発を促進する基盤づくり • 両OS 開発 ◦ iOS Engineer /
Android Engineer が両OS開発できる体制を構築 ◦ 領域を超えた相互レビュー体制 ◦ Cline を活⽤し、両OSの開発を促進 • Monorepo 化 ◦ コードの共有、AI コンテキスト‧ノウハウの共有、PRレビュー‧スイッチングコスト減少 • 組織的な技術⼒向上 ◦ オンボーディングタスク‧勉強会などを実施し、開発知識を増やしていく
今後の展望
• アーキテクチャ改善 ◦ 新しいアーキテクチャ導⼊‧パッケージ構成の変更 • AI 活⽤の加速化 ◦ AI ×
クロスプラットフォーム開発 模索 ▪ AI 活⽤した iOS/Android 開発を加速するために、Monorepo 化を選択 ▪ コードベース統合‧AI ルール整備‧フォーマット整備などにより、両OS 同時開発を模索 ◦ mcp server 連携 ▪ Figma/Notion/Slack mcp → App コード開発 • 品質保証の⾃動化 ◦ UI ⾃動テストによる品質向上 今後の展望
Thank you.