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
290
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.2k
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
12
5.2k
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
1.3k
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
2.9k
Next.jsとNuxtが混在? iframeでなんとかする!
ypresto
3
4.5k
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
4.9k
Next.js のページ遷移を全力で止める
ypresto
15
13k
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
24
9.9k
アクセシビリティとE2Eテスト
ypresto
0
200
Other Decks in Technology
See All in Technology
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
350
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
160
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
860
Minecraft JavaのMODをSwiftで作る
1mash0
0
180
あるけみー式LTスライド作成術
alchemy1115
2
220
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
0
190
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.1k
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
670
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
190
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
150
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
430
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Bash Introduction
62gerente
615
220k
The agentic SEO stack - context over prompts
schlessera
0
940
The Curse of the Amulet
leimatthew05
3
15k
Designing Experiences People Love
moore
143
24k
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