「完璧だと思った要件定義書」に潜む落とし穴
「要件定義はバッチリ!これで開発もスムーズに進むはず」
そう確信してプロジェクトを開始したものの、開発途中で「あれ?この場合の処理ってどうするんでしたっけ?」「この要件、実は矛盾してません?」といった問題が次々と発覚...
PM・システム企画として、こんな苦い経験はありませんか?
私も以前は、関係者との会議を重ね、詳細な要件定義書を作成したつもりでいました。しかし、実際には見えない抜け漏れが必ずと言っていいほど存在していたんです。
でも最近、生成AIを「壁打ちパートナー」として活用することで、要件定義の品質が劇的に向上しました。今日はその具体的な手法をお伝えします。
なぜ要件の抜け漏れは発生するのか?
まず、抜け漏れが生まれる根本原因を整理してみましょう。
原因1:思考の盲点(認知バイアス)
- 確証バイアス:自分の考えに合致する情報ばかりに注目してしまう
 
- アンカリング効果:最初に決めた方針に固執してしまう
 
- 楽観バイアス:「きっと大丈夫だろう」と思い込んでしまう
 
原因2:関係者とのコミュニケーション限界
- 限られた時間での要件ヒアリング
 
- 業務を知り尽くした担当者の「当たり前」の説明不足
 
- 複数部門間での認識のずれ
 
原因3:例外パターンの見落とし
- 正常系の処理ばかりに注目し、異常系を軽視
 
- 稀にしか発生しないケースの考慮不足
 
- システム間連携での境界処理の曖昧さ
 
AIを活用した「要件壁打ち」の5つの手法
手法1:悪魔の代弁者アプローチ
AIに批判的な視点から要件を検証してもらいます。
プロンプト例:
以下の要件定義について、批判的な視点で問題点を指摘してください。
特に以下の観点で厳しくチェックしてください:
1. 曖昧で解釈が分かれそうな記述はないか
2. 実現困難または非効率な要件はないか  
3. 他の要件と矛盾する箇所はないか
4. 考慮されていない例外ケースはないか
あなたは経験豊富なシステムアナリストとして、
遠慮なく問題点を指摘してください。
【要件定義書】
[要件定義の内容をここに貼り付け]
実際の指摘例:
- 「『迅速に処理する』とありますが、具体的な処理時間の定義がありません」
 
- 「ユーザー登録の要件で、重複メールアドレス時の処理が明記されていません」
 
- 「決済処理の要件とキャンセル処理の要件で、在庫の扱いが矛盾しています」
 
手法2:ステークホルダー視点の切り替え
異なる立場の人の視点から要件を評価してもらいます。
プロンプト例:
以下の要件定義を、それぞれの立場から評価してください:
【エンドユーザーの視点】
・使いにくい点、分かりにくい点はないか
・期待する機能が不足していないか
【システム管理者の視点】  
・運用・保守で困りそうな点はないか
・障害時の対応方法が明確か
【経営者の視点】
・ビジネス価値に繋がっているか
・コストに見合った効果が期待できるか
【開発者の視点】
・技術的に実現可能か
・開発効率を下げる要因はないか
【要件定義書】
[要件定義の内容をここに貼り付け]
手法3:シナリオベースの検証
具体的な利用シナリオを通じて要件の妥当性を確認します。
プロンプト例:
以下の要件定義に基づいて、具体的な利用シナリオを5つ作成してください。
そして、各シナリオで要件が不十分または問題となる点を指摘してください。
シナリオ作成の観点:
1. 典型的な正常ケース(2つ)
2. よくあるエラーケース(2つ)  
3. 想定外の極端なケース(1つ)
【業務背景】
[システムの概要や業務内容]
【要件定義書】
[要件定義の内容をここに貼り付け]
手法4:時系列での整合性チェック
プロセス全体を時系列で追いかけて矛盾を発見します。
プロンプト例:
以下の要件定義について、業務プロセス全体を時系列で整理し、
各ステップで以下をチェックしてください:
1. 前のステップからの情報の引き継ぎは適切か
2. 各ステップで必要な判断材料は揃っているか
3. プロセスが止まってしまうケースはないか
4. 戻り処理やキャンセル処理は考慮されているか
【要件定義書】
[要件定義の内容をここに貼り付け]
手法5:非機能要件の洗い出し
機能要件に注目しがちな中で、非機能要件の不足をチェックします。
プロンプト例:
以下の機能要件を実現するために必要な非機能要件で、
記載が不足している項目を指摘してください。
チェック項目:
・性能要件(応答時間、スループット、同時接続数等)
・信頼性要件(稼働率、障害復旧時間等)  
・セキュリティ要件(認証、認可、暗号化等)
・保守性要件(ログ、監視、バックアップ等)
・拡張性要件(将来的な機能追加、データ量増加等)
【機能要件】
[機能要件の内容をここに貼り付け]