『ビヨンド ソフトウェア アーキテクチャ』の原書が出版されたのは、いまから10年以上前のことになります。当時はプロジェクト全体への視点を持った開発者がアジャイルを先導していました。ですが、次第にその視点を持たないままアジャイルを実践しようとする開発者も増えていきました。
成功するソリューションにはマーケティングの要素が欠かせないことをテクノロジーサイドから説いた本書。いま日本において、本書が持つ価値とはどんなものなのでしょうか。
今回、グロースエクスパートナーズのITアーキテクトであり日本Javaユーザーグループ会長の鈴木雄介氏と、『実践UML』など多数の翻訳書を手がける今野睦氏にインタビューを敢行しました。聞き手は本書翻訳の岡澤裕二・和智右桂両氏です。
エンタープライズアーキテクチャという視座
――今日はお時間をとっていただいてありがとうございました。早速ですが、まずは読んでいただいた感想をお願いします。
今野:まず、タイトルにある「ビヨンド」という単語が好きです。この単語を見て、これまでのアーキテクチャ本にはなかった新しいビューポイントというか、パースペクティブが描き出されていることを期待しました。そういう意味では、マーケテクトとターキテクトという造語を提示しているのが本書のメインとも言えると思います。
このビジョンは、実は、IPAのITアーキテクト委員会で議論されていた内容とも近いものがあります。当時私たちは、プロダクトとビジネスをつなぐのはコンサルタントではなくアーキテクトの責務であるとしたうえで、ビジネスアーキテクトとITアーキテクトという二つの概念を定義しました。そうすることで、それ以前に考えられていた個別最適のソリューションアーキテクチャを超えて、全体最適を目指すエンタープライズアーキテクチャを考えようとしました。
もともと、エンタープライズアーキテクチャの必要性は認識されていたものの、アーキテクチャリングのためのスキルやナレッジを備えた人材を形成するための枠組みを作ろうとした、というのが当時の活動の背景です。ビジネスに詳しいコンサルタントの人がテクノロジー方面に歩み寄ってくれることを期待しましたが、現実にはそうはなっていないですね。
――本書の内容を見ても、どちらかといえばエンジニアの立場からマーケティングを考えているように見えます。
鈴木:アメリカでは経営者と情シスの立場が近いので、あまりそこに違和感はありません。近年注目されているリーンソフトウェア開発はビジネスのKPIをもとに開発プロセスを回していくというものです。
欧米では伝統的にトップダウンでビジネス全体をモデル化します。そこからアーキテクチャをアップフロントに考えてきたのがエンタープライズアーキテクチャでしょう。その伝統を破壊したのがアジャイルの考え方で、最初にビジネス全体を分析できなくなったため、サイクリックな開発をすべきだとしました。この10年は特にWeb系のサービス開発がアジャイルに走ってきました。
いまは、エンタープライズでもWeb系で扱ってきたデジタル化のような課題に取り組むのが当然のように求められるようになってきているので、本書が10年経って訳されたというのはちょうどいいタイミングかもしれません。出版された当時は、エンタープライズの人にとっても、アジャイルの人にとっても収まりが悪かったのではないかと思います。いま読むことで、改めてよさが発見できるのではないでしょうか。
事前に見通せなくても、だいたいの方向性を考えておく
――マーティン・ファウラー・シグネチャシリーズで訳されていないのは、本書と『Enterprise Integration Patterns』くらいでした。そういった収まりの悪さが原因だったのでしょうか。
鈴木:先ほどもお話ししたとおり、アーキテクチャ設計はソフトウェア開発の事前的な活動であり、ビジネスが見通せない状況で「事前にすべてを見通そう」という呼びかけは無意味になります。ですから、当時は賢い人たちがみんなプロセスのほうに振りきっちゃったんじゃないでしょうか。「事前にすべてを見通すのではなく、進みながら考えればいいんだよ」と。
――唯一アリスター・コーバーンがアーキテクチャに踏みとどまった印象があります(笑)。
今野:でも、彼も『Crystal Clear』とか書いていますよね(笑)。
鈴木:オブジェクト指向への注目を経て、潮流がUMLからRUPになるにつれて、プロセスの軽量化は進められていましたが、RUPでも事前にアーキテクチャを考えることが重視されていました。そんな中でアジャイルに転向した人たちはもっと軽量な開発を始めました。ただ、彼らにそれができたのは、頭の中にアーキテクチャリングの道具立てがきちんと整っていたからなんですよね。
アーキテクチャというのは、いわばソフトウェアの土台であって、土台がきちんとしていないとプロセスは回りません。アジャイルにおけるアーキテクチャというのは「事前にすべてを見通すことはないけど、だいたいの方向性は考えておいてもいい」というぐらいのもので、この本に書かれているようなアーキテクチャリングの引き出しを持っていることは、当時のアジャイル先駆者にとっては当たり前だったのでしょう。その引き出しを持たない後発の人たちが困っているのがここ10年と言えます。
――なるほど。そう考えてみると、いまになって訳されたことにも一定の意味があると言えそうですね。訳者としてはうれしい限りです。
原書から10年以上を経ても共感でしながら読める
――本書の話題に戻りますが、古い記述もだいぶあると思います。その辺についてはどうお考えですか?
今野:例に関して言えば確かに使われているものは古いですが、前提条件としてはいまも当時とあまり変わらないですよね。共感しながら読めるところが多かったです。
鈴木:なによりも、クラウドによってアーキテクチャリングもアジャイル化できるようになりましたよね。そのうえで、IT投資に対するスタンスは当時とだいぶ状況が異なる点もあると思います。また、オープンソースライセンスが見出しに出てきているのは、当時はオープンソースソフトウェアが未成熟だったからでしょう。
一方で、ユーザビリティやプロダクト開発など、いまでは当たり前に使われている言葉も登場しますが、時代背景が違うのでそういう用語については少し注意して受け取る必要があります。
――では最後に、全体的な感想を一言でお願いします。
鈴木:2000年当時のアジャイル前夜の状況をそのまま反映していると言えます。アジャイルに振りきったことで失ってしまったものの骨格が残っていますね。
――失ったものを取り戻すために役に立つといいですよね。本日はありがとうございました。
インタビューを終えて
アーキテクチャに関する本を一冊訳したいという思いは、実は以前からありました。ただ、『ビヨンド ソフトウェア アーキテクチャ』を読んだときには、ここで語られている内容をアーキテクチャと呼ぶことに一定の違和感は感じていました。
私が「アーキテクチャ」という言葉で連想するのは、たいていの場合、レイヤリングやモジュールの構成などの言わば「構造」に関わるものでした。それに対して本書で語られていることの多くは、構造というよりは視座であって、読んだあと、頭の中の引き出しにすっきりと整理して収まるようなものではなかったからです。むしろ、きっとこういうことを考えなければならないときが来るのだろう、という感覚とともに、頭の中をふわふわと漂っていました。
お二人にインタビューしたことで、その違和感の謎は少し解けました。おそらく、本書で語られているのは「アーキテクチャ」ではなく、「アーキテクトが考えるべきこと」なのでしょう。
「こうしなさい」ではなく、「こういうときにはこういうことを考えないといけないですよ」という、経験にもとづくメッセージ。だからこそ、各章の最後には、「あなたのシステムはどうですか?」という問いかけとしての「チェックリスト」と、「実際に考えてみてくださいね」というワークアウトとしての「やってみよう」が記載されているのだと思います。
鈴木さんがインタビューの中で、あるいは他の講演の中でさまざまな形で伝えているのは、「アーキテクチャ設計とは事前に考えることだ」というメッセージです。アーキテクトに求められるのが、何かパターンや型にハメて勝つことではなく、できる限り事前に考えることなのであるとするなら、本書で提示されているのはアーキテクトが静的な構造としてのソフトウェアアーキテクチャを超えていくための視座なのでしょう。
システム開発が「作って終わり」ではなく継続して成長させるものになっている現在、そういうアーキテクトはますます求められるようになっています。原書の出版からはだいぶ時間が経ってはいますが、いまこのタイミングで、翻訳を出版できたことには、やはりなんらかの価値があるのではないかと改めて思いました。