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
お薬手帳アプリ開発における スピード開発 x 安定運用の取り組み
Search
KAKEHASHI
PRO
February 22, 2023
Business
0
630
お薬手帳アプリ開発における スピード開発 x 安定運用の取り組み
TechPlay_2023年2月21日登壇資料です。
KAKEHASHI
PRO
February 22, 2023
Tweet
Share
More Decks by KAKEHASHI
See All by KAKEHASHI
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
170
開発チームが信頼性向上のためにできること
kakehashi
PRO
4
88
他言語経験者が知っておきたいTypeScriptのクラスの注意点
kakehashi
PRO
1
30
「外部仕様書をDevinくんにやってもらってみた」に関連した色々話
kakehashi
PRO
2
47
複数チームでの並行開発を改善する取り組み
kakehashi
PRO
1
43
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
1.2k
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
4.4k
なりたかった自分となりたい自分
kakehashi
PRO
2
800
そのアウトプットは世界とつながっている
kakehashi
PRO
2
270
Other Decks in Business
See All in Business
40代データ人材のキャリア戦略
pacocat
4
4k
会社紹介資料202601.pdf
gmofh_hr_team
0
1.7k
akippa株式会社|Company Deck
akippa
0
740
malna-recruiting-pitch
malna
0
14k
ノッカリアドベントカレンダー全記録まとめ
szkm555
0
140
ZEIN株式会社 会社説明資料【キャリア採用向け】
zein
0
140
アシスト 会社紹介資料
ashisuto_career
3
150k
re:Invent2025 re:Cap 〜技術的負債解消と AWS Transform Customと わたし〜
maijun
0
140
LRM株式会社 - ピッチ資料2026
lrm
0
190
RDRAモデルからFP・工数・金額につなぐ定量見積り
bpstudy
1
220
エピックベース株式会社_会社概要資料_202601
takayoshimatsuda
PRO
1
570
未完成を最強の「通貨」に変える - civicship
hopin
0
200
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Docker and Python
trallard
47
3.7k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
New Earth Scene 8
popppiees
1
1.6k
Believing is Seeing
oripsolob
1
60
Prompt Engineering for Job Search
mfonobong
0
160
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Embracing the Ebb and Flow
colly
88
5k
Designing for Performance
lara
610
70k
KATA
mclloyd
PRO
34
15k
Transcript
お薬手帳アプリ開発における スピード開発 x 安定運用の取り組み 株式会社カケハシ 種岡篤志
自己紹介 ・カケハシ入社 3年目 ・Pocket Musubiを開発するチームに所属 ・バックエンドを主軸にインフラやフロントエンドも従事 ・2人の娘の育児に奮闘中 Copyright © KAKEHASHI
Inc. All Rights Reserved. 2
アジェンダ 昨年、iOS/Androidでリリースした電子お薬手帳アプリについて Copyright © KAKEHASHI Inc. All Rights Reserved.
3 スピード開発 安定運用 チーム分割
株式会社カケハシとは? Copyright © KAKEHASHI Inc. All Rights Reserved. 4
Mission: 日本の医療体験を、しなやかに。
Pocket Musubi 開発チーム Copyright © KAKEHASHI Inc. All Rights Reserved.
5 主に患者さん向けサービスの開発チーム LINE上で動作するWebアプリ(Pocket Musubi) エンジニア 10名 スクラム開発
おくすり連絡帳について Copyright © KAKEHASHI Inc. All Rights Reserved. 6
おくすり手帳アプリ( iOS / Android) 開発期間:約半年 LINE版Pocket Musubiとのデータ連携して より便利に!
アジェンダ 昨年、iOS/Androidでリリースした電子お薬手帳アプリについて Copyright © KAKEHASHI Inc. All Rights Reserved.
7 スピード開発 安定運用 チーム分割
スピード感ある開発できたのか? Copyright © KAKEHASHI Inc. All Rights Reserved. 8
システム設計概要 Copyright © KAKEHASHI Inc. All Rights Reserved. 9
FlutterFlow選定の背景 当時、社内にはiOS/Androidそれぞれ一人しかエンジニアがいなく、圧倒的 に開発リソースが足らない状況で、MVPを作らないといけない Copyright © KAKEHASHI Inc. All Rights Reserved.
10 Flutter ローコードツールの活用 iOS/Android両方のリリースが必要
FlutterFlowとは? Copyright © KAKEHASHI Inc. All Rights Reserved. 11
GUIでFlutterアプリが作れる ソースコードのDLとGitHubと の連携(有料プラン) デザインだけでなくロジックの 実装もツール上で可能
FlutterFlowを使ってみてどうだったのか? Copyright © KAKEHASHI Inc. All Rights Reserved. 12
FlutterFlowの使用感 Copyright © KAKEHASHI Inc. All Rights Reserved. 13
・各画面の作成とデザインの当て込みで活用 テストをきちんと書いて、将来的に容易にリプレース可能な準備をしておくこと で許容 ・ローコードツールが自動生成する抽象化コンポーネント管理 (FlutterFlowXXXのような抽象化した独自コンポーネントを作ってくれるが負債化の懸念) デザインの作成と修正したものを適宜エクスポート ロジックは自前で実装 ・ツール上だけではロジック実装が難しい or 設計観点でツール依存にする難しさ
システム設計概要 Copyright © KAKEHASHI Inc. All Rights Reserved. 14
ServerlessStackとは Copyright © KAKEHASHI Inc. All Rights Reserved. 15
インフラの管理だけでなく、アプリケーションコードの開発支援してくれる CDK ライブデバッグ可能( VS Code,WebStorm,IntelliJ IDEA) Live Lambda Developmentが優秀(Local環境でLambdaのロジック開発) メンバー毎の開発環境が簡単に構築できる
変更を都度デプロイ Lambdaが利用するサービスをローカルでモック Lambda開発のつらみ Copyright © KAKEHASHI Inc. All Rights Reserved.
16 CDKにhotswap deployments機能が追 加されたことで改善 しかし、ライブデバッグはできない LocalStackのメンテコスト高い ・利用するサービスのモック作るコスト ・LocalStackの変更追従コスト デプロイにかかる待ち時間発生 【Lambda開発パターン例】
Live Lambda Development 利用例 Copyright © KAKEHASHI Inc. All Rights
Reserved. 17 ローカルでLambdaの ロジック開発に専念 専用の開発DB ライブデバッグ Lambda以外のサービ スはそのまま使える
アジェンダ 昨年、iOS/Androidでリリースした電子お薬手帳アプリについて Copyright © KAKEHASHI Inc. All Rights Reserved.
18 スピード開発 安定運用 チーム分割
安定運用に向けて Copyright © KAKEHASHI Inc. All Rights Reserved. 19
おくすり連絡帳アプリはエンジニア総力戦で開発した
運用面での課題 Copyright © KAKEHASHI Inc. All Rights Reserved. 20
メンテナンス対象が増える 全員が等しくコードベースで理解するのが難しい 認知負荷の増大 ドメイン知識の共有の難しさ チーム分割
チーム分割のための輪読会 Copyright © KAKEHASHI Inc. All Rights Reserved. 21
トップダウンでチームを分割するのではなく チームの形としてどういうものがあるのか? チーム間のコミュニケーション方法は? などのベストプラクティスを体系的に学ぶことでチーム分割導 入ハードルを下げる
チーム分割 Copyright © KAKEHASHI Inc. All Rights Reserved. 22
・認知負荷が下がり、それぞれのサービスで開発・運用効率が上がった ・新しくメンバーが入った時のキャッチアップも楽になった
設計に関する課題 Copyright © KAKEHASHI Inc. All Rights Reserved. 23
DB DBが密結合 コンウェイの法則 (1つのチームで開発した影響) 開発スピードは間違いなく出た Pros Cons DBスキーマ管理や変更時影響範囲の確 認の負荷が高い
マイクロサービス化 Copyright © KAKEHASHI Inc. All Rights Reserved. 24
新規プロダクトはドメインの粒度が粗く、変更頻度が高いため、マイクロサービス化の意思決定が しにくい マイクロサービス化したサービスの運用経験者の有無 チーム分割を先に行っていたらマイクロサービス化の判断は変わっていたかもしれない 組織のフェーズや開発リソースなどの外的要因によって変わりうるため、今回の経験を今後の判 断軸として活かしていきたい
まとめ Copyright © KAKEHASHI Inc. All Rights Reserved. 25
FlutterFlowやServerlessStackを使ってスピード開発できた チーム分割することで認知負荷を下がり、安定運用につながった 新規プロダクト開発前にローンチ後のチーム構成を思案すると共に、マクロサービス化について 検討しておこう
全プロダクト絶賛採用強化中! Copyright © KAKEHASHI Inc. All Rights Reserved. 26
• フロントエンドエンジニア • バックエンドエンジニア • PdM • 開発ディレクター • UXデザイナー • SRE • データエンジニア ポジションの詳細はコチラ https://herp.careers/v1/kakehashi
Copyright © KAKEHASHI Inc. All Rights Reserved. 27 ご清聴ありがとうございました