アジャイル開発において度々出てくるのが「ユーザストーリー」です。いわゆるフィーチャーベースで要望を書き、複数のユーザストーリーをイテレーションの中でこなすというものです。
ユーザストーリーはUMLでいうユースケースに近いもので、「誰」が「どう」する。それは「なぜ」かを基本として記述します。例えば
顧客は商品を購入する。それは顧客が商品を欲しいからだ。
みたいな感じです(実際にはもっと砕いた感じですが)。
で、個人的にはユーザストーリーは殆ど使わないのですが、その問題点として
網羅性に欠ける
可能性が高いというのがあります。顧客であるプロダクトマスターが全ての要望を把握していれば良いのですが、実際にはそのようなことはありません。優先度が高いのに忘れてしまう要望だってあります。例えば
ショッピングカートの商品を削除したり、数量を変更する機能
を忘れてしまうかも知れません。重要な機能だから覚えているはず、という前提に立っているのがユーザストーリーです(またはいつかのイテレーションでは思い出すはずと)。でも実際には本当の最後の最後まで忘れていて、突然思い出したなんてことはざらです。
そのため基本設計くらいのドキュメントは必要であると考えています。現段階で分かっている機能をリストアップしておけば(実装順番は別として)、システムとして実装しておくべき機能が把握できます。一覧で見れば、より漏れがないかを確認しやすくなります。
基本設計くらいの浅いドキュメントであれば、優先度の変化に応じた修正もそれほどの手間ではありません。ドキュメントはとにかく作り込みすぎないこと、これが大事です。