書評を書いたついでに、書評では書かなかったことを日記に書いておこう。
建築のアーキテクトから、ソフトウェアのアーキテクトを類推する(アナロジーする)という視点から、ソフトウェアアーキテクトについて解説した書籍。このためか、ソフトウェアアーキテクトの仕事について述べていても、肝心のソフトウェアアーキテクトとはなにかについては述べてはいない。家を新築する際に、施主として工務店に行き、要求を説明するが、大工に説明したり、大工からの質問に直接答えることはないであろう。施主と大工を仲介する工務店に該当するのが、アーキテクトという比喩はある。
建築からアナロジーするというので、ガンマらのデザインパターンのアーキテクト編を想像していたが、単に建築からアナロジーして、ソフトウェア開発も建築のように行うべきであるというありきたりなを述べているだけ。建築からアナロジーしているので、システムズエンジニアの書籍だといわれても、納得してしまうほど、システムズエンジニアという単語をアーキテクチャという単語に置き換えただけというのは酷評であろうか。
「ウィトルウィウスの建築書」で述べている建築(アーキテクチャ)の基本三要素(ユーティリタス、ベヌスタス、ファーミタス)とソフトウェア開発を以下のようにマッピングさせている。
ユーティリタス(ニーズ)・・・発注者
ベヌスタス(デザイン)・・・アーキテクト
ファーミタス(構造)・・・ビルダ
訳語の問題かもしれないが、デザインがアーキテクト(ならばシステムエンジニアもアーキテクトということになる)、構造(構築じゃないのかなぁ)がビルダというのは、しっくりしなし、そもそも発注者にニーズはなく、エンドユーザにニーズがあり、そのニーズをエンドユーザがうまく表現できないことに、ソフトウェア開発の難しさがあることに筆者は気がついているのであろうか。目に見えるものを構築する建築と、目に見えないソフトウェア開発との違いがここにあると思う。