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
20230824_機能開発を止めずに進めるリプレイス戦略
Search
Tatsuya Watanabe
August 22, 2023
Technology
0
230
20230824_機能開発を止めずに進めるリプレイス戦略
2023年8月24日での登壇資料
Tatsuya Watanabe
August 22, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
コールドスタンバイ構成でCDは可能か
hiramax
0
130
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
130
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
680
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
150
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
Oracle Cloud Infrastructure:2025年12月度サービス・アップデート
oracle4engineer
PRO
0
200
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
AIと融ける人間の冒険
pujisi
0
110
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
AI: The stuff that nobody shows you
jnunemaker
PRO
1
160
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
140
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
130
Designing Experiences People Love
moore
143
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
390
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
4
35k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
100
Leo the Paperboy
mayatellez
1
1.3k
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
Transcript
2023/08/24 株式会社Medii 渡辺 達哉 機能開発を止めずに進めるリプレイス戦略
2 アジェンダ 自己紹介 Mediiの紹介 リプレイス戦略
3 自己紹介 渡辺 達哉 @watta_medii • 株式会社Medii VPoE • C++,
C#, Go(バックエンド中心) • 2013年新卒からほぼ医療関連のエンジ ニア
4 アジェンダ 自己紹介 Mediiの紹介 リプレイス戦略
5 5%
6
7 希少疾患を学ぶ機会は一般の疾患に比べて著しく少なく、診断や治療の経験を積むにも限界がある。 取り組む社会課題とサービス概要 希少疾患の診療に従事する医師の実状 希少疾患は 医師でも 診断・治療が 難しい 診療頻度が少ないため 経験の蓄積が困難
2 医学部・卒後における 教育機会が限定的 1 新薬開発が急増 処方経験も限定的 3 専門医の ネットワークに より解決する
8 取り組む社会課題とサービス概要 (参考) これまでの相談方法との差異 難渋症例に出くわした場合… これまで(As-Is) 人づて等で専門医へのコンタクトを辿り 個別症例について相談 Mediiの取組(To-Be) E-コンサル上で専門医を探し
個別症例について相談 知り合いの MRさんから 知り合いの 医師から 講演会で 出会って 主治医 専門医 主治医 全ての診療科の専門医 ワンストップで完結 たまたま 居れば 機会減
9 診療の補助的な位置付けとして、質問医と専門医(回答医)の症例相談をチャット形式で提供。 取り組む社会課題とサービス概要 E-コンサルの利用イメージ
10 取り組む社会課題とサービス概要 実際のコンサルイメージ 主治医 ◯◯疾患の患者さんについて、 ステロイドは 効果が無ければ減量・中止 が望ましいと考えていま すが免疫抑制剤などの治療選択 に
関し、専門医の先生のご意見を伺いたいです。 専門医 頂いた患者さんの情報を拝見するに、有効性が出つ つある◯◯(薬剤)の導入が望ましい と考えます。ステ ロイドは早期に減量ないしは 中止すべきです。 主治医 ありがとうございます。 ステロイドは減量・中止 の方向 で進めたいと思います。難病申請をした上で、 ◯◯ (薬剤)導入を進めていきます 。
11 ‘20年のサービス開始以降、登録者及びコンサル数は継続的に増加傾向。 取り組む社会課題とサービス概要 E-コンサル登録医師数の状況 2020年 2021年 2022年 2023年 ※ 2023年3月は、28日までの数値で表示。累計医師会員数とコンサル数は別スケールで同一グラフ中に表示しています 会員数(累計)
コンサル数/月 E-コンサル医師登録者数累計
12 その他 インフラ モバイル フロントエンド 技術スタック バックエンド
13 アジェンダ 自己紹介 Mediiの紹介 リプレイス戦略
14 一人のエンジニアが全ての開発を行い、とにかく動くものを早く出すことを重視していたため、保守性はほとん ど考慮されていなかった リプレイス戦略 リプレイスに至った背景 創業期 グロース期 このまま行くと… 開発速度 エンジニア一人体制
とにかく動くものを最短で エンジニアが入れ替わり 2人体制になり、リファクタリング もするが焼け石に水 エンジニアを増やしても開発速 度は上がらない 保守コストばかりかかる 技術負債 エンジニア内部では、今このタイミングで手を打たないと手遅れになるという危機感
15 技術顧問を招致し、課題の言語化、クリティカルなポイントについて整理した リプレイス戦略~意思決定~ 開発組織内による課題の洗い出し コード 品質 DB 技術選定 ✔ C#エンジニアの確保が難しく、開発組織を拡大しにくい
✔ Vue 2であり、古いかつ、サポート切れ間近 ✔ TypeScriptでない ✔ テストが書かれていない ✔ 肥大化、重複したコード ✔ 多くの仮説検証で残った複雑な条件分岐、不要なコードの残存 ✔ リレーションがほとんど張られていない (RDB使ってます) ✔ 重複したカラム、使われていないカラムがある ✔ ローカルルールの値 課題の一例
16 今後の開発速度の低下と、エンジニア組織の拡大を中心に説明 リプレイス戦略~意志決定~ ビジネス側との調整 NGパターン 当然、技術的な問題をベースに話しても 伝わらない OK(話を聞いてくれる)パターン ビジネスや組織にとって、今後どのような問 題があるかをベースにする
それはそっちの都合だよね 頑張ってなんとかしてよ 今後の事業拡大においてそれは問題だ 議論して方針を決めよう こんなに技術的な負債が溜まっています 開発がめっちゃ大変なんです 技術的にマッチするエンジニアが少ない このままだと、開発組織もスケールしない
17 なるべく機能開発は止めたくないし、ビッグバンは避けたい リプレイス戦略~実施~ 大前提 なるべく機能開発は止めない ビッグバンリリースは避けたい ビジネス側に寄り添うこと ビジネス側の理解も得られない スタートアップでやりたいことがたくさんあるのに、 開発を止めてられない
当初想定では1年近くかかる見込み その間の追いかけ開発や、いざリリースしたときに問題が あったときに対応が困難 ビジネス側の理解が無いと絶対に進めることができない
18 段階的リリースができるようインフラを整え、必要なものを適切なタイミングでリプレイス リプレイス戦略~実施~ 段階的なリリース バックエンド(API) フロントエンド ELB CloudFront 振る舞いは変えないようにし、各リプレイスが独立して行えるようにした パスベースルーティングにより、新旧環境が共存できる環境を構築
これにより、API単位、ページ単位でのリプレイスを可能とした
19 PMとロードマップをすり合わせ、逆算してリプレイスの優先度を決定 リプレイス戦略~実施~ ロードマップからの逆算 ロードマップから逆算 A機能関連 リプレイス A機能開発 C機能開発 B機能開発
B機能関連 リプレイス C機能関連 リプレイス • ロードマップにある機能改修については先んじてリプレイスを進める計画を立て る • 当然、小さい機能改修やバグ修正もあるので全てではないが、おおよその優先 順位を決める
20 段階的リリースにすることで、ビジネス側への影響を最小にしながら進められたことは良かった リプレイス戦略 現時点での振り返り 段階的リリースにしたこと 最初にやること、やらないことを明確 にしたこと 1つずつリプレイスできるため、追いかけ開発を 最小限に抑えられた 機能開発をほとんど止めずにリプレイスできた
良い意味で諦めポイントを明確にすることで、 リプレイス期間を最小限に抑えた Good Bad テストファーストで進められなかった こと 初期実装は終わっているが、テストが書けておらず、 リプレイスできていないものが多い
21 まずは年内に100%リプレイス。その後は20%の時間を技術負債への対応として使う 今後の展望 2023年中の目標とその後 • 現在のリプレイス進捗率としては50%くらいなので、まずは100%やりきる • DBを正規化し、ちゃんとRDBにする • APIの責務が大きすぎるので、再設計したい
(恥ずかしながらGETメソッドで、DB更新があるAPIがあったりします) • モバイルアプリも結構負債が… • エンジニア組織の拡大と開発速度の向上 • 品質管理の組織化 • 新たなるサービス開発へ
22 Wantedlyか、渡辺のTwitterにDMいただければ、必ず対応します We’re hiring! カジュアル面談しましょう! Wantedly 渡辺Twitter
23 「誰も取り残さない医療を」