Rのつく財団入り口

元はTRPG系のWebサイトの入り口だったブログです。最近のIT本の感想など。

【感想】ソフトウェアアーキテクトが知るべき97のこと

アーキテクト版のきのこ本

プログラマが知るべき97のこと』のアーキテクト版。こちらも世界で活動し、様々なシステムを作り上げたり複雑さと格闘したりしてきたベテランのアーキテクトたちの知見が詰まったエッセイ集です。

アーキテクトってなんやねん?

 日本語でもシステムアーキテクトITアーキテクト・ソフトウェアアーキテクトなど似たような名前と意味でなんとなく使われている上級技術者っぽいけど謎なこの職種。
 そもそもアーキテクトってなんやねん?という話ですが、この本には明確な定義はないですが前書きに、ビジネスサイドの人よりは技術に詳しく、プログラマよりはビジネスサイドのことが分かっている両者の中間あたりに位置するような人だ、とおおまかに書いてあります。

ソフトウェアアーキテクトが知るべき97のこと

ソフトウェアアーキテクトが知るべき97のこと

 両者の板挟みになることもあるがあるべき姿としてはそうではなく、ビジネスと技術の橋渡し役として、プロマネやその他の立場の人とも協力して進む道を定めたり、採用技術を選定したり、全体のアーキテクチャを考えたり、開発の現場では自分もコーディングしたり他のディベロッパーをサポートしたり教育したり、ルールや標準を定めたり、現場のコアメンバー、リードするメンバーとして活動し、プロマネとは違う立場で開発プロジェクトをなんとか成功に導く人、ビジネス価値の創造に携わる人というイメージでしょうか。

 日本だと国家資格の情報処理技術者試験システムアーキテクト試験が概ね相当するはずです。この資格を勉強した時にもおやっと思ったのですが、「一般的には実装フェイズには関わらない」云々と参考書にも書いてありました。
 これは日本特有というか日本のSI業界特有の特徴であり欠点であり、本来のアーキテクトは実装メインのディベロッパーからランクアップしてきた人、今でも実装バリバリやるような人も多いでしょう。本書の著者の人たちもそう見えます。

アーキテクトに大切なこと

 「プログラマ~」の方はみな自由奔放に書いていて時に相反するようなエッセイもありましたが、こちらはさすがに実務経験豊富なアーキテクトだからか、互いに矛盾するような意見はそれほどなかったように思えます。読み手との対話の如く著者がように伝えてくるメッセージはどれも基本的、根源的なものが多いです。

 ビジネスや要件はしっかり考えよ、本質を捉えよ、顧客ともチームのディベロッパともコミュニケーションはうまく取らなければならない、技術は正しく理解して使え、シンプルさを忘れるな、バランスが大事だ……などなどなど。

 言葉としてはみな知っているはずのことや他の本でもよく出てくるような話題も多いのですが、それだけ、ビジネスをシステムに落とし込んで価値を創造していく現場で得られた知恵の多くは、普遍的なもの、結局は当たり前のことなんだなと思います。

 技術やアーキテクチャの採用時には今後の拡張を含めて汎用性よりもまずシンプルさを重要視しろ、そして新しい技術に闇雲に飛びつくよりは使い古された技術を信用しろ……なんて意見が多いのは面白いですね。(失敗のリスクが高くつく大きいシステムだとこうなりますね)

 技術の話もありますが、コーディングで言うとクラスやメソッドのレベルよりもっと大きく高い視点、抽象化された視点の話になるので、普段コーディングしない人が読んでも面白いと思います。

 かといって視点は高ければ高いほどいいかというと航空写真レベルは高すぎるので上空300mぐらいからにせよという話があったり、あと何度か出てくるのが頭でっかちの象牙の塔に閉じこもっては駄目だ、という話。アーキテクトの立場になるとビジネスと技術のバランス、理論と実践のバランス、理想と現実のバランス、会議室と現場のバランス、現在と未来のバランス、完璧さとそうでない状態のバランス、種々の均衡をうまく取って行かないといけないんだなあと思います。

 システムアーキテクト試験の勉強をした際にも思ったのですが、結局のところアーキテクトクラスになると取扱うことになるのはtrue/falseや正しい/間違いの二者択一の問題ではなく、唯一の正解のない問題が大半のように思えます。

 その中で他者に説明できる根拠をもって選択し、決断したらあとはその道を突き進んで可能なら軌道修正したり破滅への道を避けたりしつつ、抽象化しきれない現実世界の複雑さに向き合ってなんとかうまくやり、どの選択肢を選んでも最終的にはなんとか成功の範疇に収めていく。本書で述べられるアーキテクトのバランス感覚というのもこういう話なのかなと思ったりします。

ネット版と書籍版の違い

 この本の内容もネット上で見ることができます。

https://xn–97-273ae6a4irb6e2h2ia0cn0g4a2txf4ah5wo4af612j.com/

 書籍版の装丁で「プログラマが~」と違うところというと、見開き2Pに著者さんの写真も載っているのは同じですが、略歴は巻末でなくエッセイの後に乗っています。

 さすがに世界で活躍するアーキテクトだけあって、「プログラマ~」に載っている人たちに比べると写真も平均年齢が高め、長髪の人も中にはいましたがギークっぽい人が減ってビジネスマン然とした人が多いですね。女性の数が減っています。お客さんの企業の会議室で堂々としゃべってる光景が目に浮かびそうな、ベテランの風格のあるアーキテクトおぢさんの写真が並んでいます。
日本のビジネスマンだと比較的少ないからか、ひげのおぢさんが割と多いような気がしました。あと全体的に頭の切れそうな人が多い感じがします。

 堅めの話題が多いので「プログラマが~」に比べるとあまり話題になっていないような(?)気のする本ですが、プログラミングの経験がある程度身に着いたらひとつ上の視点を得るために読んでみるのも面白いのではないでしょうか。日本語版は97+日本人11エッセイがついています。