状況に対する不満の核となる原因は、おそらく、顧客が使用する認識と誤解を招く/誤った用語の1つです。顧客は通常、要件のリストを持ってあなたに来ませんが、彼らがそれについて考えることができるすべての一つ一つのウィッシュリストは彼らにとって有用かもしれません。顧客はまだ各機能が本当に必要かどうかを本当に考えるために時間を費やしていないので、これらはすべての要件ではありません。
これは必ずしも問題ではない
顧客がこれらすべての機能にお金を持ち、それを手放す意思があり、顧客が実際に抱えている実際の問題を解決することにあまり関心がない場合、これは非常に有利なプロジェクトになる可能性があります。非常にまれにしか発生しません。ほとんどの開発者にとっては、プロジェクトが最終的に顧客にとって成功しないことを事前に感じることができるため、魂を殺す作業です(開発者としてあなたにとって経済的に成功したとしても)。また、多くの不確実性を伴う固定費プロジェクトになる可能性が高いため、リスクが高くなります。また、大規模プロジェクトのリスクを誤って判断することは本当に問題です。
それが問題である場合はどうなりますか?
あなたがそのようなまれな状況にいないと仮定しましょう。この場合、ウィッシュリストの2つの主な欠点に対処する必要があります。
- 顧客がこのような膨大な要件のリストを作成するコストについて正しい考えを持っている可能性は低いため、実際に必要な金額の契約を取得することはまずありません。
- このウィッシュリストが、顧客が解決しようとしている実際の問題を正確かつ簡潔に説明しているとは考えられません。
私の経験では、修正するために2に対処する必要があります。実際の問題にドリルダウンすると、開発者は、顧客自身が考えもしなかった方法で問題を解決する創造的な飛躍をするために必要な入力を得ることができます。これらのソリューションは、完全なウィッシュリストの実装よりもはるかに安価で迅速です。
どのように修正しますか?
Matthew Flynnが答えで言っているように-最初に顧客に要件を優先させることから始めます。これは必ずしも簡単ではありませんが、強制的に実行させます。必要に応じて、「誰かがあなたの頭に銃を持っている場合、どの単一の要件を守りますか」というフレーズを使用します。多くの場合、このプロセス中に、個々の要件が何を意味するのかを顧客が本当に明確に把握していないことに気付くでしょう。その場合、Peter Rowellが提案することを実行し、ユーザーにUser Storiesで作業してもらいます。あなたと顧客は問題と要件をよりよく理解し始め、優先順位付けに戻ることができます。顧客の問題を解決するのに十分な知識があると感じるまで、必要な回数だけこれらの手順を繰り返します。
それは、ソリューションを開発するという質問にどのように答えますか?
要件の優先順位リストを作成したら、顧客に段階的な開発プロセスを提案するために必要な情報を入手できます。アジャイルと呼ぶ必要はありませんが、各要件(または分割不可能な要件のセット)ごとに契約を細かく分割し、顧客による検証とともに1つずつ提供することを提案できます。または、全面的に利用して、オンラインおよびオフラインで利用可能な多くのリソースを使用して、アジャイル開発スタイルの1つに協力することが顧客にとって最善の利益であることを納得させることができます。いずれの場合でも、これらの要件の構成要素を優先度順に明確に提案する形式で契約/プロジェクト提案を提供できます。それぞれに独自のコストと結論があります。そのニンジンを顧客の前に持って、