Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
バクラク最古参プロダクトで重ねた技術投資を振り返る
Search
ypresto
March 17, 2026
Technology
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
バクラク最古参プロダクトで重ねた技術投資を振り返る
Retrospective Decision - LayerX Web Frontend Night
https://layerx.connpass.com/event/383492/
ypresto
March 17, 2026
More Decks by ypresto
See All by ypresto
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
3
1.3k
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
12
5.3k
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
1.3k
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
3k
Next.jsとNuxtが混在? iframeでなんとかする!
ypresto
3
4.6k
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
5k
Next.js のページ遷移を全力で止める
ypresto
15
13k
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
24
10k
アクセシビリティとE2Eテスト
ypresto
0
210
Other Decks in Technology
See All in Technology
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
4
610
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
750
スマートロックを支えるFlutter × ネイティブ連携の実践 / Flutter and Native Integration in Practice: Powering Smart Locks
bitkey
PRO
0
110
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
5
2.5k
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
440
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
690
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
520
LLMの知識とAIエージェント
happysamurai294
0
130
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
180
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
430
AIエージェントに 権限と鍵をどこまで渡すか
nrinetcom
PRO
2
160
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
710
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
460
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Building an army of robots
kneath
307
47k
Designing for Performance
lara
612
70k
Mind Mapping
helmedeiros
1
420
Rails Girls Zürich Keynote
gr2m
96
14k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Unsuck your backbone
ammeep
672
58k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
A designer walks into a library…
pauljervisheath
211
25k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
750
Transcript
バクラク最古参プロダクトで重ねた技術投資を振り返る 2026/03/17:Web Frontend Night — Retrospective Decision ypresto (@yuya_presto)
ypresto © LayerX Inc. LayerX バクラク事業部 (2024-01〜) プロダクト開発部 債権債務チーム Software
Engineer "フロントエンド" をよりよくしてます 2
© LayerX Inc. 3
フロントエンドVision © LayerX Inc. 4
「バクラク債務管理」= バクラクシリーズ最古参のプロダクト © LayerX Inc. 5
債務管理というプロダクトの課題 © LayerX Inc. 開発の結果としての重複 請求書、経費精算、カード明細、売掛... × 会計ソフトに合わせた仕訳のレイアウト × 仕訳の様々な条件分岐
= 多数の微妙に異なる実装 実装コストとエンバグの増大 型の不整合、テスト不足、不必要な手続き的操作 6
What we did © LayerX Inc. 7
UIテストの導入 © LayerX Inc. Why: FE起因のクリティカルなエンバグを減らしたい Decision: Playwrightによる UIテスト を導入し、"ハッピーパス"
を網羅する How QAチームの基盤の再利用 (Page Object等) チームへのPlaywrightのハンズオン QAメンバーが用意したテストケースの仕分けと実装 8
UIテストやってどうだったか 反省 © LayerX Inc. Outcome: シフトレフトの達成 テストの実装コスト (B.C.: Before
Claude) QA用repoと実装repoの独立による弊害 CIの独立、テストコードに対する要件の違い 根付かせるためには組織や文化まで巻き込む 9
仕訳ドメインの抽出 © LayerX Inc. Why: 重複実装によるコストを減らしたい 財務・会計ドメインのルールは本質的に堅い (仕訳というデータ構造、補完ロジック、UI) 請求書、経費精算、カード明細、売掛、あらゆるお金の出入りは 仕訳
という表現に落ちる Decision: リプレイスまで持ち越さず、データ構造とドメインロジックの整理から着手 How 仕訳に関わるデータ構造・ドメインロジック・UI部品の抽出と単体テスト Storybookの導入によるデザインのパターン網羅 数1000行あるコンポーネントの分解 10
https://speakerdeck.com/ypresto/living-with-state © LayerX Inc. 11
仕訳ドメインの抽出やってどうだったか 反省 © LayerX Inc. Outcome: 仕訳部分の拡張コストの削減、他チームでの開発コスト削減 抽象化は「いつ」やるのかはとても難しい 早すぎても遅すぎてもダメ 未来が完全に読めるなら先にできる
本質的に同一にしたいもの、同一の構造であるものは、 それでも見極めておいた方が良い 12
Agentic 式年遷宮 © LayerX Inc. Decision: Coding Agentを使って、Vue->Reactへのリプレイスを行う Why 1:
de facto、基盤から外れることによるコスト 社内コンポーネントライブラリ、テスト基盤、ライブラリ更新、といった基盤投資 レガシーコードのコピペ増幅による品質の低下 Why 2: プロダクトの理想にブレーキを掛けない 「投資されないことによるコスト」は、変更を続ける限り発生 13
Agentic 式年遷宮 How © LayerX Inc. 開発の停止をせず、Vue→Reactへ追加の変更も自動変換する Skill化して、チーム内外へ横展開 チームメンバーへ意思表示、 外堀を埋めて
PdMにお願いしてロードマップに載せていただいた 14
Agentic 式年遷宮やってどうだったか 反省 © LayerX Inc. Outcome: Coding Agentによるリプレイスの実証、Skill化による横展開 パイロットテスト時点で見積もった期間よりも延長
Coding Agent "完璧" よりも 80点が得意 デザインやタイミングといった、FEに関わることがらが苦手 品質保証の方法が難しい Agent-eraのテストとQAのあり方は、まだ議論中 不確実だからこそ、早めに巻き込む UI is dead? 「未知の未知」なこともある 15
道のりの振り返り © LayerX Inc. UIテストの導入 → リファクタリング対象の外側へのテスト追加 仕訳ドメインの抽出 → 移行コストの削減
Agentic 式年遷宮 → プロダクトの理想が技術負債でNo Goにならないように すべての技術的な意思決定は途中経過 React移行は見据えていたが、それも オプション の1つ 16
技術的な意思決定 #とは 未来に向けたソフトウェアのデザイン © LayerX Inc. 17
技術的な意思決定 #とは © LayerX Inc. ビジネスの不確実性 x 技術上の制約・トレードオフ の管理 例:今、木を切るか、斧を研ぐか
"Tidy First?" by Kent Beck 将来のオプション (開発の選択肢) を増やすならばTidyする 攻めるときは意志を持って説得を いつ、なぜ、攻めるか 18
要はバランス © LayerX Inc. 19
技術的な意思決定、課題解決はなくならない © LayerX Inc. 大きめのリファクタリングの判断などの意思決定は人間 Coding Agent-eraでもバランスの判断は人間 軸を持って判断していこう プロダクトの技術的な意思決定は、すべて繋がっている 20
すべての技術的な意思決定は途中経過。 判断基準を持ち、積み重ねよう。 © LayerX Inc. 21