arcanum_jp’s blog

おっさんの日記

「間違いだらけのソフトウェア・アーキテクチャ―非機能要件の開発と評価 」を読んだ

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

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

買うまでのいつものアレ

 この本、本屋で内容をパラパラっとめくって「ブッ」っと笑ってしまって購入決定。こんな本、本屋でニヤニヤにながら読んでは危ない人に思われてしまう。一人のときにウッシッシとか笑いながら読むのが一番かな。かと言って僕は通勤のバスの中で読むから「キャー、あの人変態!バスの運転手さん!助けて〜!」となるのも怖いなぁ。となにやら勝手な想像をしながら購入した本をバッグに詰め、そのバッグを抱え、怪しい人になって本屋をコソコソと出て行ったのでした。

内容

 著者のトム・エンゲルバーグ氏が自らのアーキテクチャの考えを書いた本を講演するってシチュエーションで、「アーキテクチャ」とは何ぞやってことを「歴史」「システムアーキテクチャ」「その他の分析手法」などを著者の視点で好き勝手に説明しながら講演を聴きに来た聴衆の質問などに答えていくってスタイルで話は進んでいく。


 その講演を聴きにやってきた登場人物の描写が面白い。「シニアマネージャー」「宇宙人」「アジャイル教の教祖」「IT雑誌の記者」「SE」「新人」・・・とまぁ、うちの会社は動物園ですよ!って10年も以上も前に就職活動の際に言ってくれた会社の方がいたけど、「あぁ〜いるいる・・・」とか「自分もあんな風に思われているんだろうなぁ(多分宇宙人とか)」って感じでシステムにかかわる色々な立場の人を誇張した登場人物だ。


 主人公が好き勝手にしゃべり(え〜、そんなんでいいの?)と言うような「アーキテクト」という役職から想像できる仕事ぶりからはかけ離れた主張、その動物園みたいな誇張された登場人物がそれぞれの立場で質問し、この会話が「講演の最中」「休憩時間」と場所を変えながら話がバトルのように進んでいく。羊のような新人君以外は皆だんだん主人公に懐疑的になっていくのが面白い。でも読み手には非常に分かりやすく説明してくれるし、主人公の好き勝手な主張が納得いく自分がいた。と言うより、日ごろ感じていたことを主人公に代弁してもらった感じが強い。

主観、所感

 「アーキテクチャは権力」ということば、なるほどと思った。僕は主にハードウエアはあまり経験がないが小さなシステムとかではソフトウエア上でのアーキテクチャってのはこの言葉の意味が少し理解できる。それは突き詰めれば突き詰めるほどオレオレシステムになるから。本書で言う「物理」層はたいていはどのフレームワークを選択するかとか、フレームワークをラップした業務フレームワークみたいなもんだけど、設計によってはプログラマの思考を制限できるし、「こう作らないと動かない」というものになってくる。そういった仕組みはプログラマにとっては抵抗しがたい権力になるから。


 また、提供する環境もアーキテクトって人の主義主張が入る。主観とか趣味とか言ってもいいくらい。環境の作り方の資料を作って、どんなレベルの人にも1から10の環境を作らせる人もいれば、それこそ「ここのディレクトリから圧縮ファイルコピーして解凍すればいいよ」という風にする人もいる。(どちらかと言うと後者が僕の趣味)前者はプログラマに環境への自由をちょっと与えるけど、後者は開発にはその環境しか許さないといった本書で言えば権力となる。


 権力とまでは言わないまでも、一つのシステムの構造、環境、ハードウエアなどそれらをそれぞれのシステムに合わせ、自分の意思に統一して作れるってのがアーキテクトという職業にとって一番面白いことなんだし、そこには通常の開発をする人にくらべ重い責任があるってことなんだろうけど。