生産性のない時間 is プライスレス

『事業分析・データ設計のためのモデル作成技術入門』を読んだ

公開日時:

どうも錦です。

今回は事業分析・データ設計のためのモデル作成技術入門を読んだので、忘れないうちに感想を書いておこうと思います。評価とかをやるのはあんまり好きじゃないので、あくまで思ったこと殴り書きになりますがご了承を。

それと、この本の解釈に関しては私の知識では追いきれないところもだいぶあるし、不適切な表現が含まれる場合もあるので、これを鵜呑みにせずにまずは手に取ってみることをお勧めします。

本の概要

この本が何かぐらいは書いておきましょう。

この本は、「TM(Theory of Models)」という技術に則った、事業分析やデータ設計のためのモデル作成技術を解説した本です。

TM 自体についての詳細は書籍や参考サイトのほうに任せるのですが、事業分析と事業に準拠した破綻しないデータベース設計を同時にできるすごいやつです。この言い方にはかなりの語弊がある気がするのですが、詳しくは本を見てくだされば。

感想

事実を表す

事業における『事実』を表す(モデリングする)ということを終始徹底してた印象があります。 データモデルは現実の事業の写像であり、業務システムはそうなっていなければ(現実の写像になっていなければ)破綻する。そんな感じの思想な気がしました。私好みの感じです。

ドメイン(事業)を正しくモデルにするという点では、DDD(ドメイン駆動設計)と通じるものがあるのかもと思ったりもしました。 もしかしたら DDD(ドメイン駆動設計)と TM(Theory of Models)は相性がいいのかも?

経験ではなく技術

TM は何かの経験則という訳ではなく、この本の著者が長年にわたって実地の開発現場で構築してきた、数学に則った『技術』です。 もちろん習得そのものの難易度はあるとは思いますが、『技術』なので、習得した人が TM に準拠して事業分析を行えば、その結果はほぼ確実に同じものとなる、という点がこの理論のすごいところだと思います。

DB 設計のデータの洗い出しは、割と個人技能というか、経験則になりやすい部分があると思うのですが、それを技術に落とし込むってすげぇなと素人ながら感動しました。

ただ、事業分析をするための情報の網羅自体は、徹底的に顧客へのインタビューをして導き出したりするものなので、そこらへんは忘れずに大事にしたいなぁと思う今日この頃です。

ユーザー言語を大切に

この本で一番印象に残っているのは『頭が目を騙す』という言葉です。エンジニアは、基本的には技術の人なので、ユーザーの言葉を聞くと『作成』とか『削除』とかに勝手に置き換えてしまうことがあるのだろうと思います。ですが、この本ではそれを『良くないこと』だとしていました。モデルは事業の写像なんだから、言葉を変換してしまったら現実を捉えられないだろう、といった感じです。

具体的には、『受注を取り消したい』というユーザーの要望は『受注を取り消したい』であって、『受注を削除したい』ではないだろうということだと思います。『取り消したい』だと受注数をマイナス値にして打ち消すとかが事実に対して正しいだろうという感じです。『削除』だと受注そのものをなかったことにする、という解釈になりますがそれは事実ではなくなります。単純に考えてみれば現実では『初めからなかったことにする』なんていうことは出来ないですからね。『事実』が消えることはないです。

素人が頑張って解釈してるので、間違ってる可能性はありますがそんな感じだったはずです。

実装もちゃんとできる

こういう理論に対して浮かぶのが、「でもその理論、実際のデータベースに実装(構築)できるの?」という疑問です。 ですが、この理論はさすが実際に使用されている理論なだけあってそのあたりの問題もクリアしています。 なんなら、現代の RDB(リレーショナルデータベース)のパフォーマンスを最大限引き出すように構築されていています。 具体的な実装方法もある程度この本で解説されていて、参考文献もとてもためになります。

現代の RDB の使われ方への指摘

これも印象に残ってます。RDB の使い方はちゃんと考えないと普通にパフォーマンスが出せないよというのを言ってました。

他にもデータベース設計を考える時はちゃんと構文論を考えよう、という感じの記述もあって「そうだね!」となりました。辛い。

あとがき

色々書きましたが、私の結論としてはとても良い本でした。実例もあって実務でも取り入れやすいというのが嬉しいです。

ただ、この本の内容を広めるのはかなり大変だろうなぁとも思いました。 通常やるようなデータベース設計の方法とはかけ離れているので、違和感を覚える人はいるだろうなぁという感じです。 そもそもこの本は事業のためのものなので、事業以外のモノを作ったりするときはまた変わってくると思います。

それでも、この本に書かれた技術は確かなものだと思うので、是非実践してみたいです。出来る機会を頑張って作ります!(宣言)

最後になりますが、私の素人感想は話半分で聞いて、是非『事業分析・データ設計のためのモデル作成技術入門』読んでみてください!

それと、この本の著者の会社、SDIのサイトもすごく勉強になる情報がいっぱい乗ってるので、是非漁ってみてください!

参考