私が経験したアジャイル開発の最大の欠点は、開発に携わらない人が、ユーザーストーリー(3〜10人の理想的な人の日)が次のような1〜3文を超えてはならないというマントラに集中することです。
顧客として、フリーテキスト検索を使用して、探している製品を見つけることができます。
この文を与えて、プロジェクトマネージャーは私が開発者として見積もりにコミットし、ストーリーを開発することを期待しています。彼らは、アジャイル開発とは、開発者に提供する必要があるのはこのような文だけであると想定していることです。
アジャイル開発に関する有名な文献が、これが実際に機能するという印象を与えるので、私はそれらを責めません。「Planning XP」の記事ごとに自然言語で2ページのようなものを読みましたが、それだけです。「包括的なソフトウェア」よりも「動くソフトウェア」が好まれるため、このトピックは一般的には避けられているようです。
もちろん、現実には、開発者にそうする機会が与えられた場合、顧客とのインタビューによって、顧客がストーリーに関して持っている要件の長いリストが表示されます。
- ANDやORなどのブール演算子が必要です。
- すべての用語でファジー検索が必要です。
- フレーズだけでなく単一の単語でも検索する必要があります。
- 基準X、Y、およびZを満たす製品を検索する必要はありません。
- 結果をソートします。ああ、ところで、ユーザーはオプションa、b、cのコンボボックスで並べ替え条件を選択できます。
技術的な詳細やソフトウェアの設計、実装の詳細についても話しているのではないことがわかります。それは純粋な要件です。話す時間が長ければ長いほど、顧客は実際に彼らが望むものについて多くのことを言うことに気付きます。
しかし、多くの場合、そのような情報が提供されていない状況や、非常に見苦しいやり方で自分自身を見つけます。私がインタビューを行うことも、インタビューを行う立場にある人がその結果を提供することもできません。
マネージャーは、「Lucene検索が必要」などの技術的な詳細を思い付く場合もありますが、製品名だけでなく製品の説明も検索するかどうかを考えたくない場合があります。時々私は彼らがただ怠け者だと思う;)
私にとって、これは私が働いているプロジェクトの最大の問題です(e-business Webアプリケーション、プロジェクトごとに500〜2000人日)。私はこの問題に十分な頻度で対処してきましたが、マネージャーはほとんどの開発者が状況に問題があることを認識しています。しかし、彼らは開発者があまりにも「完璧主義者」であると信じています。彼らは開発者が「常にすべてを指定したい」と悩んでいるようです。
一般的に認められている数字がないため、議論するのは難しいです。反復の長さは誰でも知っています。しかし、ストーリーを見積もり、開発するために必要な要件を誰も知ることができません。
参考資料はありますか?