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
スタディサプリENGLISH_モバイルチームの技術戦略.pdf
Search
yukiasai
February 05, 2020
Technology
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スタディサプリENGLISH_モバイルチームの技術戦略.pdf
yukiasai
February 05, 2020
More Decks by yukiasai
See All by yukiasai
Swift in my home
yukiasai
1
1.1k
家庭内Slack導入までのお話
yukiasai
1
3k
ReactNative+GraphQLでなんか作る
yukiasai
1
1.3k
20170327_fastlane_jp_2.pdf
yukiasai
0
1.8k
コードとIBをつなぐオレオレスタイルシステム
yukiasai
1
1.8k
For nested apps
yukiasai
0
160
Other Decks in Technology
See All in Technology
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4.5k
ボーイスカウトルールでメモリやスキルを改善しよう
azukiazusa1
3
1k
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
130
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.1k
Claude Codeとハーネスについて考えてみる
oikon48
19
9.4k
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
CIで使うClaude
iwatatomoya
0
250
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
2
180
Kaggleで成長するために意識したこと
prgckwb
2
330
AICoEでAIネイティブ組織への進化
yukiogawa
0
170
SRE Next 2026 何でも屋からの脱却
bto
0
680
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
620
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Done Done
chrislema
186
16k
Statistics for Hackers
jakevdp
799
230k
Utilizing Notion as your number one productivity tool
mfonobong
4
380
エンジニアに許された特別な時間の終わり
watany
107
250k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
320
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Why Our Code Smells
bkeepers
PRO
340
58k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
BBQ
matthewcrist
89
10k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Transcript
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 スタディサプリENGLISH モバイルチームの技術戦略 @yukiasai Study Sapuri/Quipper Product Meetup
#4
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 Agenda | 01 02 03 04 05
About me サービスとエンジニア組織の成長 これまでの技術戦略 これからの技術戦略 まとめ 2 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 About me 01 3 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 @yukiasai / 浅井勇樹 4 ➔ Engineering Manager
◆ スタディサプリ ENGLISH モバイルチーム ➔ 2017年3月〜 ◆ iOS Engineer ◆ Project Manager ◆ Engineering Manager スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 サービスとエンジニア組織の成長 01 5 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 サービスの一覧 6 ➔ 2015年 ◆ 日常英会話コース ➔
2017年 ◆ TOEIC®L&R TEST対策コース • パーソナルコーチプラン ◆ 苦手克服トレーニング ➔ 2019年 ◆ 英語4技能コース ◆ ビジネス英語コース ◆ 新日常英会話コース スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 エンジニア組織の成長 7 エンジニア数 約10人 約20人 37人(業務委託含み) -
iOS: 8名 - Android: 6名 - Web Frontend: 5名 - Server: 13名 - SRE: 5名 ➔ 2015年 ◆ 日常英会話コース ➔ 2017年 ◆ TOEIC®L&R TEST対策コース • パーソナルコーチプラン ◆ 苦手克服トレーニング ➔ 2019年 ◆ 英語4技能コース ◆ ビジネス英語コース ◆ 新日常英会話コース スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 これまでの技術戦略 02 8 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 ➔ 2015年 ◆ 日常英会話コース ➔ 2017年 ◆
TOEIC®L&R TEST対策コース • パーソナルコーチプラン ◆ 苦手克服トレーニング ➔ 2019年 ◆ 英語4技能コース ◆ ビジネス英語コース ◆ 新日常英会話コース これまでの技術戦略 9 英語学習の共通基盤(ECP基盤) スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 ECP基盤 10 日常英会話 TOEIC®L&R TEST対策 ビジネス英語 スタディサプリENGLISH
モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 TOEIC ビジネス英語 新日常英会話 ECP基盤 11 Apps ECP基盤
Server ・ ・ ・ ECP基盤 DB 学習コンテンツ 学習履歴 アカウント コースID 課金 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 これまでの技術戦略 12 ➔ ECP基盤 ◆ 英語学習の目的別にサービスを横展開する •
汎用的な英語学習のトレーニングを実装 • アカウント種別、課金体系などが存在 • → 汎用的な設計 ◆ 横展開したサービスを長期運用する • 共通基盤に対してプロダクト改善を実施 • → 変更に強くテスタビリティの高い堅牢な設計 ◆ 事業の拡大を加速する • 必然的に開発組織も拡大 • → チーム開発を強く意識したコードの責務が明確な設計 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 これまでの技術選定 13 ➔ ECP基盤 ◆ 2017年 •
Clean Architecture • iOS: Swift, RxSwift, Swinject, Code for UI, Screenshot tests… • Android: Java, RxJava, Dagger... ◆ 2020年現在 • iOS: iOS 11以降対応 (2 ver), Swift, Xcode (Latest), Color set (xcasset)... • Android: Kotlin化, Jetpack, Re-architecture スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 汎用性、堅牢さを重視 14 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 一方で負債も溜まっていく 15 ➔ 規模の拡大によりメンテナンス性、開発効率が低下している ◆ ビルド時間の増大 ◆
コードでのUI記述が複雑化 ◆ 依存関係の解決が複雑化 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 これからの技術戦略 03 16 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 これからの技術戦略 17 ➔ プロダクト、事業全体としての方向性 ◆ 学習体験の向上、品質の改善、技術負債の解消 ◆
より多くのエンハンス案件を実施していく ◆ 不具合の発生件数を減らしていく ◆ → メンテナンス性、開発効率の高い設計 ➔ モバイルチームの戦略 ◆ Re-Architecture ◆ iOS: Module分割、SwiftUI導入 (Combine導入) ◆ Android: DI改善、Jetpack compose導入 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 ここからiOSの話 18 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 SwiftUI導入 19 ➔ SwiftUIを導入するモチベーション ◆ コード or
xibでのUI実装よりもよりメンテナンス性、開発効率の点で優れて いる ◆ 将来のスタンダードになりえる技術 ➔ 今始めるモチベーション ◆ 2年弱でECP基盤への導入 ◆ 組織としてナレッジを蓄積 ◆ 既存の資産を再利用可能、UIKitとの共存や巻き戻しが容易 ➔ どう進めるか ◆ 小さいところから導入し将来のRe-Architectureの基礎を構築、移行 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 SwiftUI導入 小さく始める 20 ➔ TOEIC®L&R TEST対策コース パーソナルコーチプラン
◆ コーチとチャットや通話 ◆ コーチに日々の学習を報告 ◆ 学習者の学習履歴を共有 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 SwiftUI導入 小さく始める 21 TOEIC®L&R TEST対策 コーチ業務アプリ スタディサプリENGLISH
モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 Module分割〜SwiftUI導入 22 ➔ ECP基盤のModule分割 ◆ API、UIなど再利用可能なものを分割 ◆
機能ごとに分解 ➔ コーチ業務アプリのRe-Architecture、SwiftUI導入 ◆ ECP基盤で分割したModuleを再利用 ◆ UIの記述を再利用可能な形でSwiftUIで実装 ◆ SwiftUIに親和性の高いArchitectureの基礎を構築 ➔ ECP基盤のRe-Architecture、SwiftUI導入(2年弱後) ◆ 機能ごとに移行 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 設計開始、着手中 23 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 メンテナンス性、開発効率の高い 新技術への移行を早期に検討 24 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 まとめ 04 25 スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 まとめ 26 ➔ これまで ◆ ECP基盤を中心に磨き込み、事業拡大に貢献してきた ◆
汎用的、堅牢な設計を優先してきた ➔ これから ◆ 学習体験の向上、品質の向上、技術負債の解消を行っていく ◆ メンテナンス性、開発効率の高いアーキテクチャへ進化させる ◆ 小さく始めて数年かけて移行プランを実行していく ◆ 技術的に面白いことにも取り組める! スタディサプリENGLISH モバイルチームの技術戦略
#sapurimeetup スタディサプリENGLISH モバイルチームの技術戦略 ご清聴ありがとうございました 27 スタディサプリENGLISH モバイルチームの技術戦略