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
事業の成長と技術的チャレンジを両立させるリプレイスの極意
Search
PharmaX(旧YOJO Technologies)開発チーム
August 24, 2023
Technology
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
事業の成長と技術的チャレンジを両立させるリプレイスの極意
PharmaX(旧YOJO Technologies)開発チーム
August 24, 2023
More Decks by PharmaX(旧YOJO Technologies)開発チーム
See All by PharmaX(旧YOJO Technologies)開発チーム
PdMによるLiveバイブコーディング〜プロトタイプ開発実践〜
pharma_x_tech
1
81
2025.10.28_CodexとClaude Codeの比較検討 社内座談会
pharma_x_tech
2
640
LLMのアウトプットの評価と改善 〜DSPyによるプロンプト最適化入門によせて〜
pharma_x_tech
6
1.2k
2025.09.02_AIコーディングを利用した開発自動化を目指しての座談会
pharma_x_tech
5
360
AIコーディングを前提にした開発プロセス再設計〜開発生産性向上に向けた試行錯誤〜
pharma_x_tech
4
450
AIエージェントの評価・改善サイクル
pharma_x_tech
2
620
MCP & Computer Useをフル活用した社内効率化事例〜現在地と将来の展望
pharma_x_tech
1
470
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
7
2.7k
Roo CodeとClaude Code比較してみた
pharma_x_tech
5
6.3k
Other Decks in Technology
See All in Technology
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
360
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
320
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
270
NDIAS CTF 2026 問題解説会資料
bata_24
0
160
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
170
5分でわかるDuckDB Quack
chanyou0311
4
300
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
270
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
460
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
230
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
210
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
230
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
340
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
Amusing Abliteration
ianozsvald
1
220
My Coaching Mixtape
mlcsv
0
160
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
The SEO identity crisis: Don't let AI make you average
varn
0
510
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
330
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Become a Pro
speakerdeck
PRO
31
6k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
210
Transcript
PharmaX 事業の成長と技術的チャレンジを 両立させるリプレイスの極意 2023.08.24 #pharmaX_tech_collabo
(C)PharmaX Inc. 2023 All Rights Reserve 2 自己紹介 上野彰大 PharmaX取締役・エンジニアリング責任者
マイブームはLLMとRust Twitter:@ueeeeniki
3 (C)PharmaX Inc. 2023 All Rights Reserve プロダクトの簡単な説明
(C)PharmaX Inc. 2023 All Rights Reserve 4 「薬局」は医療体験の中でも身近な存在 日用品から処方薬まで。「薬局」は皆さまの日常の近くに存在している ドラックストア
調剤薬局
(C)PharmaX Inc. 2023 All Rights Reserve 5 医療体験を横断する2つの事業領域 YOJO事業 未病・予防
治療 薬局DX事業
(C)PharmaX Inc. 2023 All Rights Reserve 6 LINEから利用できるバーチャルな薬局 最短 即日
※ お薬をもっと手軽に、もっと安心して受け取れる「YOJO薬局」 お薬はお家までお届け LINEで薬剤師にいつでも相談 好きなときにお薬の説明 ※東京23区内のみ
(C)PharmaX Inc. 2023 All Rights Reserve 7 ソフトウェアに閉じないプロダクト開発 独自の薬局オペレーションシステムを構築し、最適化されたオンライン薬局を実現 ×
自社薬局をプロトタイプラボ化 ソフトウェア オペレーション リモート 薬剤師組織 薬局業務を効率化す るオペレーションシス テム(薬局OS) 質の高い患者さま対応 のためのオンライン特 化組織 対人業務の質を高め るための対物業務効 率化 「ソフトウェア×オペレーション×薬剤師組織」を プロダクトとして開発
(C)PharmaX Inc. 2023 All Rights Reserve 8 KDDI様のオンライン特化型薬局「au薬局」の開業を支援 ※このスライドの撮影および内容の SNS発信はお控えください
※このスライドの撮影および内容の SNS発信はお控えください
9 (C)PharmaX Inc. 2023 All Rights Reserve リプレイスで振り返る YOJO事業を支えるシステムとその変遷
(C)PharmaX Inc. 2023 All Rights Reserve 10 LINE上でのチャットを通じて薬剤師と会話 日々の相談や健康状態に応じて、 漢方・サプリメントを購入
使い慣れたUI上から手軽に細かく体質チェック 薬剤師から漢方・サプリのご提案 そのほか健康相談やオンラインでの処方箋受付 YOJOのオペレーションシステム 1 2 3 患者向けチャットシステム
(C)PharmaX Inc. 2023 All Rights Reserve 11 PSチームと患者をつなぐオペレーションシステム 患者とのスムーズなコミュニケーション 薬剤師向け管理画面
チャット形式での診断・相談・購入 患者向けチャットシステム
(C)PharmaX Inc. 2023 All Rights Reserve 12 LINE登録者数〜ローンチ初期〜
(C)PharmaX Inc. 2023 All Rights Reserve 13 ローンチ当初の構成 • フロントエンドは2010年代によく見た既視感のあるUI
◦ ERB(テンプレートエンジン) + webpacker & Vue.js on Rails • PaaS(Heroku)を利用した運用コストの少ないサーバー群で構成
(C)PharmaX Inc. 2023 All Rights Reserve 14 LINE登録者数〜管理画面リプレイス期〜
(C)PharmaX Inc. 2023 All Rights Reserve 15 管理画面リプレイス後 • フロントエンドにはNext.js
+ GraphQLを採用し、インフラもvercelに切り出した ◦ SPAでなめらかな操作性を実現 • チャットをFirestoreに保存することで、リアルタイムでチャットを表示可能に
(C)PharmaX Inc. 2023 All Rights Reserve 16 管理画面のリプレイスに至る意思決定 • 管理画面は創業間からスピード重視でテンプレートエンジンで作られており、機能も継ぎ足しで
やってきていたので画面の構成もかなり無秩序だった ◦ リモートで薬剤師が医薬品販売のチャット対応するというビジネスモデルが世になかった以上、どのよ うなオペレーションが最適なのかは自分たちでもよく分からなかった ◦ 理想のオペレーションがある程度見えてくるまで作り込むのはやめようという意思決定をしていたの で、これ自体は間違ったことではなかった • ある程度オペレーションが整ったところ & ユーザー数が急増する前に作り直そうというのは合意 できていたので、意思決定自体はそこまで難しくなかった ◦ ユーザー数の急激な増加と同時に PS(薬剤師・登録販売者)チームの増加も起こるので、オペレー ションやオンボーディングの負荷を軽減したかった • 2つの管理画面を並行稼働させることで、旧管理画面からも従来どおりオペレーションできること は担保していたこともあって、ビジネス影響ない形でリリースできた
(C)PharmaX Inc. 2023 All Rights Reserve 17 LINE登録者数〜インフラリプレイス期〜
(C)PharmaX Inc. 2023 All Rights Reserve 18 インフラリプレイス後 • バックエンドもフロントエンドもCloud
Runをフルに使う構成に • セキュリティ、分散していたログの集約などによるオブザーバビリティの向上を実現 • LINEのWebHookの受信に失敗した場合の救済も可能に
(C)PharmaX Inc. 2023 All Rights Reserve 19 その他 BI インフラストラクチャー
フロントエンド バックエンド 技術スタック サービスに取り込むべき技術をプロダクト横断的に議論する場を設け、新しい技術も積極的に採用
(C)PharmaX Inc. 2023 All Rights Reserve 20 PharmaXが行ってきたYOJO事業のリプレイス一覧 • 管理画面をRailsのERB(テンプレートエンジン)からNext.js
& Firestoreへのリプレイス ◦ SPAの実現、チャットの管理画面へのリアルタイム反映などを実現 • 決済システムを決済手段や決済パターンの拡張性のある構成に移行 ◦ クレジットカード以外の決済手段やサブスク以外の決済パターンに対応 • YOJO事業のバックエンドのアーキテクチャを DDDに移行 ◦ Rails wayに乗るのではなく、処理の依存関係が分かりやすいように階層化されたアーキテクチャへの 移行も同時行った • インフラをHerokuからCloud RunメインのGCP構成に移行 ◦ 可用性、セキュリティ、オブザーバビリティの向上を実現
(C)PharmaX Inc. 2023 All Rights Reserve 21 なぜリプレイスが必要になるのか? • 特に創業間もないスタートアップでは、ビジネスモデルやプロダクトがどう発展していくのかは誰に
も分からない ◦ 資金調達したり、ビジネスが伸びて安定してくれば、プロダクトのロードマップとして見通せる期間も 数ヶ月→半年→1年→数年と伸びていく • 将来の変更を見越して様々な拡張に耐え得る設計にすることは典型的バッドプラクティスで、むし ろこのような意思決定は負債化を招くことの方が多い ◦ ある程度以上確からしい将来の拡張を大きく手戻りせずに取り込めることを担保するぐらいがちょうど いい ◦ Point of no returnな技術的意思決定だけは慎重に行う必要がある • リプレイスはビジネスが変化できていることの副産物ぐらいに捉えて、ある程度仕方がないものと 割り切るべきだというのが個人的な意見 ◦ スピード vs 品質で語られるようなテストを書くべき等の議論とは全く別問題なので注意 スタートアップのような変化の激しい企業では、ビジネスモデルやプロダクトの発展を読み切ることは不可能に近く、 過去の技術的設計(アーキテクチャやドメインの境界など)が、目指すべきプロダクトの構造とズレてしまう
22 (C)PharmaX Inc. 2023 All Rights Reserve 技術的負債の返済やリプレイスの極意 〜実践編〜
(C)PharmaX Inc. 2023 All Rights Reserve 23 藪から棒にならないコミュニケーションを心がける • 技術選定や技術的構成を決める際には、何を得て(スピード等)、何を失っているのかをセットで
社内に発信する ◦ 特にマイナス面はきちんと伝える &伝え続ける ▪ 「こういう拡張はしづらい構成である」「このようにビジネスが発展すると、〇〇の部分 は△△の方針で作り変える必要がある」 ◦ ここは「スピードを優先してかなり雑に作ってる」みたいなカジュアルな議論もする • 発信する手段は、MTG・スプリントイベントの場だけではなく、日報や timesなどもフル活用する ◦ 現時点で想定されるリスクや将来起こりうる技術的意思決定の分岐のパターンを非エンジ ニアにも認識しておいてもらうための工数を厭わない リプレイスせざるを得ないような状況になってからアラートを発するのでは遅いため、将来的にどういう問題が起こるのかを予め発信し ておく必要がある
(C)PharmaX Inc. 2023 All Rights Reserve 24 リプレイスはタイミングこそが命 • (プロダクトのロードマップは本当に必要なのかという議論は別途あるが、)ある時期(例:
2023年 後半)から、ビジネス的には△△に注力するということが分かっているのであれば、その時期まで には□□のリプレイスをした方がいいという議論をするべし • なぜそのリプレイスが必要なのか?は、その時期ごとのビジネス的な重点ポイントと紐付けて議 論すべし ◦ 特に目玉となる機能実現のためにリプレイスせざるを得ないのであれば簡単 ▪ 「この機能を実現するために構成を変更すれば、工数はざっくり 1/3ぐらいになります」 というようなコミュニケーションができる ◦ 仮に機能とは紐づけられなくても、将来的な変更容易性や工数の削減などとは紐づけて語 る必要はある 日頃からの負債の返済も重要だが、特にリプレイスのような大規模改修はどこかのタイミングで機能拡張を止めて差し込む必要がある ため、なぜ今なのか?の論理が重要
25 (C)PharmaX Inc. 2023 All Rights Reserve 技術的負債の返済やリプレイスの極意 〜マインドセット編〜
(C)PharmaX Inc. 2023 All Rights Reserve 26 必要な時にリプレイス可能な文化を創る ビジネス的な意思決定と技術的意思決定を常にセットで語り、エンジニア以外のメンバーも現状の技術的リスクや将来のリプレイスの 可能性を議論できる組織にする必要がある
• マネージャーやリーダーと呼ばれる人は、常に技術的意思決定とビジネス的なインパクトと紐づ けて議論をする癖をつける ◦ 必ずしも定量的である必要はなく、将来のビジネスの障壁になり得る懸念を言語化する癖 を付ける • 非エンジニア以外の職種のメンバーの技術的意思決定に対するリテラシーを上げることも自分の 仕事であると捉え、大胆な技術的意思決定もしやすい文化を創る ◦ エンジニアがどのようなことを考えて技術的な意思決定をしているのかを分かりやすく伝え ていく • そもそもリプレイスは起こりうるものなのだという意識付けも常々行う必要がある