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
400
iOSDC21
akifumifukaya
7
10k
MVVM with Combine
akifumifukaya
2
820
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
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
2
650
SmartHR Engineering Team Deck
smarthr
1
1.3k
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
230
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
440
ブラウザ研修 2026
recruitengineers
PRO
4
790
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.8k
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
500
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
150
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Odyssey Design
rkendrick25
PRO
2
750
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
680
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
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.