悪い要件を押し戻すことを信じています。しかし、私はあなたが彼らがなぜ悪いのかを説明するためにあなたのベストショットを与えて、彼らがまだ彼らを望んでいるとき、あなたは同意してあなたの仕事をすると信じています。
たとえば、私は、アプリケーションが既に行っていることと相互に排他的な要件を必要とする人々がいました。私がそうすれば、これは100%保証され、壊れます。それで、私は要件を送り返し、これにより、すでに存在するこの他のビジネスルールが破られることを伝え、彼らもこのルールを変更したいのですか?多くの場合、特定の要件を考え出す小さなグループは、アプリケーションの他の部分が何をするかについての全体像にアクセスできません。私がこれらのいずれかを返送したほとんどの場合、顧客は初期ルールがより重要であることを認識し、必要な変更は価値がないと判断しました。彼らが変更を行うことに決めたとき、彼らは最初の要件をプッシュした人々と相談した後にそれをしました。
明確化の質問をするだけで、問題が思ったほど単純ではないことがわかります。なぜ彼らが何かを望んでいるのかを尋ねて、変化を推進している本当のニーズにたどり着きたい場合があります。それを理解すると、開発者としてあなたのために機能し、彼らのニーズを満たす代替ソリューションを見るのがしばしばより簡単です。元の提案よりも、どのようにニーズに合っているかという点でそのソリューションを提示できれば、変更を受け入れる可能性が大幅に向上します。
変更によって設計の基本レベルで大混乱が発生する場合、変更にかかる時間の新しい見積もりを与えるだけで、それを無効にすることができます。それに、新しいバグを導入する可能性のある重要な機能を指摘するリスク評価と、3人による6週間の熱心な努力が必要だと伝えると、突然、それほど重要ではなくなります。
しかし、これは良い考えではなく、なぜだと彼らに言います。あなたはいくつかを勝ち取り、いくつかを失い、時にはビジネスのニーズが真に変化し、アプリケーションはそれに対応しなければなりません。決定が確定したら、今何をしているのかを疑問視する時間ではなく、それを実行する時間でもありません。異議を文書化した場合、予算を超えて新しいエキサイティングなバグを引き起こす場合、個人的にはまだ良い場所にいるはずです。そして、あなたがこれらの種類のことで正しいことの実績を築いたとき、彼らはあなたに耳を傾けるのをもっと喜んでもよいかもしれません。
これらの議論の多くに勝つための鍵は(誰もそれらのすべてに勝つことはありません)、あなたが話していることを知るための実績を最初に構築することです。次に、懸念事項を記載した文書を送信します(多くのマネージャーはリスクを負い、後で間違いを証明する文書を誰かに見せたくない可能性が高いため、文書に書いた内容に注意を払います)変更を行うためのすべてのコスト(時間だけでなく、セキュリティリスク、新しいバグの導入、期限の欠落など)を確実に理解するため。変化は自由ではなく、彼らはそれを理解する必要があります。次の鍵は、これを大人のように行い、泣き言を言う子供のようにしないことです(「しかし、私は使いたくありません...私はそれが好きではないので」)。それを行わないことでビジネスケースを作成すれば、悪い要件を押し戻す際により多くのことが得られます。