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
DDDを始める前に ― 問題発見の技術(AI時におけるエンジニアの価値)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kei4eva4
November 20, 2025
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DDDを始める前に ― 問題発見の技術(AI時におけるエンジニアの価値)
ゆるテク なんかそれっぽい勉強会 2025.11
https://techplay.jp/event/987798
の発表資料です
kei4eva4
November 20, 2025
More Decks by kei4eva4
See All by kei4eva4
クラウドセキュリティの進化 — AWSの20年を振り返る
kei4eva4
0
230
AIコーディングだと何がいいのか考えた — AIコーディングの3ヶ月
kei4eva4
1
100
3時間でMVP、6時間でデプロイ — Claude Codeで作るインタビューRAGシステム
kei4eva4
0
70
WEB/スマートフォン アプリケーション開発 の業界と働き方
kei4eva4
0
350
【Supabase×React】サーバレスアプリ開発入門
kei4eva4
0
1k
Other Decks in Technology
See All in Technology
穢れた技術選定について
watany
19
6.2k
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
810
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
170
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
150
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
650
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
130
人とエージェントが高め合う協業設計
kintotechdev
0
850
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.6k
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
160
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
310
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
240
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Documentation Writing (for coders)
carmenintech
77
5.4k
Paper Plane (Part 1)
katiecoart
PRO
1
9.8k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Google's AI Overviews - The New Search
badams
0
1.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Odyssey Design
rkendrick25
PRO
2
730
The Cult of Friendly URLs
andyhume
79
7k
Prompt Engineering for Job Search
mfonobong
0
380
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
500
Transcript
DDDを始める前に ― 問題発見の技術 AI時におけるエンジニアの価値 ゆるテク なんかそれっぽい勉強会 2025.11 ソーイ株式会社/YOKUMIRU株式会社 新垣圭祐 1
自己紹介 新垣圭祐 (ソーイ株式会社 / YOKUMIRU株式会社) Web/モバイルアプリ開発エンジ ニア 大学院で自律分散コンピューテ ィングの研究 インドに渡り現地システム会社
にて勤務 帰国してフリーランスエンジニ ア → 会社設立 2
ソーイ株式会社(ソフトウェアパッケージと受託開発の会社) YOKUMIRU株式会社(オンライン医療相談サービスを提供する事業会社) 3
はじめに 「この1ヶ月で、実装したのに使われなかった機能はありますか?」 → その機能は「誰の・どんな問題」を解いていたでしょうか? 4
なぜ「問題発見」が重要なのか? コーディングや設計の自動化が進み、生成AIが高速に「答え」を出す時代 それでも失敗するプロダクトがあるのはなぜか → 間違った問題を高速に解いているだけ AIは「どう解くか」を加速するが、 「何を解くか」を教えてくれない 5
問題とは、望まれた事柄と 認識された事柄の間の相違 である 『ライト、ついてますか?』G.M.ワ インバーグ/D.G.ゴース 6
DDDを始める前に ― 問題発見の技術 DDDの設計パターンを学んでも、 「何を解くべきか」を間違えていたら、すべてが ズレる DDDの"前"に"問題発見"をしっかりとすることが大事 7
1. 問題発見とは何か 8
「問題解決」と「問題発見」の違い 問題解決:解決策を考える 反応的な行為 → 明確に定義された問題ならAIが得意 問題発見:解くべき対象を見極める 主体的な行為 → 人間が担う(AIには不可能) 9
「問題解決」を急過ぎると失敗する 例:バグをすぐに直そう! → バグ修正のために表面的なパッチをあてる → 根本的な設計はそのままなので、バグが発生しやすい状態が継続する 10
AIは「正しそうな答え」をくれる でも 問題定義がズレていたら? 根本原因が違っていたら? → 間違った問題 × 正しい解決 = ムダな努力(問題を誤ると、すべてがズレる)
AIは間違いを高速化する 11
「問題発見」が価値になる時代 良い問いは、良いプロダクトを生む。 問題発見のための3つの問い: 1. 誰の問題を解いていますか?(問題設定) 2. 何が起きないと理想ですか?(成功条件) 3. この解決が新しい問題を生んでいませんか?(副作用) 12
2. 『ライト、ついてますか?』 13
『ライト、ついてますか?』 G.M.ワインバーグ/D.G.ゴース 第1部 何が問題か? 第2部 問題は何なのか? 第3部 問題は本当のところ何か? 第4部 それは誰の問題か? 第5部 それはどこからきたか? 第6部 われわれはそれをほんとうに 解きたいか? 14
①問題とは、望まれた事柄と認識された事柄の間の相違である 問題は欲求を変えること、または認識を変えることによって解決できる 本当に解くべき問題の解を見つけるために、まず問題定義をしよう 問題を抱えている人は誰か? その人にとって問題の本質は何か? その人にとって問題の解決はどういうものか? 15
② クライアントが提示した解決案を、問題の定義と取り違えるな (実際の文章)解法を問題の定義と取り違えるな。ことにその解法が自分の解法 であるときには注意 問題の本質に目を向ければ、より良い本当の解が見つかるかも 他に解くべき本質的な問題があるかも(やり遂げる必要が無い場合もある) 16
③ 「彼らの問題」にしてしまう 例)トンネル前の標識でライト点灯を促す 複雑な指示: 4パターンすべてを指示する(昼間は消す、暗いときはつけ る...) シンプルな問いかけ: 「ライト、ついてますか?」 問題を「彼らの問題」にすることで、自発的に解決してもらう 17
3. システム開発現場での事例 18
「解決策」ではなく「不満の背景」を聞く 例:要件定義での失敗 ユーザー: 「ボタンを増やしてほしい」 → その通り実装したが、UIが混乱してしまう 本当の課題: 「目的の操作が見つけにくい」 19
AIからの過剰な提案 例:AIに出した最適化の指示 「システムの可用性を高めたい」 → AI提案:高可用性構成を推奨 → コストが跳ね上がる AIは与えられた情報に基づいて最適化するが、制約を明示しなければ過剰な提 案になる。 例「可用性を高めたい。ただし、夜間はアクセスが少ないため縮退運用可。コス
トは現状維持」 20
解決策を要件と勘違い ユーザー要望: 「ダッシュボードにグラフを追加して」 → そのまま実装 → 使われない 再定義: 1. なぜグラフが必要か?
→ データの傾向を把握したい 2. 誰が使うか? → マネージャー層 3. 何が見えれば良いか? → 「売上トレンド」と「異常値」 → 本当の課題: 「異常値を素早く検知する仕組み」 → 解決策:アラート機能 + 簡易グラフ 21
事例のまとめ:共通パターン すべての失敗に共通するのは... 1. 解決策を問題だと思い込んだ 2. 制約条件を明示しなかった 3. 誰の問題かを確認しなかった → 問題発見の3つの問いが重要
22
4. 問題発見からドメイン駆動設計へ 23
問題発見はAIでは代替できない AIは: 過去のパターンを模倣する 意図や文脈は理解できない 人間は: 目的を再定義できる コンテキストを読み取れる エンジニアの価値 → どんな問題を解くためのソフトウェアかを理解すること
24
『ドメイン駆動設計をはじ めよう』 ― ソフトウェアの実装と事業戦略を 結びつける実践技法 Vlad Khononov 著 第Ⅰ部 設計の基本方針 第Ⅱ部 実装方法の選択 第Ⅲ部 ドメイン駆動設計の実践
第Ⅳ部 他の方法論や設計技法との 関係 25
ドメイン駆動設計とは 価値のあるソフトウェアを開発するために、まず事業活動の目的を理解し、その 事業目的を達成するためにどのような業務活動が行われているかを分析し、その 分析結果を活かしてソフトウェアを設計する方法 → 問題発見で「何を解くか」を見極め、DDDで「どこに注力するか・どんな実装をす るか」を判断する 26
ドメイン駆動設計の考え方 他社との差別化を実現し競争優位を生み出す機能に焦点を合わせる 競争に関わらない部分はできる限り手を抜く 問題発見からDDDへ 1. 問題発見: 解くべき問題を特定する 2. DDD: その問題が中核・一般・補完のどこに属するかを判断し、その問題を解くた
めの実装方法を選択する 27
業務領域の差別化とロジックの複雑さで分類 28
ドメイン駆動設計 → 競争優位性に焦点を当てた実装方法の選択 中核の業務領域が事業を持続させる 他社とは異なる際立つ価値を提供するためには、業務ロジックは複雑になる 競争優位性を維持・発展させるために、業務ロジックの変更を繰り返す 29
5. まとめ エンジニアは「問題発見」で価値を生む 問題発見 × DDD = 価値あるソフトウェア 問題発見で「何を解くか」を見極める DDDで「どこに注力するか」を判断する
中核領域に注力し、競争優位を生む 良い問いが良い設計を生む 30