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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yukiasai
February 05, 2020
Technology
1.8k
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.7k
コードとIBをつなぐオレオレスタイルシステム
yukiasai
1
1.8k
For nested apps
yukiasai
0
160
Other Decks in Technology
See All in Technology
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
420
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
180
手塩にかけりゃいいってもんじゃない
ming_ayami
0
610
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
6
1.3k
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
270
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
170
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
250
GitHub Copilot app最速の発信の裏側
tomokusaba
1
200
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
250
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
600
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Marketing to machines
jonoalderson
1
5.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Statistics for Hackers
jakevdp
799
230k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
We Are The Robots
honzajavorek
0
250
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Bash Introduction
62gerente
615
220k
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 モバイルチームの技術戦略