Product と Process の危険な関係(-.-)
»
ソフトウェア開発において、プロダクトとプロセスの関係について短い考察してみたい。
ふつう、1つのプロセスによって複数のプロダクトが作り出せることから、プロダクトに対してプロセスは上位関係にあると考えられている。Product Line や Software Factories でも、プロダクト群(プロダクトファミリ)に対して1つのプロセスが対応関係にある。
これに対して、アジャイル開発では、1プロダクト1プロセス、もしくは1プロジェクト1プロセス、という関係になることが多い。自分たちでプロセスをどんどんカスタマイズし、学習によって改善していく。その結果、最初のプロセスの形がプロダクト(プロジェクト)にあった形に変形していく。なので、
プロセスはプロダクトに対して上位の関係ではなく、若干斜め上、くらいの関係なのだ。
そして、この斜めの傾きは、プロダクト(プロジェクト)の性質と関係している。ビジネスや要求変更の速さが早いと、複数のプロダクトに使えるプロセスを定義すること自体が逆にコストリスクになる。
生物のメタファを使えば、品種改良(生物でいう進化)が早ければ、安定的なプロセスを作るよりも、1プロダクト1プロセスの関係と捉えたほうが効率がよい。また、製造業のメタファだと、少品種大量生産と多品種少量生産の違いに近い。
Alistair Cockburn は、プロセスではなくプロセスファミリと言う形でクリスタル方法論を定義している。これは、斜め45%くらいのプロセスの置き方だといえるだろう。
SpecialPR