非機能要件の進め方|後回しで「地獄」を見ないための実戦的ヒアリング術
「機能のことはわかるけど、非機能要件をどう進めればいいのか自信がない」
「お客様にどう説明すれば、コストの必要性を納得してもらえるだろうか……」
システム開発の要件定義において、目に見える「機能」と同じくらい、あるいはそれ以上に重要なのが「非機能要件」です。
技術的な側面が強いために「エンジニア側で適当に決めておこう」と後回しにされがちですが、ここを疎かにすると、リリース直前に「動作が重すぎて使い物にならない」「障害復旧ができない」といった致命的なトラブルを招きます。現場が「地獄絵図」と化す前に、PMが主導して合意形成を行う必要があります。
本記事では、30年の現場経験に基づき、事業方針やコストに直結する非機能要件をスムーズにまとめ上げるためのポイントを詳しく解説します。
非機能要件とは?「システムの価値」を支える土台
要件定義で扱う事項は、大きく「機能」と「非機能」の2つに分かれます。これらを建物に例えると、その役割の違いが明確になります。
| 項目 | システムにおける役割 | 建物での例え |
|---|---|---|
| 機能要件 | ビジネスの仕組み(請求発行、在庫管理など) | 間取り、キッチン、内装 |
| 非機能要件 | 品質・性能・運用(レスポンス、セキュリティなど) | 耐震性、断熱性、セキュリティ |
一見するとビジネスに直接関係ないように見えますが、非機能要件はシステムを安定して使い続けるために欠かせない「土台」なのです。
なぜ非機能要件が必要か?「過剰」と「不足」の罠を回避する
「お客様から要望がないなら、標準的な構成でいいだろう」という判断は非常に危険です。非機能要件には、常に「コストと品質のトレードオフ」が存在するからです。
- 不足のリスク: レスポンスが10秒かかるシステムは、どれほど高機能でも現場では「欠陥品」扱いされます。リリース直前の修正作業(デスマーチ)や、修正費用の負担を巡るトラブルに直結します。
- 過剰のリスク: 数日止まっても支障がないシステムに、銀行並みの「24時間365日無停止」の構成を組むのは、お客様の予算を圧迫する「過剰投資」になってしまいます。
PMの役割は、お客様の事業にとって「どこまでの品質が必要か」という判断材料を提示し、納得感のある合意を導き出すことにあります。
実戦ヒアリング術:5W1Hで「ペインポイント」を深掘りする
お客様に「可用性は?」「セキュリティ強度は?」と専門用語で聞いても、納得感のある答えは返ってきません。まずは普段の業務での「困り事(ペインポイント)」から逆算するのが近道です。
例えば、「月末に動作が重くなる」という不満がある場合、以下の5W1Hで具体化します。
| 項目 | 質問の切り口 | 導き出される要件 |
|---|---|---|
| When(いつ) | 毎月何日の何時ごろ? 特定の締め日に集中しますか? | ・性能目標 ・ピーク時の想定 |
| Who(だれが) | 全社員ですか? 特定の部署の担当者だけですか? | ・同時接続数 ・ライセンス |
| Where(どこで) | 本社内LANから? 外出先や在宅環境からですか? | ・通信環境 ・インフラ要件 |
| What(なにが) | どの画面のどの操作 (検索、保存、出力)が遅いですか? | ・処理優先度 ・DB設計 |
| How(どのくらい) | どのくらい遅くなりますか? 許容範囲は何秒ですか? | ・応答時間目標(SLA) |
具体的な「痛み」から逆算することで、エンジニアの主観ではなく、ビジネスの実態に即した性能目標が見えてきます。
漏れを防ぐ「IPA非機能要求グレード」の活用
自分の経験だけで項目を洗い出すと、どうしても抜け漏れが出ます。そこで活用したいのが、【外部】IPA(独立行政法人情報処理推進機構)が公開している「非機能要求グレード」です。
現場では、以下の6つのカテゴリを意識して項目を埋めていきます。
| カテゴリ | 主な検討事項 |
|---|---|
| 1. 可用性 | 稼働時間、耐障害性、災害対策、復旧目標時間(RTO/RPO) |
| 2. 性能・拡張性 | レスポンス時間、スループット、将来のデータ・ユーザー増予測 |
| 3. 運用・保守性 | バックアップ体制、保守時間、運用監視のルール、TCO |
| 4. セキュリティ | 認証管理、アクセス制御、ログ取得、ウイルス対策 |
| 5. 移行性 | 現行データの移行量、新旧システム並行稼働の期間 |
| 6. システム環境 | 設置場所、クラウド(SaaS/PaaS)利用時のSLA確認 |
膨大な項目で挫折しないための「3つの手順」
IPAのツールは全200項目以上と膨大なため、以下の手順で現実的な範囲に絞って進めるのがコツです。
- 手順1:主要な16項目(モデルシステムシート)から検討を開始する システムの大枠を決める最重要項目だけで、まずはお客様とレベル感を合わせます。
- 手順2:コストやリスクに直結する92の重要項目に絞る 見積もりやアーキテクチャ設計に直接影響を与える重要項目についてレベルを決定します。
- 手順3:必要に応じて残りの詳細項目を詰める プロジェクトの特性に合わせて取捨選択します。すべてを埋める必要はありません。
納得を得るための「現場で使える交渉テクニック」
非機能要件をスムーズに決定し、後からの「蒸し返し」を防ぐための秘策です。
最適な要求レベルを「松・竹・梅」で提示する
ヒアリングをすると、お客様はつい「最高レベル」を求めてしまいます。そこで、コストとセットで選択肢を提示するのが効果的です。 「3秒以内(標準コスト)」「1秒以内(追加費用○○万円)」のように具体案を見せることで、お客様自身がコストと品質のバランスを判断しやすくなります。
TCO(全体コスト)の視点を持つ
システムのコストには、作るための「初期導入費用」と、動かし続けるための「ランニングコスト」があります。初期費用を抑えても運用の手間がかかりすぎるようでは本末転倒です。全体コスト(TCO)の視点で提案しましょう。
合意内容は必ず「明文化」して防波堤にする
サービスレベルの判断はコストに直結します。決定した内容は必ず議事録や要件定義書に明記してください。これが、後から「そんなに費用がかかるとは思わなかった」と言われるのを防ぐ「最強の防波堤」になります。
システム運用部門を必ず巻き込む
運用方法を熟知しているのは運用部門のメンバーです。バックアップのサイクルや監視要件を決める際は、必ず運用担当者を同席させましょう。彼らの合意があれば、リリース後のトラブルや現場の反発を未然に防ぐことができます。
まとめ:非機能要件は「システムの信頼」を築く土台
非機能要件は地味で技術的に難しい側面がありますが、それはシステムが現場で価値を発揮し続けるための大切な土台です。
プロジェクトを「地獄」から救い、成功へ導くためにPMが覚えておくべきアクションは以下の3点に集約されます。
- 「ペインポイント」から逆算する 専門用語で直接聞くのではなく、現場の「困り事」を5W1Hで深掘りし、実態に即した要件を導き出します。
- 「松竹梅」でコストと品質のバランスを提示する 過剰投資を防ぐため、お客様自身が納得して選択できる具体案(選択肢)を提示します。
- 運用部門を必ず巻き込む リリース後の運用を担うメンバーと事前に合意し、現場の反発や将来のトラブルを未然に防ぎます。
「エンジニアにお任せ」にするのではなく、お客様としっかり対話し、納得感のある基準を作る。それが、結果としてプロジェクトをトラブルから守り、お客様の事業を成功に導く最短ルートになります。
要件の中身が固まり始めたら、次はそれを確実にやり遂げるための「実行計画」が必要です。第5回では、成果物とスケジュール管理を漏れなく管理し、プロジェクトを完遂させるためのWBS作成術を公開します。
要件定義シリーズ:実践ガイド一覧
[第1回] 要件定義の失敗しない進め方|現場PMが実践すべき7つの重要ポイント
[第2回] 企画構望の進め方|要件定義の「そもそも」を固める点検ポイント
[第3回] 要求定義の具体的な進め方|業務を可視化し課題を解く技術
[第4回] 非機能要件の進め方|コストと品質のバランスを最適化するヒアリング術(本記事)
[第5回] 要件定義のWBS・タスク一覧|成果物とスケジュール管理の実践ガイド
[第6回] 要件定義の準備術|失敗しないための「体制」と「成果物」の整え方
[第7回] 業務フローの基本的な書き方|失敗しないための実務作法
[第8回] 業務フローのフレームワーク活用術|5W3HとAs-Is/To-Be
[第9回] 業務フローの書き方完全ガイド|3つの階層で「機能漏れ」を防ぐ
