シン・ゴジラで矢口蘭堂が行ったDDD
DDDとは
ドメイン駆動設計(英: Domain-driven design, DDD)のことです。対象のなんらかの問題を解決するのにドメインモデリングのアプローチをします。
以下の記事に詳しく書いてあります。(1)
エリック・エヴァンスの本はちょっと難しくて理解に時間がかかりそうなので、上記の記事やweb記事を参考に、DDDについて考えています。
先日参加したSaaS Designers Meetupにて、アルプの山下さんもDDDについてお話されていました。
著者は極度のゴジラ好き
そして、突然ですが私は極度のゴジラ好きです。先週末にゴジラ・キング・オブ・モンスターズを観て、今この記事を書きながら26回目のシン・ゴジラを観ています。常に頭の中にゴジラがいるからこそ、勉強会の帰りにこんなことを考えました。
シン・ゴジラの矢口蘭堂は、DDDでゴジラ駆除を行ったのではないか
それを今日会社の先輩方にお話したところ、少しウケたので、記事にまとめてみようと思います。
※著者はエリック・エヴァンスの原本を読めていないので、ざっくりとした感想のようなものとなっています。
巨大不明生物特設災害対策本部が行ったDDD
DDDの4原則をまとめた内容について、上記の記事(1)に以下の記載があります。
ソフトウェア開発者、ドメインエキスパートと共に常に同じ言語で認識を合わせ、ドメインモデルについて常に探求を続ける。
そして最終的にモデルと言語をソフトウェアにまで落としこむことを目指す。
上記4つの原則を元に、シン・ゴジラでの矢口蘭堂率いる巨大不明生物特設災害対策本部の振る舞いをまとめました。
1. 巨大不明生物の名称や、作戦名にこだわりを持ち、ユビキタス言語として使用した
2. 「巨大不明生物駆除」のドメインモデルをドメインエキスパートと共に探求した
3. ドメインモデル・ユビキタス言語を元に矢口蘭堂の部下たちが能動的に行動した
順に紹介します。
1. 巨大不明生物の名称や、作戦名にこだわりを持ち、ユビキタス言語として使用した
矢口蘭堂は、巨大不明生物に日本名で「ゴジラ」と呼称することを決めました。
「こんな時に名前なんか...どうでもいいでしょう」
いえ、ユビキタス言語としてはとても大切です。巨大不明生物は今後どのようなものが現れるかわかりません。ギドラかもしれないし、モスラかもしれない。今回東京湾に現れた生物に「ゴジラ」と名前をつけることで、チームメンバーの認識がそろいます。「タバ作戦」「ヤシオリ作戦」でも同様のことを行なっています。
2. 「巨大不明生物駆除」のドメインモデルをドメインエキスパートと共に探求した
巨大不明生物特設災害対策本部には、出世に無縁な霞ヶ関のはぐれ者、一匹狼、変わり者、オタク、問題児、鼻つまみ者、厄介者、学会の異端児が所属しています。それぞれが、生物学者や自衛隊などドメインエキスパートにあたります。矢口蘭堂は、序盤でドメインエキスパートからドメインモデリングの材料となるオブジェクトの抽出を行ないました。
射撃ミサイル、戦車、爆弾、米国の兵器、核ミサイル、放射性物質、血液凝固剤、、、
そこから、ゴジラに血液凝固剤を経口投与する、というモデルを作りました。
3. ドメインモデル・ユビキタス言語を元に矢口蘭堂の部下たちが能動的に行動した
以降は、そのモデルをベースに、チームメンバーたちが能動的に行動をしています。凝固剤を作るために各企業へ連絡する、他国の研究機関に応援を要請し、スパコンを借りる、など。。。
モデルを実行するためのアウトプットをそれぞれが能動的に行っていました。
最後に
巨大不明生物特設災害対策本部のチームワークについて、既に色んな記事があったのですね、、、
明日から自分のことを内閣官房副長官だと思って、目の前のドメインについて真剣に向き合おうと思いました。