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
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
段階的なリプレイスを2年続けていたら、 ユーザーのことで悩めるようになっていた話 / Two Years of Incremental Replacement: How We Finally Started Thinking About Our Users
コドモン開発チーム
March 12, 2026
More Decks by コドモン開発チーム
See All by コドモン開発チーム
アラート疲れからの脱却 - リソースタグで仕分けるSlack通知戦略 / Breaking Free from Alert Fatigue – A Slack Notification Strategy Using Resource Tags for Routing
codmoninc
0
31
SREに優しいTerraform構成 modulesとstateの組み方 / terraform-modules-state-for-sre
codmoninc
0
350
モノリスなプロダクトの「ほどよい」リプレイス戦略 / A "Just Right" Replacement Strategy for Monolithic Products
codmoninc
0
130
Don't Just Patch — MOTTAINAI! Learn Security from Laravel CVE Diffs
codmoninc
0
240
ソースコードで比較する React / Vue / Svelte の セキュリティ設計思想 / security design philosophy react vue svelte
codmoninc
5
640
少人数SREチームが、長寿なシステムを構築・運用するための取り組み / Efforts by a Small SRE Team to Build and Operate Long-Lived Systems
codmoninc
0
340
フルリモートのその先へ〜パパね、いつも家にいるけどちゃんとこうして働いてるよ〜 / Beyond Full Remote
codmoninc
0
650
多様な働き方を支えるチーム開発カルチャーと 今後の展望 / Team Development Culture Supporting Diverse Workstyles and Future Outlook
codmoninc
0
550
ペアプロ未経験・未知のスキル領域・フルリモートからでも挑戦できる? 40代転職者の実態 / pair-programming-remote-career-change
codmoninc
0
570
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Six Lessons from altMBA
skipperchong
29
4.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Making the Leap to Tech Lead
cromwellryan
135
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Producing Creativity
orderedlist
PRO
348
40k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
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 • リプレイス後のポジティブな話にフォーカしましたがたくさんつまづきが あったり、新しい課題も😇 まとめ
ご清聴ありがとうございます