小島@福井コンピュータです.
>例えば従来のウォーターフォールって顧客側から見ると「最初に全ての仕様と
>期間、そして費用をFIX出来る」という大きなメリットがあると思うんです。
そうですね.
最初に本当に顧客の望む全ての仕様と期間,費用が算出出来て,その通りに
行くケースであれば,ウォーターフォールの方が良いと思います.
ウォーターフォールで顧客の望むものが予定通りに顧客の手に入るような
場合であれば.
但し其れはレア ケースではないでしょうか.
# 少なくとも私は殆ど経験有りません.
私は,最初に FIX した仕様通りに作った場合の最終的な顧客満足度は,
そんなには高くなりえないと考えます.
理由は以下の三点です.
1.) 既存のアプリケーションを移植するような特殊なケースを除き,
最初に顧客の望む全ての仕様を作成することには無理がある.
開発者は顧客のビジネス上の問題をソフトウェアで解決し,顧客にビジネス
上の利益をもたらし其の対価を受け取る.
だが,顧客のビジネス上の問題点というのは通常暗黙知であり,顧客でさえ
も形式知の形で表現することが難しい.この状態の顧客のビジネス上の
問題点を,開発者が「顧客の代わりに」解決するのは無理がある.
2.) 仕様を全て網羅するような仕様書を書くことが難しい.
または,十分な精度をもって仕様書を書くことが難しい.
3.) 開発期間中に顧客のビジネスが変化することが有る.
逆に,もし仕様を最初に FIX しなければ,最初に全ての期間と費用を
FIX して開発側が常にその高いリスクを全てかぶるということ自体に,
ビジネス上無理があると思います.
# 開発側の「ハイリスク&ハイリターン」という形であればビジネスとして
# 成り立つかも知れませんが,顧客側にはデメリットと成ります.
よって,ウォーターフォールが顧客側にメリットがあるのはレア ケース
ではないかと考えます.
# XP では,顧客からの要望に対して繰り返しフィードバックを行うことで
# 顧客の要望を少しずつ引き出し,形式知の形に変えて行きます.
# そして,XP は,顧客側と開発側の win-win を最初から「現実的に」
# 目指している点が good だと思います.