『進化的アーキテクチャ』を読みました
現代におけるエンタープライズアーキテクチャは、もはや静的な計画をあてにすることはできなくなっています。そしてソフトウェア開発エコシステムは、ツールやフレームワーク、技術イノベーションの流れと共に絶え間なく変化しています。こうした状況の中で、いったん構築したシステムを成長させていくには、さまざまな変化に適応しながら進化するアーキテクチャをシステムに組み込む必要があります。本書は、そうしたアーキテクチャを「進化的アーキテクチャ」と名付け、その構築に必要な考え方や技術、実践方法などについて解説するものです。
ThoughtWorksの3人のスペシャリストから現代のソフトウェアアーキテクトに向けられた本書は、絶え間ない変化を支える進化的アーキテクチャを構築するために必要なすべてを提供する実践的なガイドです。
ということで進化的アーキテクチャを読みました。内容は…自分にはかなり難しかったです。
この本は「こういうふうにアーキテクチャを設計するといいよ」という答えが書いてあるわけではなく、『適応度関数』という評価指標を設定しています。
適応度関数は、アーキテクチャの中で重要なことを総合的に示し、ソフトウェア開発において重大で厄介なトレードオフ判断の類を行えるようにする P23より
ということで本書にはよく適応度関数がでてきます。また本書内で様々なアーキテクチャを評価しており、アーキテクチャを評価するという視点自体がとても新鮮で気づきがりました。
この本を読んでみて
この本を読んで一番よかったことはアーキテクチャというものに対する意識が変わったことです。アーキテクチャといえばOSとかそういうもののことだと思っていましたが、実は今開発しているシステムの設計にも組み込まれておりとても身近だということに気が付きました。
開発で改修する時も、MVCモデルやフォルダ構成だけでなく、もっと大枠のアーキテクチャを意識することが出来ればより変化に強く完成度の高いシステムになると思います。日々アップデートしていく要件に対し進化するアーキテクチャを設計できればかなりかっこいいと思います(笑)ただ、現実的にそこまで深くシステムを理解した上で改修に入るのはなかなかないとも思いました。
難しい内容だったので一読して全てを理解できたわけではありませんがまた機会をみて読み返したいと思います。