【対談】「これだけ」モデリング – Part 2/2
「これだけ」モデリングの生みの親、株式会社メソドロジックの山岸さんと、チェンジビジョン平鍋による対談、後半です。モデリングの威力や、出来上がった「モデル」ではなく「モデリング」というプロセス活動をチーム内で共有することが重要であること、など熱く語っています。(対談の前半は、こちら)
モデリングの威力
モデリングの「威力」というかですね、僕もモデングがすごく好きで、やっぱり皆の「共通理解」を作るというのが、凄く大きな力だと思いますね。モデリングしたものが、そのままコードとなって吐き出されるものもあってもいいと思いますが、その場面ではなくて「人間」対「人間」の”共通理解ビルディング”みたいなところに、モデリングを使うのが凄く好きなんですよね。
やっぱり一番モデリングが活きるのは、上流の所だと思っていますね。
そこは、やっぱり色々複雑なものもあれば、広すぎて掴みきれないものもあるので、そういう所にモデリングを使って、皆が共通体験をするわけですね。「モデルを構築する」というところで、色んなものを見つけ合って、モデルがあると、抜けがなく全体を描ききるというか。普段、考えが及んでいないような所でも、ちゃんと光が当たるんですよね。
モデリングの体験を共有すること、その「残像」が頭の中に残ることが重要
「モデル」ではなく「モデリング」に価値が高いと?
「ING」は重要ですね。
「モデルの結果を見て、レビューして判を押してくれ」と言われても、それは無理でしょう、と思いますよね。そこのプロセスを共有する事が極めて重要です。
山下さんの言葉でいう「残像が残っている」体験を通して得た、皆の頭の中に「なんとなく」残っている感じですね。
それをベースに色んな事をやれば、それが1つの縛りになって、データ設計するにしても、クラス設計するにしても、外れたものにならない、という事ですね。厳密に、そこからのトレーサビリティを守るというような事をするのは、逆に….
そうですね、トレーサビリティを取り出して、逆戻りし、全部アップデート、という事はできないですよね。
大きくなると。
理想はそうなんでしょうけど、やはり実際にやろうとしてうまくいった例は、あまり見かけないですね。
そこまでやる必要が実際にあるのか、という所は、コストパフォーマンス的にも….
そうですね。やりすぎると、モデリングにはカーブがあって、「コスト」対「価値」になると、多分上に走っちゃうんですよね。
全部やり切ると、それに縛られて逆に落ちないですか?描きすぎて。
目的を取り違えるといいますかね、それが目的化してしまう、という事になりがちですよね。
やはり、「程よい」使い方というものを常に心がけるということが必要ですね。
「as-is」と「to-be」が程よく違いが見える所を狙う
あと1つ、技術的な質問になりますが、モデリングって結構、汎用化とか一般論で考えると、どんどん発散しちゃってアナリシスパターンみたいなモデリングがでてきたりしますよね。
あれは、どう止めたらいいのでしょうか?
どこの場面で使うかによりますね。
メカニズムとして共通化しようという時は、どんどん抽象化して、できるだけ共通的なものを見つけ出すというのが理由だと思います。例えを出すと、業務を理解しようとしているところで、抽象度の高い「そもそも」論をしても意味がないですよね。だから、今業務フローで比較しようとしているのであれば、「as-is」と「to-be」が程よく違いが見える所を狙わないといけませんよね。抽象度をあげすぎると、皆2つとも同じになりますものね。どこが課題で、何を明らかにしようとしているか、というレベルの所が明らかになる、という。それが1つの基準ですよね。
あと、概念モデリングも重要なんですが、それが、ある程度妥当だということが分かる「ユースケース」というか、アジャイルで言うと「ユーザーストーリー」と言うのですが、その使い方の典型例みたいなものがないと、そもそも「そのモデルってうまく使えるんですか?」という事があると思うのですが、その辺はどうですか?
それは、勿論そうですね。スコープはユースケースで縛らないと、いくらでも広がっていくので、あくまでもどう使うのかという観点がないといけないですね。
この間の学生のやつでも幾つか、「こういうものがとれること」と4つくらい、答えられるデータ構造というシステム的な言い方を書いてあったのですが、何もなしで書きなさい、と言われたら難しいですよね。こういった情報をカバーできること、というのがユースケースですよね。
UMLの本は分厚すぎる。効果的なモデリングを学べる「薄いモデリング本」が必要
UMLの本って羽生田さんの本以外、全部分厚いじゃないですか。
エッセンスですか? マーティン・ファウラーの邦訳?
(UMLモデリングのエッセンス―標準オブジェクトモデリング言語入門、UMLモデリングのエッセンス―標準オブジェクトモデリング言語の適用など)
そうそう。あの羽生田さんのエッセンスの本も薄いけど、中身は重いですよね。
やはり「これだけモデリング」の本当に薄いガイドみたいなものを、世に出す必要があると思ってるんですよね。
業務のモデリングに必要不可欠というか、ギュッと絞って、それだけ分かっていれば、その業務の知識を沢山持った人の言語にのせられる、という最終セットを決めて、業務に詳しい人に参加してもらうという想定の方がいいですよね。
業務を解読して、正確に表現していかないといけない。
そういう立場の人に使ってもらう、というのが一番効果的だと思いますね。
今日はどうもありがとうございました。これだけモデリング、推していきますか!
よろしくお願いします。
どうもありがとうございました。
[関連記事]
– 「これだけ」モデリング – Part 1/2 / Part 2/2
– 「これだけ」モデリング – 対談前半
– 「これだけ」モデリングとは (平鍋記事 on Qiita)