Aチームはアジャイルで成功、BチームはWFで失敗するとき、Bチームが成功する条件を述べよ
ご質問をいただいたような気がしましたので。
誰でもウォーターフォールを出来ると思ってたの。そんなのあるわけないじゃん… - 室長のひとりごち
勉強不足で恐縮ですが、アジャイルだから上手くいった、ウォーターフォールなら失敗していた、というプロジェクトがあったとして。それってウォーターフォールでも上手くいったんじゃないか?って思ったり。
2017/12/03 16:05
たびたびブログの中で、アジャイル開発もウォータフォールもどちらもシステム開発手法の仲間であると書いているのでそれについてはご理解いただけていると思います。
設問
では、あるプロジェクトがあり2つの手法を2つのチームが実践したときに、次の結果となったとします。
このとき、ウォーターフォールでも実は成功する条件を述べよ。なお、2つのチームの技量は同じであるとする。
検証例
Bチームが採用したウォーターフォールで成功する場合の条件を考えてみます。ウォーターフォールでのシステム開発は、俗に計画駆動型とも呼ぶように開発当初からスコープが決まっている場合のプロジェクトにフィットします。
プロジェクトを開始するために計画を立てる時点でプロジェクト完了時のゴールである要求(スコープ)が固定(変動しない)であり、それはQCDが開始時点で設定可能ということです。
これは要求が固定しているため、リソースと日程を見積もることができる、という意味もあります。
Bチームが成功するためには、要求が固定していることが必要です。逆に言えば、要求が固定していない、つまり、要求が変動する状態であればリソースと日程を精度高く見積もることができないため、失敗する可能性が高いです。
Aチームが採用したアジャイル開発は設問では、成功したことになっています。ご存知のとおり、アジャイル開発は総称で、実際のシステム開発手法名には、スクラムやXPなどがあります。ここでは便宜上、スクラムと定義します。
スクラムでは、リソースと日程が固定です。これはチームの人数を最初から固定します。日程についても決めたサイクル(一般的には2週間)で固定し、繰り返し開発を行います。一方、要求(スコープ)は固定されたリソースと日程の中で対応できる可能な範囲でしか開発の対象とはなりません。
言い換えれば、開発テーマのボリューム(テーマごとの規模)が2つの要素を掛け合わした面積に入るだけしかやらないのでどの開発テーマを選ぶかにより変動するということを意味しています。
Aチームが成功せるためには、リソースと日程を固定し、面積の中で要求を調整できれば成功できます。逆に、要求が固定であった場合もリソースと日程の面積に入るのであれば成功します。
ただ、要求が固定の場合、アジャイル開発をシステム開発手法として選択する価値はありません。
結論
要求が変動する場合のみ、ウォーターフォールを採用したプロジェクトは失敗する。
要求が固定 要求が変動
Aチーム アジャイル開発 成功する 成功する
Bチーム ウォーターフォール 成功する 失敗する
まあ、現実には要求の変動がプロジェクト内でコントロールする可能な範囲でプロジェクトを制御し続けるため、結果的に成功の範囲内でプロジェクトが集結しているだけです。