この本では一貫して、 設計とは「判断をどこに閉じ込めるか」という行為である、という視点を扱ってきました。
- 判断は必ず変わること
- 壊れることを前提にすること
- 判断をコードに残すこと
- 判断をチームで共有すること
ここまで読み進めてきた読者であれば、 設計という行為が、単なる構造設計やパターン選択ではないことは、 すでに感じ取っているはずです。
この終章では、 そうした設計観を踏まえたうえで、 設計者の責任とは何か を改めて言葉にします。
設計者は、正解を当てる人ではない
設計者という言葉から、
- 先を見通す人
- 最適解を選べる人
- 失敗しない構造を作る人
を想像するかもしれません。
しかし、本書の立場は明確です。
設計者は、 正解を当てる人ではありません。
なぜなら、
- 要件は変わる
- 前提は崩れる
- 想定外は必ず起きる
からです。
設計者に求められるのは、 当てる力ではなく、外れたときに耐えられる力です。
設計者の責任は「選び直せる状態」を作ること
では、設計者は何に責任を持つべきなのでしょうか。
それは、 将来、判断を選び直せる状態を残すこと です。
- どこに判断があるか分かる
- どの判断が強いか弱いか分かる
- どこを変えればよいか議論できる
この状態を作ることが、 設計者の責任です。
逆に言えば、
- なぜこうなっているか分からない
- 触るのが怖い
- 壊したら戻せない
という状態を残すことは、 設計者の責任放棄だと言えます。
良い設計は、未来への配慮である
設計は、 その場の問題を解くだけの行為ではありません。
- 数か月後の自分
- これから参加するメンバー
- 自分の知らない誰か
そうした未来の人たちが、 コードと向き合うことになります。
良い設計とは、 未来の他者に対する配慮 です。
- 迷わなくて済むようにする
- 壊してよい場所を示す
- 判断の痕跡を残す
これは、 技術的な話であると同時に、 とても人間的な話でもあります。
設計し続けるという責任
設計は、一度して終わりではありません。
- 要件が変わる
- チームが変わる
- 技術が変わる
そのたびに、 判断を見直し、置き直す必要があります。
設計者の責任とは、
- 設計を固定しないこと
- 変化を前提に更新し続けること
でもあります。
壊れることを恐れず、 壊したら直せる状態を保ち続けること。
それが、 設計者としての誠実さです。
この本のまとめ
最後に、この本全体を一文でまとめます。
設計とは、判断を閉じ込め、選び直せる状態を未来に残す行為である。
構造やパターンは、その結果にすぎません。
- 判断をどこに置くかを考える
- 判断の強度を選ぶ
- 判断をコードとチームに残す
これらを繰り返すことが、設計です。
完璧な設計は存在しません。
しかし、 誠実な設計 は存在します。
この本が、 あなた自身の設計の判断を見直すきっかけになれば幸いです。