ひがやすを技術ブログ

電通国際情報サービスのプログラマ

MDAの幻想

僕の近くにすごく能力があるMDA信者がいるけど,その人曰く「極めて優秀な少人数の人間だけがいればよい日が来る。MDAはそのためのものなのだから」ということらしいですよ。

あからさまにこういわれると反論したくなることでしょう。しかし、抽象的なモデリングも実は同じことを言ってないでしょうか。俺の作ったモデルを理解できる一部の優秀なやつだけいれば良いと。

私は、MDAだけでなく、抽象的なモデリングそのものが幻想だと思っています。ドメインというのは、本当に現場ごとに違います。同じ業種でも。数回、経験を積んだだけで、本質をつかむことが出来ると思っているのは、傲慢以外の何者でもない。

アナリシスパターンだとかに凝っていたときもありましたよ。実際にそれでプロジェクトをまわしてこともあるから分かりますが、あのようなモデルってモデルを作成したアーキテクト以外(ほとんど)誰も理解できないんですよ。

運が良いことに私がプロジェクトを離れた後、モデルを修正することはありませんでしたが、修正が必要になったときは困っていたはずです。修正を必要としない堅牢なモデルを作ればいいという考えもあるでしょうか、未来を予測できない以上、絶対に修正を必要としないモデルというのは作れるはずがありません。

ものごとを抽象化する能力というのは、スキルを必要とします。だれもが出来るというものではありません。しかし、誰もが出来ないことを出来るのが正しいことかというとそれもまた違います。抽象化した概念が正しいなんてことは誰も分からないのです。

だとしたら100人中小数の人しか分からない抽象的なモデルより、100人全員が分かる現実を模倣したモデルのほうが、分かりやすいだけでなく、メンテナンス性にも優れます。これが、くーすの根っこを流れるスピリッツです。

抽象的なモデリングというのは、自分の能力を誇示しようとする開発者のエゴだと思いませんか。もしそれがプロジェクトにメリットをもたらさないのなら。