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
【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会...
Search
Akifumi Fukaya
May 20, 2025
Technology
1.1k
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
180
20220713-kauche-techtalk-lt
akifumifukaya
0
390
iOSDC21
akifumifukaya
7
10k
MVVM with Combine
akifumifukaya
2
800
MVVM with Combine in SwiftUI
akifumifukaya
6
2.4k
MVVM overview
akifumifukaya
5
1.3k
UIViewController in XIB + IBDesignable
akifumifukaya
2
4k
Other Decks in Technology
See All in Technology
なぜMIXIはゼロトラスト基盤として クラウドフレアを選んだのか - Cloudflare Peer Point SASE User Voices
mixi_engineers
PRO
2
120
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
550
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
4
1.1k
システム監視入門
grimoh
5
720
人依存からAIネイティブの体制へ:バックエンド開発の裏側【SORACOM Discovery 2026】
soracom
PRO
0
120
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
110
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
1.5k
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
0
170
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
240
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.2k
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
160
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.7k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
Ruling the World: When Life Gets Gamed
codingconduct
0
290
WCS-LA-2024
lcolladotor
0
760
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
330
Raft: Consensus for Rubyists
vanstee
141
7.6k
Prompt Engineering for Job Search
mfonobong
0
380
How to Ace a Technical Interview
jacobian
281
24k
Test your architecture with Archunit
thirion
1
2.3k
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.