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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
76
2025.10.28_CodexとClaude Codeの比較検討 社内座談会
pharma_x_tech
2
620
LLMのアウトプットの評価と改善 〜DSPyによるプロンプト最適化入門によせて〜
pharma_x_tech
6
1.2k
2025.09.02_AIコーディングを利用した開発自動化を目指しての座談会
pharma_x_tech
5
350
AIコーディングを前提にした開発プロセス再設計〜開発生産性向上に向けた試行錯誤〜
pharma_x_tech
4
440
AIエージェントの評価・改善サイクル
pharma_x_tech
2
610
MCP & Computer Useをフル活用した社内効率化事例〜現在地と将来の展望
pharma_x_tech
1
450
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
7
2.6k
Roo CodeとClaude Code比較してみた
pharma_x_tech
5
6.3k
Other Decks in Technology
See All in Technology
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
170
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
1.3k
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
690
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
680
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
360
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
580
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
130
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1k
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
19
6.4k
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
390
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
400
エンジニアに許された特別な時間の終わり
watany
107
250k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Producing Creativity
orderedlist
PRO
348
40k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Odyssey Design
rkendrick25
PRO
2
690
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
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 必要な時にリプレイス可能な文化を創る ビジネス的な意思決定と技術的意思決定を常にセットで語り、エンジニア以外のメンバーも現状の技術的リスクや将来のリプレイスの 可能性を議論できる組織にする必要がある
• マネージャーやリーダーと呼ばれる人は、常に技術的意思決定とビジネス的なインパクトと紐づ けて議論をする癖をつける ◦ 必ずしも定量的である必要はなく、将来のビジネスの障壁になり得る懸念を言語化する癖 を付ける • 非エンジニア以外の職種のメンバーの技術的意思決定に対するリテラシーを上げることも自分の 仕事であると捉え、大胆な技術的意思決定もしやすい文化を創る ◦ エンジニアがどのようなことを考えて技術的な意思決定をしているのかを分かりやすく伝え ていく • そもそもリプレイスは起こりうるものなのだという意識付けも常々行う必要がある