3章デザイン戦略を立てる

ソフトウェアアーキテクチャの設計は、いつだって少し混沌としているものだ。すべてのソフトウェアシステムは、常に不確実性の渦に取り巻かれている。けれども、計画を持つことは重要だ。しっかりとしたデザイン戦略を立てることによって、私たちは不確実性の霧の中であっても自分たちの道を感じ取れるようになる。

デザイン思考は、複雑な問題に対する解決策を見つけるのに最適なアプローチだ。デザイン思考は、最初の取り組みで問題を完璧に解決しようとはしない。その代わりに、学習と実験に重点を置く。実装なしにアーキテクチャをテストすることは不可能かもしれない。しかし、アーキテクチャを設計していきながら、その部分部分を段階的に検証していくことは可能だ。私たちはデザインマインドセットとThink-Do-Checkサイクルを使って、次に注意を払うべき場所を定めることができる。

「2章 デザイン思考の基礎」では、デザイン思考の基本的な原則とデザインマインドセットの使い方を学んだ。この章では、ソフトウェアシステムの持つリスクを考えることで、より幅広いデザイン戦略の一環としてデザインマインドセットを選ぶ方法について学んでいく。

3.1 満足のいく設計を見つける

私たちがいるのが合理的な世界であれば、問題を解決する完璧なアーキテクチャを設計する前に、まず問題を完全に定義することだろう。しかし、実際はそうではない。Herbert Simonは『システムの科学』[Sim96]において限定合理性(bounded ...

Get Design It! ―プログラマーのためのアーキテクティング入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.