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
段階的なリプレイスを2年続けていたら、 ユーザーのことで悩めるようになっていた話 / Two ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
コドモン開発チーム
March 12, 2026
0
53
段階的なリプレイスを2年続けていたら、 ユーザーのことで悩めるようになっていた話 / Two Years of Incremental Replacement: How We Finally Started Thinking About Our Users
コドモン開発チーム
March 12, 2026
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
自動テストが巻き起こした開発プロセス・チームの変化 / Impact of Automated Testing on Development Cycles and Team Dynamics
codmoninc
3
1.3k
データエンジニアの副業メンバーを受け入れてよかったこと / good points of hiring side job data engineers
codmoninc
0
34
なぜ秘密の比較に 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
82
「Reactを使って良かったこと」 を考えていく中で気づいたこと / insights-from-reflecting-on-react
codmoninc
0
100
レガシー共有バッチ基盤への挑戦 SREドリブンなリアーキテクチャリングの取り組み / Tackling the Legacy Shared Batch Infrastructure: An SRE-Driven Re-architecting Initiative
codmoninc
0
890
テスト自動化を進める上でのマインドセットとしての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
150
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
140
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
530
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
The Limits of Empathy - UXLibs8
cassininazir
1
250
Testing 201, or: Great Expectations
jmmastey
46
8.1k
RailsConf 2023
tenderlove
30
1.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
120
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Transcript
段階的なリプレイスを2年続けていたら、 ユーザーのことで悩めるようになっていた 話
自己紹介
3 名前:ディミトロフ チャブダール 所属:エンジニア・写真販売機能 国籍:ブルガリア 在留資格満了日まであと:1ヶ月 自己紹介
サービス紹介
すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。 5
None
None
None
テーマ
10 • 直近のリリースの事例から、2年のリプレイス活動で何が変わったかを振 り返ってみる 今日のお話
リプレイスの振り返り
段階的なリプレイスを数年続けた結果、
1番変わったのはコードベースではなく、 何に悩むかだった
14 • リプレイスの戦略 • エンジニアリングで悩める二種類の課題 • 結局 what is 技術負債
• 直近のリリースで振り返り 今日のお話
〜2年リプレイス戦略のおまとめ
None
None
None
*イメージ
集約単位でリプレイス
集約のおさらい
*イメージ
*イメージ 価格設定
*イメージ 価格設定 カート 注文
*イメージ 価格設定 カート 写真 注文
エンジニアリングで悩める二種類の課題
コアドメイン
軽い復習 https://lazebny.io/domain-driven-design-core-supporting-generic-subdomains/
軽い復習 複雑かつ優位性に関わる =コア https://lazebny.io/domain-driven-design-core-supporting-generic-subdomains/
軽い復習 複雑な割には競合優位 性あまり影響ない =非コア https://lazebny.io/domain-driven-design-core-supporting-generic-subdomains/
僕らのコアドメイン
コアに近い
コアに近い コドモンさん、保護者全 員にアンケート送れるよ うになったみたいよ あら、コドモン以外に乗り 換えは考えられないわね
コアに近い
あ、日々の連絡帳写真が買 えるようになってる! かわいい、買っちゃお❤ コアに近い
非コアドメイン
コアから遠い開発?
コアから遠い開発? コドモンさん、価格設定 を全箇所Repositoryから 参照するようリファクタ したらしいわよ
コアから遠い開発? コドモンさん、価格設定 を全箇所Repositoryから 参照するようリファクタ したらしいわよ あら、コドモン以外に乗り 換えは考えられないわね
Coreから遠い開発?
Coreから遠い開発? コドモンさん、リスクを考 慮して共通コンポーネント には手を出さず、新しく実 装することにしたのでね。 もう少し写真買っちゃおう かしら❤
42 • コア・非コアどっちも難しいことがあるが、 ビジネス価値を生むのはコアだけ コア・非コア
what is 技術負債
44 • 技術負債って、 ◦ スパゲティコート ◦ 人類の歴史より長い神スクリプト ◦ なんでも搭載できるDBテーブル ◦
あ、これ自作なんですね ◦ メンテされてなさそうだけど、どうにか動いているライブラリ ◦ これって、hogeを数人でやったらDDoS出来ちゃうってことですかね What is 技術負債
ではなく
46 • 技術負債って、 ◦ エンジニアリングをユーザーの課題ではなく システムを守ることに時間を使うほうがい多い状態 What is 技術負債
47 • リプレイスをしていて一番変わったことは リプレイスを進めて変わったこと
48 • リプレイスをしていて一番変わったことは、 ◦ ユーザー課題にフォーカスできるようになったことだった リプレイスを進めて変わったこと
技術負債 is 非コアの課題で頭を抱える回数 >コアの課題で頭を抱える回数の状態
変更に想定外な副 作用ないかな。。 膨大なテーブル DDL発行で障害お こきないかな どうやってテスタ ブルにしていくと いいんだ
51 ユーザーの課題よりシステムを壊さないことに時間を多く使用 リプレイス前
どうしたら写真の 公開期限にもっと 気づいてもらえる のか どうすればコドモ ンに乗り換えてく れるのか まだ購入したこと のない保護者に対 してキャンペーン
などで、、
53 システムを安全性→ユーザー課題に時間を多く使用 リプレイス後
直近のリリースでみるbefore after
*イメージ 価格設定 カート 写真 注文
連絡帳写真アルバム
連絡帳写真
連絡帳写真 • before ◦ システム都合の議論 ▪ 連絡帳の写真をどう表示してあげる? ▪ 表示はできたとして、どうやってカート、注文とインテグレーション させる?
▪ 10箇所ぐらいif文書く。。?リファクタしてからする?どの程度リ ファクタする? ▪ 仮に10箇所if文書いたとしたら負債の増加許容できる。。?
連絡帳写真 • after ◦ 集まってきた集約等をコラボさせるだけ 価格設定 カート 写真 注文
連絡帳写真 • after ◦ コアドメインに集中 ▪ 連絡帳写真はどう表示する?アルバムとして表示する、月単位? ▪ 表示期間どうする? ▪
公開は月単位で一気にする、それとも都度公開する?
カート内調整
カート内調整
• before ◦ システム都合の議論 ▪ 写真の種類が一緒にカートで追加される前提になっている、カート追 加の際は種類なしにした場合は影響範囲はどこ ▪ カートの内容を更新するにはこの箇所だけで成立するのか、想定外の 副作用はないのか、どうテストする?
▪ このスクリプトにこうすればいけれるとして、負債がどれほど増え る、許容できる?リファクタする? カート内調整
• after ◦ コアドメインに集中 ▪ カート集約を変更するだけ ▪ どういう調整ができるといい? カート内調整 カート
キャンペーン (coming soon?)
coming soon? キャンペーン
• before ◦ システム都合の議論 ▪ 神クラス、神スクリプトのコラボ、どこをどうすれば実現するか取り 替えず調査から。。 ▪ 。。Aキャンペーンならできそうです、Bは結構難しいです キャンペーン
• after ◦ コアドメインに集中 ▪ カート・注文集約を変更 キャンペーン カート 注文
• after ◦ コアドメインに集中 ▪ どういうキャンペーンがしたい? 配送料無料?初回限定?割引?最低購入額?カモンカモンカモン キャンペーン
70 • 負債は、非コア課題に時間を費やさなければいけない状況 • リプレイスを続けたら ◦ どうシステムを壊さずに済むか→どうユーザー課題を解決するか に向き合う時間が増えた🎉 まとめ
71 • リプレイス後のポジティブな話にフォーカしましたがたくさんつまづきが あったり、新しい課題も😇 まとめ
ご清聴ありがとうございます