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
nacal
September 24, 2025
Technology
27
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新規プロダクトにおけるシステムマイグレーションの判断
nacal
September 24, 2025
More Decks by nacal
See All by nacal
Server-Driven UIで frontendの複雑性に立ち向かう
nacal
0
670
Linterからはじめるa11y
nacal
2
3.1k
Other Decks in Technology
See All in Technology
新しいVibe Codingと”自走”について
watany
6
320
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
170
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
1
270
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
Chainlitで作るお手軽チャットUI
ynt0485
0
240
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
1k
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.8k
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
170
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
230
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
660
Snowflakeと仲良くなる第一歩
coco_se
4
470
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
120
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
250
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
The Pragmatic Product Professional
lauravandoore
37
7.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Amusing Abliteration
ianozsvald
1
200
Transcript
1 新規プロダクトにおける システムマイグレーションの判断 nacal GMOペパボ ロリポップ‧ムームードメイン事業部 for Gamersチーム 2025.09.24 10年以上続くプロダクトの苦労と知恵
〜運⽤と技術の本⾳、3社がぶっちゃけます〜
2 ⾃⼰紹介 GMOペパボ ロリポップ‧ムームードメイン事業部 for Gamersチーム 2022年 新卒⼊社 nacal •
Webアプリケーションエンジニア • フロントエンドが好き • 東京からきました • X: @_nacal
None
ロリポップ!for Gamesについて 4 パルワールドのマルチプレイサーバー需要 Webホスティングサービス運⽤のノウハウ 実質13営業⽇でのリリース サービス⽴ち上げの歴史 2024/1/19 パルワールドリリース 2024/2/9
プロジェクト発⾜ 2024/2/29 無料モニター提供開始
ロリポップ!for Gamesについて 5 最速リリースのためのMVP開発 → 機能拡張の際のシステムの構造上の課題が顕著化 我々はこれを、「技術的負債」と呼ぶ 既存のシステム設計のまま機能を拡張していくことは負債を肥⼤化する 1. 我慢してどうにか既存設計に対して機能拡張していく
2. 機能拡張を⽌めて時間を確保してシステムマイグレーションをする 新規プロダクトにおいては機能追加も⼤切なフェーズ サービス安定期の課題
6 技術的負債 𝐓𝐃(𝐒, 𝐞) = 𝙢𝙖𝙭{ 𝐂𝐂(𝐒, 𝐞) - 𝐂𝐂(𝐒’,
𝐞) | 𝐒’ ∈ 𝑺𝒚𝒔(𝐒) } クラウス‧シュミットによる数学的定義 𝐒 システム 𝐞 システムへの変更 𝐂𝐂(𝐒, 𝐞) システムの変更コスト 𝑺𝒚𝒔(𝐒) Sと同⼀機能の別システムの集合 K. Schmid. Technical Debt --- From Metaphor to Engineering Guidance: A Novel Approach based on Cost Estimation. Technical Report 1/2013, SSE 1/13/E, University of Hildesheim, SSE, 2013. (エンジニアリング組織論への招待 第5章 引⽤) 技術的負債は、機能追加時の2つのシステムの⼯数(コスト)の差で表現できる
技術的負債 7 技術的負債の総量とシステムマイグレーションの⼯数を⽐較 クラウス‧シュミットによる数学的定義 追加したい機能:{𝐞₁,𝐞₂} 現在のシステムおける⼯数:𝐂𝐂(𝐒, 𝐞₁) + 𝐂𝐂(𝐒 +
𝐞₁, 𝐞₂) = 30 + 50 = 80⼈⽇ 理想的なシステムにおける⼯数:𝐂𝐂(𝐒’, 𝐞₁) + 𝐂𝐂(𝐒’ + 𝐞₁, 𝐞₂) = 20 + 35 = 55⼈⽇ 技術的負債の総量:80 - 55 = 25⼈⽇ 技術的負債の総量 > システムマイグレーションの⼯数 であれば合理的な判断と⾔える
技術的負債 8 機能拡張の不確実性:実現可能性に関わらず負債として加算される → やるかもしれない機能拡張がたくさんあるフェーズで 単純な総和と⽐較した場合にほとんどの場合で返済の⼯数の⽅が少なくなる “きっと使う"だろう"という予測で作られた機能は、実際には10%程度しか使われない” 再設計においても使われない機能への考慮による複雑性や⼯数が増幅する 新規プロダクトにおける観点
YAGNI原則
9 技術的負債 𝐓𝐃(𝐒, 𝐄) = ∑[𝐢=𝟏 𝐭𝐨 𝐧]𝐅(𝐞 𝐢 )
𝐓𝐃(𝐒, 𝐞 𝐢 ) クラウス‧シュミットによる数学的定義の拡張 𝐄 システムへの変更の集合 𝐅(𝐞 𝐢 ) 実現可能性 𝐓𝐃(𝐒, 𝐞 𝐢 ) 変更iに対する技術的負債の総量 機能拡張の不確実性を数式に落とし込む
技術的負債 10 - 不確実性の考慮を⼊れることで、「きっと使うだろう機能」の⼯数への影響を減らす - 𝐅(𝐞 𝐢 )を軸として、再設計も主に実現可能性の⾼い機能に対して実施する 数値的根拠 +
不確実性を考慮した合理的判断 ロリポップ!for Gamersでは結果的にシステムマイグレーションの優位性を⽰して実施 1. 実現可能性の⾼い3つの機能の現在のシステムにおける⼯数算出 2. それぞれに対する理想のシステムの考察 3. 理想のシステムにおける⼯数算出 4. 数式に当てはめて判断 クラウス‧シュミットによる数学的定義の拡張
まとめ - 技術的負債は、機能追加時の2つのシステムの⼯数(コスト)の差で表現できる - 機能追加の不確実性が⾼いプロダクトにおいては単純な総和では過剰になる - 不確実性を考慮することで実際の負債により近い値を出す - 数値的根拠 +
不確実性を考慮した合理的判断 - 再設計をする際も不確実性の⾼いものを考慮しすぎないようにする 11
12 Thank you!