The Inevitable Pain of Software Development

The Inevitable Pain of Software Development, Including of Extreme Programming, Caused by Requirements Volatility. - Daniel Berry

ソフトウェア開発には避けられない苦しみがある。

そんな風に言われたとき,ええと……なんていうか,自由市場における競争とか,生物の進化における自然選択とか,そういうのを連想したんだ。

そういったプロセスでは,一定の敗者が生まれることを前提においている。それは残酷な結論かもしれないけれど,そうした効率の悪い部分を受け入れる余地が存在していることで,全体としては良い方向へと適応を続けることができるんだ,と。

どんな開発手法も,ソフトウェア開発の本質的な複雑性から生じる「苦しみ」を,消し去ることはできない。ただそれを,予測可能なものにしたり,量的な分析を可能なものにしたりすることはできるかもしれない。それはとても重要なことだと思う。

それで,最終的に必要になるのは,その「苦しみ」を受け止めるだけの余地を用意しておくことになると思うんだ。たとえそれが残酷な結論を導き出す可能性を秘めているとしても,ね……。

(via Scott Rosenberg's Wordyard)