8月5日、米IBMでソフトウエア開発グループの技術責任者を務めるドナルド・ファーガソン氏が来日。記者らと面会した。同氏の役割は、チーフ・アーキテクト。全世界で55人いるIBMフェロー(技術職の最高位)の一人である。

 ファーガソン氏は1987年に米IBMの研究部門に入社後、分散オブジェクト技術の研究・開発を進めてきた。同氏の活動が、IBMのアプリケーション基盤ソフト群「WebSphere」の開発につながる。WebSphereの今後と、一人のアーキテクトとしてのあり方を聞いた。

WebSphereは業務プロセス構築の基盤へ

 WebSphereは今後、業務プロセスの統合や構築をいっそう意識した製品になる。これまでも「WebSphere Business Integration Server Foundation」など、業務のプロセスに基づいてサービスを稼働させるソフト製品を投入してきた(参考記事)。「すでにSOA(サービス指向アーキテクチャ)を推進していく基盤はできた」(ファーガソン氏)。

 今後はこれらの製品群を強化すると共に、開発の効率化を追求する。IBMはSOAに基づくサービスのモデリング・ツールである「WebSphere Business Integration Modeler」の開発を表明している。将来的にはこうしたツールをベースとして、業務プロセスのモデルを前もって用意し、それを個々のシステム構築に利用するというスタイルを持ち込む。「ゼロから作るのではなく、あらかじめ用意したビジネス(業務プロセス)のパターンやモデルを基に、その企業に合うように変更したり拡張する。将来はこうした手法が一般的になる」(ファーガソン氏)。

問題意識に触れることでソフトのアイデアは生まれる

 ファーガソン氏は、アーキテクトとして心がけている点について次のように語った。「最先端の技術を追求することと、実際に顧客が問題解決に使える製品を実現すること。この二つのバランスや整合性を取ることが大事だ」。アーキテクトは全体最適の視点から、ソフトやシステム群のあるべき構成を設計する役割である。

 アーキテクトとしてのアイデアの源泉は何か。記者が問うたところ、ファーガソン氏はまず「しばしばそのテーマについて自問自答する」と答え、その後次のように続けた。

 「朝起きたら突然いいアイデアが浮かんできた、ということは決してない。顧客の悩みを聞いたり、エンジニア同士で議論したりして問題意識に触れ、その後考え抜くことでアイデアは生まれてくる。ただ、考えている間、頭の後ろの方で、もっと簡単でいい方法があるはずだ、という別の声が呼びかけているような気はする。私の気が短くて怠慢な性格が影響しているのだろう」。

 優れたソフトウエアを生み出すエンジニアはおしなべて、気が短くて怠慢だと言う説がある。ソフトは基本的に人間の煩雑な作業を肩代わりする道具であり、優れたソフトほど短くシンプルなコードで構成されている、という見方からだ。

 記者は若手アーキテクトの育成についても質問した。ファーガソン氏は若手へのアドバイスとして、長期的な視野で取り組む忍耐心、顧客や同僚と一体になってチームで取り組む意識、オープンソースなど必然的な時代の流れには抵抗しないことなどを挙げた。ファーガソン氏は「時代の流れに逆らうのは、無駄な戦い。不要な負けを際限なく続けるだけだ」と戒める。

 そして「Javaのソース・コードには、きちんとセミコロンをつけること」と付け加えた。Javaのソース・コードのルールで、ステートメントの区切りにはセミコロンを付けなければならない。「エンジニアはしばしば仕事に熱中しがち。仕事には区切りをつけることが大切だ。顧客を素敵なディナーに招待することはもちろん、自分の子供と遊ぶことだって大切なこと」(ファーガソン氏)。

 「私がWebSphereの開発を手がけ始めたのは8年前。ちょうどそのころ、私の娘が生まれた。私はWebSphere生みの親、と言われることがあるが、それは違う。WebSphereはメンバーみんなで一緒に作った。ただ、私が8歳の娘の父親であることは間違いない」(同)。

高下 義弘=日経コンピュータ