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
February 22, 2023
Business
0
510
お薬手帳アプリ開発における スピード開発 x 安定運用の取り組み
TechPlay_2023年2月21日登壇資料です。
KAKEHASHI
February 22, 2023
Tweet
Share
More Decks by KAKEHASHI
See All by KAKEHASHI
KAKEHASHI Company Deck / Company Deck
kakehashi
3
17
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
4
390
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
770
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
2
260
スプリントゴールにチームの状態も設定する背景とその効果 / Team state in sprint goals why and impact
kakehashi
2
160
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
230
見えづらい活動の成果の伝え方は日頃からめちゃくちゃ悩んでるけど、実際こんな取り組みをしな がら温度感を合わせにいってるよ / Conveying Hard-to-See Results
kakehashi
4
2.3k
Evolving DevOps Teams and Flexible Organizational Culture
kakehashi
1
1.4k
難しいから面白い!医薬品×在庫管理ドメインの複雑性と向き合い、プロダクトの成長を支えるための取り組み / Initiatives to Support Product Growth
kakehashi
3
300
Other Decks in Business
See All in Business
ログラス会社紹介資料 新卒採用 ビジネス職[経営幹部候補]/ Loglass Company Deck
loglass2019
0
830
コーチ・エィ_会社紹介資料
coacha
1
1.2k
20分で分かる!Control Towerが実現できる効率的なマルチアカウント管理
o2mami
0
150
BrainPad_AC_202411
brainpadpr
2
9.1k
新卒エンジニア向け会社紹介資料/newgraduates-engineer
nextbeat
2
1.7k
Arches 会社説明資料/ HR Deck
arches0501
0
7.6k
Company deck
tricera
0
700
株式会社BFT 会社紹介資料|エンジニア&セールス職向け
bft_recruit
2
11k
採用資料
daichihayashi
0
380
【DearOne】Dear Newest Member
hrm
2
6.1k
Modern-trade-off analysis
findyinc
3
4.7k
Godot 会社紹介資料(開発職向け) / Godot Pitch Deck
godot
0
1.1k
Featured
See All Featured
Teambox: Starting and Learning
jrom
133
8.8k
Building an army of robots
kneath
302
43k
Become a Pro
speakerdeck
PRO
25
5k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Embracing the Ebb and Flow
colly
84
4.5k
Scaling GitHub
holman
458
140k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Done Done
chrislema
181
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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 ご清聴ありがとうございました