この書籍は、全体像から始まり、3段階にわけて段階的に具体的になっていくように書かれています。
最初の入門部分は広く浅く記述されており、全体像が見渡せます。設計の基礎の部分ではより踏み込んで設計について学ぶことができ、最後のツールボックスの部分では、直接実行できるテクニック集が書かれています。
全体としては、「アジャイル開発」におけるアーキテクティングとはどういうものなのか、ということについて書かれているような感じですが、幅広く書かれているので、古典的な手法についても書かれています。
「品質特性」「トレードオフ」という言葉が度々出現するので、複数の設計が考えられる場合は、「アーキテクチャ上重要な要求」に基づいて複数の設計の品質特性などを比較する必要がある、というようなことを学べました。その比較検討の際には、ツールボックス内に書かれている「意思決定マトリックス」などの手法が使えるようです。
このように、この書籍では、「アーキテクチャを考える上で考慮するべきこと」という目標に対して、実際の具体的な方法をツールボックスを使って説明している部分が多いです。また、Lionheartプロジェクトという節が用意されていて、実話に基づく話が書かれているので、手法の適用方法についてのイメージはしやすいです。
アーキテクチャを考える上ではチームと協働する必要がありますが、チームから離れて設計するようなアーキテクトは「象牙の塔アーキテクト」と呼ばれるようです。アーキテクトの権限は、チームのレベルアップに応じてチーム自体に委譲されるようになり、レベルが上がればアーキテクトは「命令」から「サポート」という役割になっていくと書かれています。その意味では、この書籍の「アーキテクチャ」に関する手法はプログラマーにも使えると言えるでしょう。
例えば、プログラマーには品質要件やトレードオフに関して頭が回らない人がいるかもしれませんが、この書籍の知識を用いて「アーキテクチャ」について考えられるようになれば、「ビジネス目標に対してどんな品質特性が重要視されているか」「どの品質特性どうしがトレードオフの関係にあるか」ということに頭が回るようになるかもしれません。
なので、「アーキテクチャ」はアーキテクトだけが考えるのではなく、チーム全体が考えるべきことだと理解でき、納得感がありました。
星が5ではない理由は、「アイデアは豊富に書かれているけど、自分たちのチームに適用する場合は迷子になる可能性がある」という点です。確かに、ツールボックス内には、それぞれのツールの利点や使うべき状況や手順が書かれていますが「ツールの選択」という点では経験や知識が必要だと思います。つまり、この書籍の欠点としては、読者がツールを盲目的に使ってしまう可能性があるということです。
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
無料アプリを入手するには、Eメールアドレスを入力してください。
