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.7k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
650
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
PRO
3
4.3k
チームが毎日小さな変化と適応を続けたら1年間でスケール可能なアジャイルチームができた話 / Building a Scalable Agile Team
kakehashi
PRO
3
390
知らない景色を見に行こう チャンスを掴んだら道が開けたマネジメントの旅 / Into the unknown~My management journey~
kakehashi
PRO
11
1.9k
KAKEHASHI Company Deck / Company Deck
kakehashi
PRO
4
2.1k
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
PRO
4
990
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
PRO
1
980
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
PRO
2
350
Other Decks in Business
See All in Business
株式会社Domuz会社紹介資料(採用)
kimpachi_d
0
21k
第3回関東Kaggler会 LT Kaggleはうつ病患者の役に立つ
utm529f
2
200
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1k
国立大学法人等職員仕事ガイド(北海道地区)
univstaffhokkaido
0
3.2k
株式会社SAFELY 会社紹介 / Company
safely_pr
1
280
Cobe Associe: Who we are? /コンサル・市場調査・人材紹介のCobe Associe
nozomi
6
19k
freee Movement Deck
freee
0
660
Spice Factory Co., Ltd. Culture Deck
spicefactory
0
410
RAKSUL会社紹介資料 / RAKSUL Introduction
raksulrecruiting
9
83k
2025 会社説明資料
sharingenergy
0
190
CCBJIピッチブック
2024ccbji
0
190
ITエンジニアのためのコーポレートファイナンス入門シリーズ!#全体像理解
tkhresk
2
340
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1368
200k
Designing for humans not robots
tammielis
250
25k
A designer walks into a library…
pauljervisheath
205
24k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Agile that works and the tools we love
rasmusluckow
328
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Speed Design
sergeychernyshev
27
800
Large-scale JavaScript Application Architecture
addyosmani
511
110k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
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 ご清聴ありがとうございました