1章イントロダクション
「ソフトウェアアーキテクト」という職種は、世界中で最高の職業リストの上位に入っている。では、診療看護師やファイナンスマネージャーといった、そうしたリストに載っている他の職業には明確なキャリアパスが存在しているのに、なぜソフトウェアアーキテクトには明確なキャリアパスがないのだろうか?
その理由の1つに、ソフトウェアアーキテクチャ自体の定義が業界でよく定まっていないことが挙げられる。基礎講座を教えていると、受講者から「ソフトウェアアーキテクトの仕事を簡潔に定義してほしい」とよく言われる。しかし、私たちはそれを頑なに断ってきた。そうしているのは私たちだけじゃない。Martin Fowlerも、「Who Needs an Architect?」(https://oreil.ly/-Dbzs)という有名な記事で、それを定義しようとはせず、代わりに次の有名な引用を残している。
アーキテクチャとは(それが何であれ)重要なものだ。
Ralph Johnson
しかしながら、どうしてもソフトウェアアーキテクチャを定義せざるを得なくなった際、私たちはやむなく図1-1のマインドマップを作成した。このマインドマップは、完全な定義とは程遠いものの、ソフトウェアアーキテクチャの範囲を示している。私たちのソフトウェアアーキテクチャの定義についても、この後すぐに説明する。
2つ目の理由に、このマインドマップが示すように、ソフトウェアアーキテクトの役割が非常に広範囲にわたり、拡大を続けているということが挙げられる。10年前には、ソフトウェアアーキテクトは、モジュール性、コンポーネント、パターンといった、アーキテクチャにおける純粋に技術的な側面だけを扱っていればよかった。しかし、ソフトウェアアーキテクトの役割は、マイクロサービスのような、より広範囲の能力を活用する新しいアーキテクチャスタイルの台頭によって、拡大していっている。アーキテクチャと他の要素との交わりについては、 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access