はじめに
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
ソフトウェアアーキテクチャのスキルを向上させたいか? 以前、ソフトウェアアーキテクチャは80%がコミュニケーション、20%が技術だと誰かに言われたことがある。数字には必ずしも同意しないが、その考えには確かに一理ある。ソフトウェア開発は社会的活動であり、全員が同じ方向に向かって進むためには、参加者全員が共通のコンテキストと目標を共有する必要がある。 ソフトウェアアーキテクトやテクニカルリードとしてのあなたの役割は、それを実現することだ。残念ながら、人間が作成したものであれAIエージェントが作成したものであれ、ほとんどのソフトウェアアーキテクチャ図は、ボックスと矢印がごちゃごちゃに絡み合った混乱した状態になっている。これは曖昧さを生み、コミュニケーションを妨げ、チームのパフォーマンスを低下させる。
私は、ソフトウェアエンジニアリングチームが、事前の設計セッション中や、既存のコードベースを事後的に文書化する際に、ソフトウェアアーキテクチャを記述し、コミュニケーションする手助けとなる手段として、C4モデルを作成した。これは、Googleマップを使って興味のあるエリアをズームイン・ズームアウトするように、様々な詳細レベルで「コードの地図」を作成する方法である。
「C4」という名称は後から付けられたものだが、C4モデルの背景にある考え方は2000年代半ばにまで遡る。 それ以来、私は約40カ国、ほぼすべての業界にまたがる数百の組織を訪問する機会に恵まれた。スタートアップや特定の国に特化した小規模企業から、急成長企業、世界的に有名な企業に至るまでバリエーションが豊富。こうした多様な環境が、C4モデルの背後にあるアイデアを形作り、検証し、実地テストするのに役立った。現在では、多くのエンジニアリングチームにおいてソフトウェアアーキテクチャを図式化するデファクトスタンダードなアプローチとなり、主流と見なされている。
本書は、ソフトウェアアーキテクチャの可視化とコミュニケーションにC4モデルを活用するための包括的なガイドである。読者は、なぜほとんどのソフトウェアアーキテクチャ図が無意味なのか、それらをどのように批評し、修正すべきか、そしてC4モデルを用いて、ソフトウェアアーキテクチャを記述するためのシンプルかつ強力で、エンジニアにとって使いやすい図のセットを作成する方法を学ぶことになる。
本書の対象読者
C4モデル(および本書)の主な対象読者は、ソフトウェアアーキテクト、テックリード、およびソフトウェアエンジニア/開発者である。ソリューションアーキテクト、エンタープライズアーキテクト、インフラエンジニア、テクニカルテスター、テクニカルライター、および同様の役割を担う人々も、C4モデルがもたらす共通言語から利点を受けるだろう。
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