初めまして,高安です。“メタ脳”というのは,抽象的にモノゴトを考えることを意味しています。このテーマで書こうとしたのは,編集者の方から「『ITアーキテクト』はどのような考え方をしているのでしょうか,それを書いてほしい」というリクエストをもらったからです。そこで今回はまず,私が考える理想のITアーキテクト像と,ITアーキテクトに欠かせない「抽象化する思考」についてお話します。

 システムには複数のステークホルダーがいて,それぞれ別の視点を持っています。これらの視点を統合して整合性をとり,抽象的なモデル,つまりアーキテクチャを作ることが,ITアーキテクトの役割です()。

タイトル
図●アーキテクチャ,ステークホルダー,説明文書の関係

 ただし,抽象化するだけでは単なる評論家になってしまいます。ハードウエアやネットワーク,ミドルウエア,開発言語といった具体的な実装技術にも,ある程度精通していなければなりません。そうでないと,個別の要素技術を専門にするスペシャリストと会話し,それぞれの視点を理解してアーキテクチャに“昇華”することはできません。

 抽象と具象の世界を頭の中で自由に行き来して,システムの根本的なコンセプトを作り上げる。私はITアーキテクトとして,そんなふうにありたいと思います。

 抽象化で思い出しました。話は私の浪人時代にさかのぼります。

 私は,東京・代々木にある予備校に通っていました。そこで世界史を教えていた講師は「なんじゃないよ。同じことは世界中で起こっている」が決めぜりふで,国や地域に限定せず,その時代の大きな流れや本質を語る人でした。歴史的な事象を個別に解説するだけではなく,同時期に他の場所で起きた出来事との関連や共通性まで掘り下げる内容に,歴史のダイナミックさやシンクロニシティ(共時性)を感じた記憶があります。

 日本史の論文指導もよく覚えています。あれは,「北山文化と東山文化を,それぞれ代表的な建築物を挙げながら比較し,400字以内で論ぜよ」というテーマを出題されたときのことです。私は二つの文化の特徴について200字ずつ記述し,提出しました。ところが,それを読んだ講師の評は「君は比較の意味を分かっていない」の一言。その後,「まずは比較対象に共通する点を見つけ出すこと。そのうえで『こことここは違う』と相違点を明らかにしなさい」と指導されました。

 正直言って,こうした授業を受けていた当時は「ふ~ん,そういうものか」という程度の感想しか持ちませんでした。しかし,社会人になってオブジェクト指向を学び,抽象化の概念に触れたとき,はっと気づきました。あの講師たちが示した思考の道筋は,まさに抽象化だったのです。抽象化する能力は,学問的にも重要なんですね。もっと早くオブジェクト指向を知っていれば,受験勉強も大学での試験対策も,ずっと効率的に進められたかもしれない。そう思うと,ちょっと悔しい気がします。

 そんなわけで,ある懇親会で「オブジェクト指向を高校の必修科目にすべきだ」と冗談半分(本気半分)で話したことがあります。残念ながら「勉強をますますつまらなくしてどうする」と,即座に却下されました。結構,いいアイデアだと思うんですが。

=今回のキーセンテンス=
 抽象と具象の世界を頭の中で自由に行き来し,システムの根本的な概念となるコンセプトを作り上げる。これがアーキテクトの視点であり,コンセプト作成能力こそがITアーキテクトに求められる能力だと私は考えています。是非いろいろなことを抽象的に考える癖をつけてください。キーセンテンスは

「それって要は何?」

です。

(高安 厚思=オープンストリーム)