torutkのブログ

ソフトウェア・エンジニアのブログ

アジャイルな設計

設計とは、正しい解が存在してそれを見つけることではなく、様々な(相反する)制約をうまくトレードオフして妥当と思われる解を作り出すことにあるんだろうなと漠然と考えています。デザイン・パターンの適用も使えば複雑になる、使わねば再利用性が劣る、その間でどっちを取るかトレードオフしましょう、というのがあるべき姿なのでしょう。

やっかいなのは、そのときは妥当と思っても、後になってみると違ってきてしまっていることでしょう。先が見えてなかったり、状況が変化してしまったり、山が外れてしまったり、いろいろですが。

アジャイル開発は、その場でのトレードオフでは実現が簡単な方に倒しておき、後で違ってきたことが判明すればその時点で妥当な解に再設計して変更してしまうというアプローチです。