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
550
お薬手帳アプリ開発における スピード開発 x 安定運用の取り組み
TechPlay_2023年2月21日登壇資料です。
KAKEHASHI
PRO
February 22, 2023
Tweet
Share
More Decks by KAKEHASHI
See All by KAKEHASHI
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.8k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
690
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
PRO
3
4.3k
チームが毎日小さな変化と適応を続けたら1年間でスケール可能なアジャイルチームができた話 / Building a Scalable Agile Team
kakehashi
PRO
3
400
知らない景色を見に行こう チャンスを掴んだら道が開けたマネジメントの旅 / Into the unknown~My management journey~
kakehashi
PRO
11
1.9k
KAKEHASHI Company Deck / Company Deck
kakehashi
PRO
4
2.4k
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
PRO
4
1k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
PRO
1
990
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
PRO
2
350
Other Decks in Business
See All in Business
一般社団法人ディレクションサポート協会(DiSA)
masakisukeda
0
570
CCBJIピッチブック
2024ccbji
0
220
サイボウズの開発チームが行っているスクラムの紹介
tonionagauzzi
0
530
アッテル会社紹介資料/culture deck
attelu
10
14k
#TRG24 / Daniel Sanchez-Crespo / Cómo cargarte una industria...
tarugoconf
0
1.1k
【業界・業種別】副業・兼業トラブルに関する実態調査
fkske
0
210
【全ポジション共通】㈱エグゼクション/会社紹介資料
exe_recruit
1
1.1k
VISASQ: ABOUT DEV TEAM
eikohashiba
3
24k
ビジネスで活かす生成AIエージェント 〜業務利用を目指して今を俯瞰的に理解しよう〜
masatoto
4
300
2025 会社説明資料
sharingenergy
0
240
ユーザー体験の再定義 〜行動変容のための生成AI活用〜
_kojikako
2
490
Sales Marker Culture Book(English)
salesmarker
PRO
2
3.9k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Code Reviewing Like a Champion
maltzj
521
39k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
BBQ
matthewcrist
87
9.5k
The Cult of Friendly URLs
andyhume
78
6.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Into the Great Unknown - MozCon
thekraken
35
1.6k
For a Future-Friendly Web
brad_frost
176
9.6k
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 ご清聴ありがとうございました