見出し画像

クリーンアーキテクチャ本の読書メモ 第1章〜第2章

Challenge Every Monthというコミュニティにて、上記本の輪読会が行われている。様子は以下を参照。

自分は第4章から参加させてもらっている。みんなのペースに追いつくため、第2章まで読んだので、自分なりに読み取った・感じたことを雑にメモしておく。

第1章 - 設計とアーキテクチャ

ソフトウェアを世に出すことを優先し、クリーンな(優れている)アーキテクチャで設計・コードを書くことを怠けてしまうと、短期的・長期的にも生産性が落ちていく。

ということを感じとる内容が、とあるストーリーに沿って書かれている。

優れたクリーンなアーキテクチャとその意味を学ぶため、本書を読み進める。

第2章 - 2つの価値のお話

ソフトウェアとは、以下のような意味合い。

・ソフト ... 柔軟な
・ウェア ... 製品・プロダクト

HDD等のことをハードウェアと呼ぶが、それは振る舞いを変更できない(しにくい)製品であるから。

ソフトウェアは、要件に対して柔軟に変更できるべき。だが、現実はビジネスサイドの要件を半ば無理やりアーキテクチャやコード入れたことにより、変更コストが高く、事実上変更できないソフトウェアがある。

どんな仕事、ソフトウェアの要件についても、アイゼンハワーのマトリクスで以下の事柄に分けられるはず。

1. 重要かつ緊急である
2. 重要かつ緊急ではない
3. 重要ではないが緊急である
4. 重要ではないかつ緊急ではない

ビジネスサイドは、よく3の要件を1に昇華させがち。

ソフトウェア開発者は、アーキテクチャの重要性・ソフトウェアの保護を考え、ビジネスサイドと闘争すべき。

要件を先に取り入れ、アーキテクチャをおろそかにしてしまうと、ソフトウェアの開発コストは高くなり、一部または全部変更不可(凍結)となってしまうこともありえる。

所感

アーキテクチャを疎かにし、常に要件を反映していたプロダクトのことを思い出した。

そのプロダクトは、知る限り7年以上続いているが、クリーンアーキテクチャ本に書いてある通り、通常なら1日未満で終わる修正が、調査・検証のリスクを考慮して1週間かかることもざらだった。

この本からは、それを繰り返さないためのヒントが得られたらなと思う。

この記事が気に入ったらサポートをしてみませんか?