Open2
[勉強メモ]ドメイン知識との付き合い方

ドメイン知識の定義
ソフトウェアが対象とする領域で必要とされる業界特有の知識や専門性を「ドメイン知識」と呼ぶ。
業界ルール、業務プロセス、課題・ニーズ・トレンド、専門用語を含む広範なもの。
ドメイン知識を身につける方法
基本的なリサーチ
その業界の新入社員が読むような、業界に関する入門書を数冊読む。
専門家から学ぶ
- ビジネスサイドにいる業界に詳しい人に話を聞くのは効率的。
- ただ、受託会社では大体社内にそういう人がいない。いない場合には、業界のカンファレンスや展示会への参加によって学ぶことができる。
- 🦉ビジネスドメイン側のそういうのは行ってなかったな。検索してあったら行くか。
ソフトウェア開発プロジェクトの中で学ぶ
システムの利用者であるユーザーとのやりとりを通じて学んでいく。
可能なら現場現物を確認する。
リリース後のフィードバックを受けることもよい。
チームや組織で知識を共有する
チームとしての知識が深まる。
他人に伝えようとすることで、自らも知識を深めることができる。
参考文献
平田守幸:「ITエンジニアとドメイン知識の深い関係」 ,『Software Design 2025年4月号』,2025年,pp.18-24.

ドメイン知識に強いエンジニアになるための工夫(自社プロダクトの事例)
ユーザー向けのヘルプページを読む
ヘルプページを見ながら、可能なら手元の開発環境を操作してみて、HTTPリクエスト/レスポンスやデータベースを眺めてみるだけでもだいぶ理解が進む。
テーブルやモデルの関係性をつかむ
すでにシステムがある場合は、システムからドメインをある程度推測できる。
関係データベースのテーブルや、テーブル同士の関係性(1対多など)を把握したり、アプリケーションコード上にドメインオブジェクトがうまく定義されていれば、その部分のコードを読んだりするとよい。
一次情報に触れる
専門家やユーザーへのインタビュー、ヒアリング調査、商談などがあれば同席する。
参考文献
金山哲平:「自社プロダクト開発におけるドメイン知識」 ,『Software Design 2025年4月号』,2025年,pp.25-31.