進化的アーキテクチャ(続)読んでいて気になった点については書いたので、本書について書く。本書は書名の通り、進化的アーキテクチャについて書いたもので、アーキテクチャの対象はエンタープライズ(少なくとも複数のサービスから構成される規模)、書籍の分類としてはアーキテクチャパターン(だと思うが、本書ではアーキテクチャスタイルという表現をしていて、実のところこの2つの言葉の差異をおれは具体的にはわからない)についての本となる。アーキテクチャそのものを構成するデザインパターンについての本ではない(それはすでにエンタープライズアーキテクチャーがあり、まだ現役だ)。したがって、最上位のソフトウェア設計のネタ本である。問題意識は、今やエンタープライズレベルのソフトウェアはとんでもなく複雑化していて数10年前からのレガシーなものから最近の流行のものまでが混在していて、オンプレミスとクラウドが平然とシステムに混在していて、各種言語で書きまくられていて、当然運用も複雑、でも企業にとってソフトウェアの重要性は高まるばかりだから、これらをどうにかうまく結合して運用してビジネスに合わせて変化させ続けなければならない。そこで筆者たちは「進化的アーキテクチャ」を提案(おそらく机上の空論だけではなく、実際に多少は実装もしたうえで)する。1章「ソフトウェアアーキテクチャ」ではコンウェイの法則(組織が設計を生み出す)に対して逆コンウェイの法則(設計が組織を変える)を置くことで、ビジネスの変化は組織も変えるので、それをしっかり支える設計が必要であり、つまりは進化的でなければならないということを説明する。2章「適応度関数」(1章と全然粒度が異なることに注目。これは本書を読みにくくさせている1つの原因だ)で、進化的とか言い出すと恣意的で野放図な設計になりかねないから、常にどうあるべきかを計測可能なように設計して検証しながら進めなければならないと釘を差す。3章「漸進的な変更を支える技術」。「進化」とは何かをある程度具体性を持ったマイグレーションとして示す。4章「アーキテクチャ上の結合」。現在主流のアーキテクチャスタイルを示し、それらはどのように進化すべきかを説明する。5章「進化的データ」。ソフトウェアだけ考えるのは宇宙飛行士に任せて、データのことをちゃんと考えなければだめだと、データベース設計を使って(それ以外にもデータは当然あるから)示す。6章「進化可能なアーキテクチャの構成」。なんと、3~5章は、進化的アーキテクチャの構成要素に過ぎないということを宣言してから、それらを結合させて全体像を示す。本章自体はパターンランゲージで記述しているように読める。内容は明白で、これも参考になりまくる。6.4はぐさぐさする棘の塊のようでちょっと読むのが辛かった。7章「進化的アーキテクチャの落とし穴とアンチパターン」。落とし穴とアンチパターンは異なるという説明がある。落とし穴は歩いて通れるように見えるので進むと落ちる罠だ。常に避けなければならない。対するアンチパターンは「この場合には良いパターン。これについては不適合」なので、適用対象の見極めであり選択の技量に属する。この章は本当におもしろい。7.1.4は、クリーンアーキテクチャに続いて、むやみなDRYの否定となっている。8章「進化的アーキテクチャの実践」という勇ましい題。実践という言葉から普通に想像される具体性を持つ内容ではなく、まず経営者視点に立って(つまりはエンタープライズ全体を俯瞰して)設計するために知るべき組織の諸要素と利用可能なリソースについて説明したものと、パターンランゲージによる組織を動かしつつアーキテクチャを進化させる方法を解説したものから構成される。この章もこれまた参考になる。以上で、本体は終わり、参考文献がくる。本書がどういう領域で何に着目しているかが明らかとなり、選択それ自体がおもしろいことと、自分のためにも参考文献をアマゾンで示す(アフィ乞食なのでここから買ってくれるとすごく嬉しいが、そっちは主眼ではない)。オブジェクトの広場編集部)なんということでしょう。すべて日本語に翻訳されているではないか。1億人という市場人口のなせる技だ。本書は読みにくいし、問題点もある。間違った読者が買えばアマゾンに星1レビューが乗りまくるタイプの本だ。かかわらず、本書は重要であり、読む価値は極めて高い。手放しではお勧めしないが、上に並べた参考文献のいずれかを読んだことがあれば、それが現在のソフトウェア開発の知見において、どのように組み込まれているのかを確認するためだけでも読む価値がある。Liteそろそろ車を買い替えるわけだが、カーナビが問題だ。良いのは多少高くても時間も見てくれも一番効率が良い、納入時にメーカーオプションなりディーラーオプションなりでインテグレートしてあることだ。ディーラーの営業の人に聞いてみたら、やはりハンドブレーキを入れていないと動かないというごみくずな上にいろいろ進化しているために、以前のように1本線を切ってアースすれば済むというレベルでもないようだ。誰がそんな役立たずを買うか。いうわけで、いろいろ調べるとiPhoneとモニター付きオーディオシステム(カーナビではないので呼称も変わるが、リアカメラ画像を見たりするのでいずれにしてもインテグレートされたモニターは必須なので買うことになる)をつないでアプリでiPhone用のカーナビを使えるというカタログに書いてあるのを見つける。そりゃパイオニアも死ぬだろう。問題はSIMフリーのiPhoneとか買う気にはなれない(おれはアンドロイド一択だからメインがiPhoneになることは無い)ことで、どちらにしても助手席の妻か子供が操作することになるのだから、SIMフリーなタブレットのほうがいいじゃんと考え付いた。なんといっても今、Kindleマンガ用のNexus9がとんでもなく遅くなっているから(というか、使っているうちにどんどん遅くなるって、Nexus7もそうだったが、AndroidってWindowsよりも輪をかけてゴミなOSだよなぁ。いつの時代のOSなんだ?)、そろそろタブレットの新しいのも欲しいところだ。ついでにPayPay祭りもやっているわけだし。1/40で全額ポイントバックもありえるし、外れても20%ポイントバックでOKだ。いうわけで、ビックカメラに行って、話題沸騰のファーウェイじゃなくてホァーウェイのSIMフリーなやつを購入。LiteにKindleをインストールして何をロードするかライブラリを眺めていたら、買ったまま完全塩漬けになっていたハックス!を発見。いえば(どえらくおもしろい映像研に手を出すな!と同じく)女子高生のアニメ研ものだったな、と読んで見ることにした。絵柄は良いし、話のテンポも展開もうまいのだが、なんか気持ち悪い感じもする。この作者は、アリスと蔵六もそうだが、言語表現がうまくできないことによるコミュニケーション不全に強いこだわりがあるみたいだ。いえば、ぼくらのよあけ(これは文句ない傑作)もコミュニケーション不全もテーマになっていたが、それ以上の子供の団地をめぐる冒険という側面が強いからあまり気にならなかった。ところがハックス!は、アニメ研の部長、部外者の先輩、同じく新人の小僧君(副主人公なので何考えているかは明確に表現する)、映画研の気持ち悪い人、中学から一緒に来ている読書人(副主人公なので何考えているかは徹底的に書き込まれている)と、コミュニケーション不全なステロタイプがわらわら出て来るので、話は楽しく愉快なアニメ制作マンガなのに、グロテスクな陰気さがある。おもしろいはこれまた抜群におもしろいんだなぁ。いうわけであっというまに読了。新しいマシンだけあって、ページめくりだろうがなんだろうが一切の遅延なく読み返しも楽勝、良いものを買った。永遠のリベルタンゴ野口さんがお勧めしていたので観に行った。少なくともヨーヨーマのCD買って持っているくらいにはピアソラは好きな作曲家だ。プレイズ・ピアソラ(ヨーヨー・マ)でも、1曲目がタイトルにもなっているリベルタンゴだとは知らなかった(ていうか全部同じ曲に聞こえていた。映画観てどこで区別するかわかった気はするが)。映画は、息子の思い出話と娘によるインタビューテープ(伝記執筆のために録ったもの)、放送テープ(だと思う)、家族8mmのモンタージュで、おそらく作家のダニエル・ローゼンフェルドは、ヴィムヴェンダースに影響を受けていなければ嘘だ。