[突撃インタビュー]
Martin Fowler氏のセミナーの直後、ホテルのティールームで、お忙しいなか快くインタビューに応じてくださいました。
メンバーは、Martin Fowler氏とオージス総研の突撃隊員3名、それからエヌケーエクサの児玉さんも同席です。常時和やかなムードで進んだインタビューの様子をお伝えします。 茶色の文字が突撃隊員の質問です。
左より、隊員1(梅澤)、隊員2(羽生田)、Martin Fowler氏、隊員3(越智)、児玉氏
まずは一般的な話題から
日本に来られたのは初めてと伺いましたが、着いたのはいつですか?
月曜日だよ。 (インタビュー当日は水曜日。Fowler氏は火曜日・水曜日のセミナーに出席されていました。)
どこかに行かれましたか?
ホテルで寝ただけ。
では、日本の印象はまだ...
インターナショナルなホテルは、どこでも同じだからね。明日、京都と奈良に行くから、それを楽しみにしているよ。
この季節の京都は寒いですよ。
暖かい服を持ってきたから大丈夫!
日本食で好きなものは何ですか?
スシがすきだね。ボストンで住んでいるところの隣町に、6ヶ月前にスシレストランがオープンしたんだけど、妻と一緒にしょっちゅう行ってるよ。日本にいる間に、もっといろんなものを食べてみたいね。旅行ではいろいろ面白いものを食べるのが好きなんだ。
どんな寿司が好きですか?
アメリカではロール、つまり巻き寿しタイプのものが多いね。魚も大丈夫だよ。
では、日本食で嫌いなものはありますか?
今のところ、ないよ。
![]() |
Martin Fowler氏 |
趣味について教えて下さい。
一番の趣味はアウトドアだね。ハイキングや山登りや...。
富士山はどうですか?
うーん、混んでいるらしいからね。混んでいるところは嫌いなんだ。静かなところがいい。マサチューセッツでは田舎をサイクリングするよ。冬はかんじきで歩いたり、クロスカントリースキーをする。ダウンヒルスキーは人が多いのがいやだね。今年はニューイングランドも雪が少ないよ。
(アウトドアの話ばかりだったので不安を覚えつつ、でもせっかく用意してきた質問だったので)映画は好きですか?
うん。でも、ここのところ飛行機の中でしか見ていない。
好きな女優はいますか?
特にいないね。(...やっぱり...)
そろそろ技術的な質問を...
セミナーでは、ソフトウェアエンジニアリングに関しては、Design Patternがこの十年ほどで一番いい本だとおっしゃっていましたが、他のジャンルの本で、最近心に残ったものはありますか?
本はたくさん読むね。特に歴史の本は面白いのでよく読むよ。でも、心に残ったものというと...
Bibleはどうですか?
あまり信心深くないんだよ(笑)。
一番好きなプログラミング言語は何ですか?
プログラミングしていて一番楽しいのはSmalltalk(インタビュアーの1人が大喜び)。残念ながら、ここ2、3年、プログラミングしていないけどね。後にも先にも、Smalltalkより面白いものにはお目にかかっていないよ。
Smalltalkのどういうところが好きですか?
たくさんコードを打ち込まなくても、考えたことを表現できるところ。環境もダイナミックでいいけれど、言語自体が簡潔でありながらとても理解しやすいところがいい。
スクリプト言語はどうですか? PerlとかPythonとかは?
Perlはお世辞にもわかりやすいとは言えないね。Pythonはちょっとやってみたけど、もっと使ってみたい。Smalltalkほどエレガントじゃないけど、いいモノがあるよ。Perlは人並には使っているけど、わかりやすくはないね。
Javaはどうですか? 2000年版COBOLという人もいますが。
(笑)ここのところ、ほとんどのプログラムはJavaで書かれているね。僕の仕事でも主な言語になっているよ。注文はいろいろあるけど、総じていい言語だと思う。Smalltalkほどは好きじゃないけど、だいたいのビジネスソフトウェアには合っているね。Javaには満足しているよ。
開発ではUMLをintensively(徹底的、熱心)に使っているということですが...
intensivelyとは言っていないよ。frequently(頻繁に)だよ。
今のUMLで何か問題や課題を感じていますか?表現力や整合性、モデリング上の観点からいかがでしょうか?
UMLはそんなに形式にこだわって使っているわけじゃないから、何かが足りなくてもそんなに気にしていないよ。
つまり、UMLは手段としてプラグマチックに利用するという醒めたスタンスということですね?
そう。UMLは僕のメインの仕事ではないし。UMLの本は売れたけど、あれはひとつのラッキーなチャンスだったと思ってる。コアになる仕事は、パターンと、それから最近ではリファクタリングとか、複雑な環境でシステムを作ることだね。UMLはそのうちのほんの一部にすぎないんだよ。
話はどんどんXPの方向へ
なるほど。セミナーで、モデリングやドキュメントより、コーディングやソフトウェア自体がずっと大切だとおっしゃっていましたが、それはXPの影響ですか?
そのとおり。XPに興味があるからだよ。UMLが重要ではないというんではなく、納品しなきゃならないのはソフトウェアだってことさ。情報やコミュニケーションをできるだけソフトウェアに組み込まなきゃならない。情報は、別のメディアを使うより、コードの中に入っているほうがいいんだ。実際には別のメディアが必要なんだけどね。でもそれを最少にしようとしているんだ。明解で理解しやすいコードを書かなきゃならない、知識や明解さをコードの中にできるだけいれなきゃならない、というのがXPの重要なメッセージなんだけど、一番誤解されやすい部分でもあるね。
実際の開発でXPを使ったことはありますか?
クライスラーのプロジェクトをKent Beckとやった後は、あんまり使ってない。でも、XPの習慣は僕の仕事に大きな影響を与えているよ。テストとか、リファクタリングとか、繰り返し型開発とかね。僕は主にコンサルティングをやっているんだけど、クライアントでXPを全面的に取り入れるところはほとんどないね。部分的に使うだけだよ。でもこれから慣れるに従って、だんだん増えてくると思うよ。
XPは小規模な開発にしか使えないという印象があるんですが。
12人くらいまでの開発なら大丈夫だよ。もっと多くなるとどうなるかはわからないけど。でも、12人の人がXPを使って開発をしたら、すごいことができるよ。たったそれだけの人数で、と思うようなことがね。
XPの他に、RationalのUnified Processなどの方法論がありますが、どう思いますか?
Rational Unified Process(以下RUP)はよくわからないんだよ。あまりにいろんな事やいろんな人が含まれているから、しまいには何のことだかわからなくなるんだ。同じRUPを使っていても、人によってまるで違うことをしていたりする。RationalはみんなにRUPを使って欲しいと思うばかりに、「RUPを使っています」と言ってくれさえしたら、実際に何をやっているかはどうでもいいんだ。
「UML Distilled」(邦訳『UMLモデリングのエッセンス』)の第2章でRUPのサマリーを書いているじゃないですか。(笑)
XPにRUPの皮をかぶせて説明しただけだよ(笑)。RUPの用語を使ってね。面白いことに、Robert Martinは、Grady Boochの本、Object-Oriented Analysis and Design with Applications(第2版の邦訳『オブジェクト指向分析と設計』)の第3版を一緒に書いているんだけど、その中で同じ事をもっとあからさまにやってるんだよ。本当はRUPを好きなわけじゃないんだけど、本では触れておかなきゃならなかったんだ。そういう約束になっていたからね。
セミナーで触れられたCRCカードについても少し
XPの最初の本を見たら、絵や図が全然なくて驚いたのですが。
Kentは、絵や図をあまり使わないんだよ。あまり役に立つと思っていないみたいだね。僕は役に立つと思うんだけど。
それは、CRCカードが役に立つと思うかどうかと同じですね。
Kentは(CRCカードを)使ってるね。僕も使うけどさ。でも、Kentだって、皆が思うほど使っていないよ。
セミナーでロールプレイングは重要じゃないとおっしゃっていましたが...
そうそう。Kentもやっているのを見たことがないよ。
でも、教育という面から見るととてもいいと思うのですが。
そうかなぁ。ロールプレイングをすると、CRCカードを使う気がしなくなると思うんだけど。
でも、ロールプレイングをすることで、オブジェクトの内部からの視点でものが見える、だからその状況でのオブジェクトの立場を感じることができますね。
役に立っているんだね。でも、絶対に使わなきゃならないわけじゃないよ。ロールプレイングがCRCのエッセンスだという人もいるけど、本当は違うんだ。
パターンの記述方法
アナリシスパターンの書き方は、デザインパターンの書き方と違っています。確かにアナリシスパターンの進化の過程を追体験することってとても大切で、そのためには問題状況が徐々に複雑になっていく中で段々アナリシスパターンが洗練された形態になっていくという、一種の物語を示してくれているのは非常に意味があると思うんです。ただアナリシスパターンがある程度安定したものとなったのなら、デザインパターンのスタイルいわゆるGOFのテンプレートに似た形でも記述できると思うんですが、何が問題なんですか?
示したかったものに合わない項目が多すぎたんだ。それに、パターンどうしは影響を与え合うものなんだけど、デザインパターンの本ではパターンを別々のものとして扱っていたので、そこが書かれていない。どんな書き方をすればいいかは、みんないろいろと試しているところ。僕はもっとストーリーとして説明するほうが好きなんだけど、リファレンスしやすくしようとするといくらか項目が必要だね。リファクタリングの場合みたいに項目がいくつかだけあるのが好きだね。
ご自分の仕事について
コンサルティングをする上で心がけていることは何ですか?
コンサルティングという仕事は、場合によってずいぶん違うものだよね。一番望まれていることが何かということなんだけど、ニーズはクライアントによっても違うし、同じクライアントでも時間がたつと変わってくる。だから、今一番役に立つことは何かを考えてそれに集中することが大切。クライアントが何を必要としているか、何を必要だと思っているかを知って、それを実現するのが仕事さ。
最後に...
日本の若いエンジニアにメッセージをお願いします。
このビジネスでは、ずっと勉強を続けなければならないということを忘れないでほしい。ダイナミックな業界だから、覚えなきゃならないことはとてもたくさんある。僕の今のキャリアは、ずっと学びつづけてきたからこそなんだ。その勉強も、どれかひとつのテクノロジーだとかAPIだとかに特化したものではなくて、ソフトウェア開発の基本的な原理に集中すべきだね。デザインパターンもそのひとつだし、XPという開発スタイルの提案もそうだね。これらはとても根本的で安定的なものなので、新しい言語やプラットフォームが出てきても大丈夫。例えば、僕がSmalltalkやC++で学んだことは、Javaにも応用できる。つまり、言語そのものではなく、その基礎ってことだけど。Smalltalkのクラスライブラリの知識が完全に無駄になったわけではないれけど、基礎となるパターンや設計原理や経験にもとづく指針は、ずっと僕に影響を及ぼしつづけているよ。
このあと、突撃インタビュー恒例の(?)、筆ペンの色紙を書いていただき、写真撮影をして終了しました。
![]() |
![]() |
Fowler氏、色紙執筆中 | アナからパタもち |
Martin Fowlerさん、ご協力をいただいたCBOPの事務局の皆さま、どうもありがとうございました。
© 2000 OGIS-RI Co., Ltd. |
|