技術評論社から一冊の新刊本が送られてきた。それがTom Engelberg著「間違いだらけのソフトウェア・アーキテクチャ~非機能要件の開発と評価」という本だった。実は以前に技術評論社編集部からの依頼で本書のために写真を提供したことがあるので見本誌として送っていただいたものだが、これがページをめくってみるとなかなか面白い…。

 

本書はタイトルのように「ソフトウェア・アーキテクチャ」を題材にしたものだ。筆者に言わせれば、日頃考えていることやアーキテクチャを構築するときに利用できる実現手法の話しや、その管理/維持するために実際に効果的だったリファクタリングやメトリクス測定などといったことに対する筆者の感じたことを書いたエッセイということになる。
そしてアーキテクチャ構築とかアーキテクトに必要ないろいろなことが理解でき、アーキテクトっていうのがどんな人種でどんなことを考えているのかも理解できるかも知れない…といっている。

AppArchitecture

※技術評論社刊「間違いだらけのソフトウェア・アーキテクチャ―非機能要件の開発と評価」表紙


したがって本書は学術論文でもなければ技術論文といったものでもなく、表紙カバーのイラストや本書をパラパラとめくってみるだけで分かるはずだが、一見ふざけた本でもある。なぜなら会話形式で構成されておりまるで筆者のセミナーに参加しているようなつもりで読み進めることができる構成になっているが、設定された参加者にはシニア・マネージャーとかIT雑誌の記者、SEといった人物がいるのは当然としても宇宙人(実は…笑)とかアジャイル教の教祖といった妖しげな奴らもいるからだ(笑)。

しかし一見場違いな人物たちとのバトルの中だからこそ、通り一遍の話題だけでなく思わず手を叩きたくなるような台詞が出てきたりと思わず熱中してしまう魅力を持っている。
無論「アーキテクチャ」とはもともと建築学での様式を意味したが、コンピュータ業界では1964年にIBMのシステム/360が登場した頃から使われ始めた言葉で当然のことながら当時は「コンピュータ・アーキテクチャ」などとハードウェアの構成を意味するものだった。しかし現在は「設計思想」などと訳されることもあり、「システムアーキテクチャ」「ソフトウェアアーキテクチャ」といっただけでなくウェブサイト構築から社会構造にいたるまで幅広く使われる言葉となっている。

したがって特別難しい言葉ではないが、私などはこの種の言葉を多用する人物はどこか自分を権威づけたいと思っているように感じてしまう(笑)。それだけアーキテクトとかアーキテクチャという言葉は…どこか格好いい(爆)。
ともかく良くも悪くも本書はソフトウェアアーキテクチャをテーマにしているだけにそれらに興味のない方々にはまったく面白くもないだろうし内容も分からないに違いない。しかしハードであれソフトであれ、日々クライアントの要求とにらめっこをしつつ、どういうわけか膨大な会議時間に忙殺されているといった開発者たちにはニヤリとさせられる箇所が多いに違いない。
私には「君は何でも適当だな!」と言われながらも「見積もりは経験で出すのが一番」という筆者には大きくうなずくものがあった(笑)。
そして個人的にはやはり第4章「品質特性シナリオ」が興味深くて面白い。特にサブタイトルとしても使われている「非機能要件、非機能要求」についてその言葉はともかく開発には一番重視する問題だと常々考えているからだ。
言葉を換えて言うなら私たちの仕事は経験上「クライアントは”それ”が出来上がってからでなければ自分が必要とする本当の”事”が分からない」という矛盾と戦わなければならないからである。

それに第2章「アーキテクチャという名の歴史と思想」にはENIAC、IBM360、AltoといったものからWWWやHTLMに至る文字通りこの世界の歴史を俯瞰することもできるしダグラス・エンゲルバートとNLS(oNLineSystem)とかアラン・ケイやSmalltalkの話しなども登場して興味深い展開になっているから大変読みやすい本でもある。
ということで、アーキテクチャとかアーキテクトというものに少しでも興味のある方にはお勧めである。それも格式張って読む必要はなく時間つぶしのつもりでも良いからページを開いてみていただきたい。きっと仕事をそっちのけで読みふけってしまうに違いない(笑)。

間違いだらけのソフトウェア・アーキテクチャ―非機能要件の開発と評価 (Software Design plus)