Slide 1

Slide 1 text

『HOW はWHY WHAT で判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜 北尾英之 (@kitaohx) 2025.11.14

Slide 2

Slide 2 text

『ドメイン駆動設計をはじめよう』 読みましたか? Vlad Khononov  著 増田 亨、綿引 琢磨 訳 https://www.oreilly.co.jp/books/9784814400737/

Slide 3

Slide 3 text

本書の冒頭は引用で始まります 課題の合意なしに解決方針の話をしても 無意味である。 解決方針の合意なしに実現手段の話をしても 無意味である。 エフラット・ゴールドラット・アシュラグ

Slide 4

Slide 4 text

この引用は本書の結びでも、再び引用されます。  そして、Khononov 氏はこう続けます。 『この言葉こそ、この本で探求してきた ドメイン駆動設計の本質です。 』

Slide 5

Slide 5 text

???

Slide 6

Slide 6 text

私はドメイン駆動設計の   「設計手法」を学んでいたのでは?

Slide 7

Slide 7 text

Khononov 氏の言うドメイン駆動設計の本質とは何か

Slide 8

Slide 8 text

本題に入ります これは、この本をきっかけに私が気づいた 「ある重要な問題」と、 その「解決策」についての話です。

Slide 9

Slide 9 text

私が感じていた『疑問』

Slide 10

Slide 10 text

システム開発の現場で、こんな経験ありませんか?

Slide 11

Slide 11 text

その新技術(HOW ) 、本当に必要ですか? 目的(WHAT )が曖昧なまま、手段(HOW )だけが  決まっていく会議 『なぜ(WHY )やるのか』が共有されず、  ひたすらタスクをこなす

Slide 12

Slide 12 text

私は違和感を抱えてつつも、ソフトウエア開発を続けま した しかし、次のような疑問は抱えたままでした

Slide 13

Slide 13 text

なぜ、 『HOW (どうやるか) 』の話ばかり  してしまうのか? なぜ、 『WHY (なぜやるか) 』や   『WHAT (何をやるか) 』の話をできないのか?

Slide 14

Slide 14 text

『HOW の罠』

Slide 15

Slide 15 text

説明のため、この現象を『HOW の罠』と呼びます。

Slide 16

Slide 16 text

『Khononov 氏の言うドメイン駆動設計の本質』が、 この『罠』からの抜け出し方を教えてくれました。

Slide 17

Slide 17 text

WHY WHAT HOW

Slide 18

Slide 18 text

WHY (なぜやるのか? / 課題・目的) WHAT (何をやるのか? / ゴール・要求) HOW (どうやるのか? / 手段・技術)

Slide 19

Slide 19 text

これが、 『HOW の罠』から抜け出すための  思考のフレームワークです

Slide 20

Slide 20 text

冒頭の引用に、説明のため補足を追記します 課題(WHY) の合意なしに解決方針(WHAT) の話を しても無意味である。 解決方針(WHAT) の合意なしに実現手段(HOW) の話を しても無意味である。 課題=WHY 解決方針=WHAT 実現手段=HOW

Slide 21

Slide 21 text

今回の文脈(ドメイン駆動設計)における対応づけ WHY ( なぜやるか?) = 課題 ビジネス上、あるいはユーザーが解決したい根本的な 問題。 WHAT ( 何をやるのか?) = 解決方針 / ドメイン 課題を解決するためのアプローチ。 課題解決のために知るべきこと、表現すべきこと。 HOW ( どうやるのか?) = 実現手段 ドメインをコードに落とし込むための技術、設計、実 装。

Slide 22

Slide 22 text

順序が重要です。 課題(WHY) が解決方針(WHAT) を決め、 解決方針(WHAT) が実現手段(HOW) を決める。 この一方向の流れこそが本質です

Slide 23

Slide 23 text

『HOW の罠』は、この流れが逆流している状態です。 実現手段(HOW) が解決方針(WHAT) を決め、 課題(WHY) が無視される状態です

Slide 24

Slide 24 text

『Khononov 氏の言うドメイン駆動設計の本質』が教え てくれたのは、まさにこの順序でした

Slide 25

Slide 25 text

本質に沿った順序 WHY (課題): ユーザーが解決したい「課題」は何 か? WHAT (ドメイン): その課題を解決するために「知 るべきこと(=ドメイン) 」は何か? HOW (実装): そのドメインを、どう「コード(=設 計) 」に落とし込むか?

Slide 26

Slide 26 text

得られた教訓・原則 「HOW (実装) 」から入るのではなく まず「WHY (課題) 」と「WHAT (ドメイン) 」を 探求し、合意すること。

Slide 27

Slide 27 text

「本質を問う」ための道具

Slide 28

Slide 28 text

では、この『順序』を どのように使えばいいのでしょうか

Slide 29

Slide 29 text

その方法はシンプルです。 『HOW の答えを知る専門家』ではなく、 『WHY から動く人』になることです

Slide 30

Slide 30 text

1. 「 『HOW 』を聞いたら、 『WHAT 』を問う」 例: 「その技術(HOW )は、私たちが合意したゴール (WHAT )になぜ最適なのですか?」 )

Slide 31

Slide 31 text

2. 「 『WHAT 』を聞いたら、 『WHY 』を問う」 例: 「そのゴール(WHAT )は、そもそも我々の課題 (WHY )を解決しますか?」

Slide 32

Slide 32 text

このシンプルな『問い』が、 『HOW の罠』から抜け出し 『無意味な議論』を『本質的な議論』に変える 出発点です。

Slide 33

Slide 33 text

『問い』を始めましょう。 WHY とWHAT の合意から これが『ドメイン駆動設計をはじめよう』が私に示して くれた、スタートラインです