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
20260311_あすけんにおけるKMP採用と役割を超えた協業
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hirohiso
March 16, 2026
Technology
180
0
Share
20260311_あすけんにおけるKMP採用と役割を超えた協業
Kotlinで挑む3社3様の技術課題で登壇した際に投影した資料です
https://asken.connpass.com/event/384559/
hirohiso
March 16, 2026
More Decks by hirohiso
See All by hirohiso
20250925_AI活用LT_MCPを自作して社内ノウハウに自在にアクセスしよう
hirohiso
0
320
Other Decks in Technology
See All in Technology
SREの仕事は「壊さないこと」ではなくなった 〜自律化していくシステムに、責任と判断を与えるという価値〜 / 20260515 Naoki Shimada
shift_evolve
PRO
1
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
200
みんなの考えた最強のデータ基盤アーキテクチャ'26前期〜前夜祭〜ルーキーズ_資料_遠藤な
endonanana
0
330
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.7k
Tachikawa.any 運営挨拶
daitasu
0
170
古今東西SRE
okaru
2
190
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
180
100マイクロサービスのTerraform/Kubernetes管理地獄から抜け出すためのAI活用術
markie1009
0
150
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
130
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
240
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
830
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
360
Utilizing Notion as your number one productivity tool
mfonobong
4
300
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
So, you think you're a good person
axbom
PRO
2
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Context Engineering - Making Every Token Count
addyosmani
9
880
Automating Front-end Workflow
addyosmani
1370
200k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
370
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
300
Transcript
© asken.inc あすけんにおけるKMP採用 と役割を超えた協業 Kotlinで挑む3社3様の技術課題 26/03/11 株式会社 asken 入江弘紀
© asken.inc 2 自己紹介 • 2024年度 asken入社 • 法人事業部であすけんのtoB向けの開発 ◦
健康経営向けサービス開発 ◦ 特定保健指導向けサービス開発 • 趣味 ◦ ランニング ◦ 競プロ(A:▪ H:▪)
© asken.inc 3 プロダクト紹介 食べたものを入力するだけで カロリー・栄養素を自動計算 管理栄養士からあなたの為の アドバイスが届く 「あすけん」は、食べたものを入力すると、自動で栄養素を計算し、 アドバイスがもらえるスマホアプリです
栄養士キャラクターの 未来(みき)さんが あなたに寄り添います!
© asken.inc 「あすけんアプリ」のアーキテクチャの変遷 iOS モバイルアプリ Android バックエンド EC2 これまで RDS
DynamoDB データベース PC版 4
© asken.inc 「あすけんアプリ」のアーキテクチャの変遷 iOS モバイルアプリ モデルの共通化 通信処理の共通化 Android バックエンド ECS
CDK リアーキテクチャ環境 EC2 現行環境 RDS DynamoDB データベース 現在の取り組み PHPからKotlinへのリ アーキテクチャ 5 PC版 KMPでの処理共通化
© asken.inc 6 askenの組織づくりについて • 継続的に価値提供をしていきたい ◦ 仮説検証を回したい • やりたい施策の数が増えてきている
◦ 意思決定スピードの向上と複数施策を並列化
© asken.inc 7 組織づくりの課題 • 各チームで横断的な専門性が必要 ◦ モバイル,バックエンド,インフラ.... • チームの肥大化と非効率化
◦ それぞれの領域で必要な人数を揃えることで人数が肥大化 ◦ バックエンドはできたけどモバイルは待ち
© asken.inc 8 マルチスタックと協業 • マルチスタック 専門性を広げ、互いの領域へ「オーバーラップ」 • 狙い 生産性向上、円滑なコミュニケーション、体制の柔軟性
© asken.inc 9 Kotlinという言語の可能性 • もともとはたまたまバックエンドとモバイルで採用 • 言語を統一することによるマルチスタックの手段に ◦ 学習コストが下がる
◦ 他方の領域に触れる機会が多くなる • KMP導入したことでそのような作用を確認できた
© asken.inc 10 KMP導入の背景 • 課題:モバイル開発において生じていた課題 a. コードの重複(同じロジックを2回書く) b. 挙動の不一致(OS間で仕様の差が出る)
c. コミュニケーションの複雑化(同期コストの増大) • 解決策: KMPで共通のコードベースを使用する
© asken.inc 11 なぜKMPを採用したのか? https://speakerdeck.com/takuyaosawa/kotlinbu-wan-ji-hua-kmp-kotlin-multiplatform-to aigadao-kuyue-jing-tobu-wan-nowei-lai https://tech.asken.inc/entry/2026/03/04/170000
© asken.inc iOS Android 12 KMPで共有している箇所 • ビジネスロジック OS/UIに依存しない処理(集計ロジックなど) •
バリデーション 入力値検証、エラーハンドリング • 通信部品 バックエンドAPIとの通信 バックエンド ビジネスロジック UI イベント UI イベント 通信部品 バリデーション OS独自仕様に影響され にくい領域
© asken.inc 13 KMPの構成と運用 管理:独立したリポジトリで管理 配布:iOSは XCFramework、Androidは Gradle 自動化:GitHub Actions
による配布の自動化 AI活用:AIエージェントによる取り込み作業の自動化 KMP Android iOS iOS-KMP XC Framework生成 iOS用の配布リポジトリに配置 バージョンを指定し て取り込み Github Packages パッケージをビルド Github Packagesに公開 バージョンを指定し て取り込み ビルドしてストア申請 ビルドしてストア申請 AndroidやiOS専用の開発環境がな くてもKotlinの開発環境があれば構 築できる状態
© asken.inc あすけんの体制 iOS モバイルアプリ モデルの共通化 通信処理の共通化 Android バックエンド ECS
CDK リアーキテクチャ環境 EC2 現行環境 RDS DynamoDB データベース 14 リアーキテクチャチーム (バックエンドのみで構成) 施策チーム (PdM/デザイナー/モバイル/バック エンドetcで構成) PHPからKotlinへの移行をすす めるぞ! 仮説検証をまわ していこう!
© asken.inc リアーキテクチャを進める上での課題 iOS モバイルアプリ モデルの共通化 通信処理の共通化 Android バックエンド ECS
CDK リアーキテクチャ環境 EC2 現行環境 RDS DynamoDB データベース 15 リアーキテクチャチーム (バックエンドのみで構成) 施策チーム (PdM/デザイナー/モバイル/バック エンドetcで構成) APIを仕様から見直したので モバイル側も対応してもらおう! このAPIの仕様を把握する ところから始めないと ・・・ 他の案件もあるなかこの 対応すすめるの? モバイル側がなかなか対応してくれな い・・・・ iOSだけ先に対応しまし た! えぇぇ 依頼
© asken.inc 16 バックエンドエンジニアの協業 KMPのコードを自分たちで実装すればいいのでは?
© asken.inc 17 バックエンドエンジニアとの協業 • バックエンドエンジニアでもKMPの対応ができる ◦ コードがOSの依存から切り離されていたこと ◦ 別リポジトリで管理されており誰でも改修できる状態だったこと
iOS モバイルアプリ モデルの共通化 通信処理の共通化 Android バックエンド ECS CDK リアーキテクチャ環境 EC2 現行環境 RDS DynamoDB データベース Kotlinで書かれているため理解容易 別途インストールするものもなく 自動化も進んでいるので 作業しやすい iOS Android ビジネスロジック UI イベント UI イベント 通信部品 バリデーション バリデーション 通信部品をバックエンド側が実装 KMP Android iOS iOS-KMP Github Packages KMPを取り込んで呼び出 すだけで対応が完了する モバイル対応の待ち時間が少なくなり 新規APIのリリースがスムーズに KMPリポジトリから 各OSへ自動的に展開
© asken.inc 18 マルチスタック化への道筋 • お互いのコードを読み書きできる「共通の土壌」を整える • AIの活用 ◦ 専門性の高い領域の敷居を下げる
© asken.inc 19 まとめ • askenでは「マルチスタック」な開発体制を目指している • Kotlinをバックエンド・モバイルの両方で採用していたことが土台に • 技術の共通化が、役割を超えた協業を加速させる
• AI活用もくわえて、さらに越境しやすい組織を目指す
© asken.inc 20 Thank you!