見出し画像

【読書】エヴァンズ本で濃いめのABDをやってみた 第1回

「エリック・エヴァンズのドメイン駆動設計」をひとりで読むのが嫌だったので、会社でActive Book Dialogue(以後ABD)形式で読む事にしました。

ただし技術書をABDで読もうとすると、どうしても内容が薄まりがちになってしまうので、章ごとに担当者をつけて、事前にまとめてくるという輪読会に近しい形で開催することにしました。

今回エヴァンズ本の第1部導入から2章までをこの形式で読んだため、自分の担当パートのまとめ資料と感想レポートを載せておきます。

第1部

まえがき

名称未設定のアートワーク 28

モデルに関する抽象的な説明をされていた部分です。ここは特に疑問が生まれる事も無かったです。

第1章「知識を噛み砕く」

名称未設定のアートワーク 27

名称未設定のアートワーク 26

名称未設定のアートワーク 29

この章では、モデルを作っていくためにドメインエキスパートの知識をどのように引き出したのかのサンプルと、これを進めていくための基本の考え方が説明されていました。

発表後の対話の時間で2つ質問が出ました。

1つは「モデルに完成が無いというのなら、どこまでを最初の区切りとしていくのか」。回答としては「ひとまずこれ以上は話が進まない、という所までではないか」という意見が出ました。「次のステップ進めそう」「これは戻ってモデルにFBした方が良さそう」というタイミングでそれぞれのフェーズに戻るということです。

またもう1つは「ドメインエキスパートは顧客の担当者のことを指すのか?」。これは、顧客の担当者が必ずしも業務の事を分かっている人であるとは限らないという経験があってのことだと思います。実際、顧客の担当者がドメインエキスパートではないのなら、スクラムにおけるプロダクトオーナーにあたるのか? それとも別の役職なのか? という所には答えが出ませんでした。役職ではなく職能を指す言葉であるように思います。

第2章「コミュニケーションと言語の使い方」

この章は会社の他のメンバーがまとめたため資料はありません。

この章では、DDDにおいて有名な概念であるユビキタス言語が登場します。単なる用語集の言い換えであると言われるなど、あまり自分の観測範囲だと歓迎されていないように見えるユビキタス言語ですが、エヴァンズが本で危惧しているのは、開発者は開発者なりの言葉を、ドメインエキスパートはドメインエキスパートなりの言葉を別個に成長させてしまった結果、互いの乖離が大きくなってしまう事であるように見られました。

このため、共通のモデルから生まれる共通の言語を使って、可能な限り互いの乖離を防ごうというのが、この章で言われていた事だと理解しました。

このユビキタス言語を使ってドキュメントもチケットもコードも書いていこう、というのが筆者の主張です。

これも質問が2つ出ました。

1つは、「日本語のユビキタス言語をコードに埋め込むのか?」。日本語のドメインモデルを英語のソースコードにしていくのは、これは通訳ではないのか? ということ。
簡単に意味が取れる一般的な英語に訳したり、それが難しそうならローマ字で表しても良いのではないかという意見が出ていました。

ちなみにエヴァンズが来日した時に同じ質問をした所、「日本語使えよ」と返答したというのは有名な話ですね。

もう1つの質問は「開発者向けではないドキュメントはどうするのか?」というものです。これは参加頂いていたデザイナーの方から出た質問で、開発者が書く開発者向けドキュメントをユビキタス言語で書けというように捉えられていたようです。ただ、ドキュメントは開発者以外でも読める形にしておかねばならない、だからこそユビキタス言語を使うのではないかという意見が出ていました。

感想

内容の濃い本で、1章と2章をやっただけでくたくたに疲れました。モチベーションの高いメンバーに囲まれたおかげで楽しく学ぶことができました。

これから毎週やっていく予定で、DDDを自分と一緒に勉強するメンバーが社内に増えれば、社内でDDDを使ったプロジェクトを進めていきやすくなると期待しています。

この記事が気に入ったらサポートをしてみませんか?