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
事業成長を後押しする ほどよいリプレイスの進め方 / Th Way to Replace fo...
Search
コドモン開発チーム
September 30, 2025
0
86
事業成長を後押しする ほどよいリプレイスの進め方 / Th Way to Replace for Business Growth
コドモン開発チーム
September 30, 2025
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
自動テストが巻き起こした開発プロセス・チームの変化 / Impact of Automated Testing on Development Cycles and Team Dynamics
codmoninc
3
1.2k
データエンジニアの副業メンバーを受け入れてよかったこと / good points of hiring side job data engineers
codmoninc
0
31
なぜ秘密の比較に hash_equals を使うのか ー内部実装と実践ガイド / why use hash equals for secret comparison internals and practical guide
codmoninc
1
540
「全部書き直す」をしない選択 ー 巨大SPAと同居しながら小さく始めるフレームワーク移行 ー / We Chose Incremental Refactoring Over a Complete Rewrite
codmoninc
0
80
「Reactを使って良かったこと」 を考えていく中で気づいたこと / insights-from-reflecting-on-react
codmoninc
0
100
レガシー共有バッチ基盤への挑戦 SREドリブンなリアーキテクチャリングの取り組み / Tackling the Legacy Shared Batch Infrastructure: An SRE-Driven Re-architecting Initiative
codmoninc
0
870
テスト自動化を進める上でのマインドセットとしてのXP(エクストリーム・プログラミング) / xp-mindset-for-test-automation
codmoninc
0
1.7k
語られた戦略を 語れる戦略へー共通言語を作るPdMの試み / making-strategy-shareable
codmoninc
8
7.1k
コンテナイメージ脆弱性検知の実践事例 ~ 基礎から応用まで ~ / practical-case-studies-in-container-image-vulnerability-detection
codmoninc
1
140
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Test your architecture with Archunit
thirion
1
2.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
A Tale of Four Properties
chriscoyier
163
24k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Technical Leadership for Architectural Decision Making
baasie
3
280
First, design no harm
axbom
PRO
2
1.1k
Transcript
事業成長を後押しする ほどよいリプレイスの進め方
2 名前:ディミトロフ チャブダール 所属:エンジニア・写真販売機能 国籍:ブルガリア 在留資格満了日まであと:7ヶ月 自己紹介
テーマ
4 • リプレイスはどう手をつけていくといいのか • リプレイスのROIをあげたい • リプレイスのコストを下げたい 課題
サービス紹介
すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。 6
7
None
None
None
リプレイスの背景
*イメージ
*イメージ • グロースのポテンシャルが高い • 機能改修、拡張をどんどんしたい
*イメージ
。。どれぐらいかかるの • 写真販売にまつわる全体にリプレイスの規模間 ◦ 〜1年あればいける、かも、どうだろう
1年か。。。そもそもリプレイスで やりたいことはなんだっけ
17 • システムの改善に投資をして、将来的に提供できるバリューを向上させる リプレイスの意義 https://vibratingmelon.com/2011/06/10/why-you-should-almost-never-rewrite-code-a-graphical-guide/
18 • システムの改善に投資をして、将来的に提供できるバリューを向上させる リプレイスの意義 https://vibratingmelon.com/2011/06/10/why-you-should-almost-never-rewrite-code-a-graphical-guide/ ROI
19 • システムの改善に投資をして、将来的に提供できるバリューを向上させる リプレイスの意義 https://vibratingmelon.com/2011/06/10/why-you-should-almost-never-rewrite-code-a-graphical-guide/ ROI COST
ROIを高める • 今度のプロダクト戦略と紐づいている箇所にフォーカスしたい ◦ リプレイスした上で機能拡張をすればするほどリプレイスのROIは高いと言える ◦ 逆にリプレイスしても機能拡張など行わないとリプレイスのROIは低いと言える COSTを下げる • リプレイスのスコープを小さくすることでコストを削減できる(かも)
写真販売でとっているアプローチ • ROIを高める ◦ 中長期で何がしたいのかをシステムと紐付ける • コストを減らす ◦ 「集約」単位でリプレイスを行う
0.共通のモデルを作成
23 イベントストーミング
24 • いろいろな職種のメンバーが集まり、10名程度で実施! ◦ プロダクトマネージャー ◦ UI/UXエンジニア ◦ エンジニア ◦
ビジネスサイドメンバー 参加メンバー
25 イベントストーミング 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元
1.ROIの最大化 プロダクト戦略とリプレイス対象を紐付ける
27 • 中長期のプロダクトでやりたいことを洗い出す *提供したい機能一覧イメージ 今後やりたい施策を洗い出す
28 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元
29 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元 エンジニアで施策とドメインを紐付けする
30 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元 エンジニアで施策とドメインを紐付けする
31 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元 🔥🔥🔥 収集したい集約が可視化される
2.コストの最小化 リプレイスは「集約」単位で行う
33 • リプレイスのスコープを小さくするために、「集約」単位 ◦ 集約はドメイン制約を担保してくれる単位 (なるべく)「集約」単位でリプレイス
34 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元
35 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元 ここがROI高そうなのでリプレイスをしたい
36 施設の設定 写真の公開 写真の購入 写真の印刷 利益の還元 頑張ってここだけリプレイスする
• 1つのジャーニーが2つのシステムをまたいで実現 ◦ 旧システム:アルバムの作成写真のアップロード ◦ 新システム:アルバムの閲覧、カートの追加 ◦ 旧システム:写真の購入、印刷、利益還元 • ストラングラーフィグパターン
◦ 新旧システム同時稼働 ◦ 部分的に移行 • デメリットとして、分散システムになるため複雑性は確実に生まれま す! ◦ それを許容してもリプレイスのコストを小さくできるメリットは大きい 小さい単位でのリプレイス
• リプレイスが数ヶ月単位で部分的に完了されていく ◦ それでもしっかり難しい、、 • 完了した集約はすぐにしっかり恩恵を受けれる ◦ 前は難しかった施策がスピーディーかつ安全に実施可能 • 計画の調整が柔軟に
• 「施策ついでにリプレイス」みたいな動きができる ie「大型プロジェクト」じゃないことの様々なありがたみ 実体験 良かったこと
• 分散システムの複雑性が一定生まれる • 途中でリプレイスの方針が変わったら、分散モノリス的な状態になるリ スク 実体験 デメリット
まとめ
41 • リターンの高いリプレイスの範囲 を見つけるために、 今後やりたいことと関連する箇所 を紐付ける →そのやり方としてイベントストーミングが良かった! • コストを減らすため リプレイスのスコープを削減しよう
→そのやり方として「集約」という単位が良かった! まとめ
ご清聴ありがとうございました