「システムは完成したのに、いざ使い始めたら重すぎて仕事にならない……」
「セキュリティが厳しすぎて、ログインするだけで一労だ……」

こうしたトラブルの原因は、すべて「非機能要件」の検討不足にあります。

前回は、[要件定義シリーズ第4回:業務要件とシステム要件]で、観光プラン(業務)と移動手段(システム機能)の関係を整理しました。プランも乗り物も決まれば、いよいよ出発!と言いたいところですが、その前に決めておくべき「目に見えない大切なこと」があります。

それが非機能要件です。今回は、旅行における「燃費」「点検」「セキュリティ」を例に、地味ながらも強力なこの要件の正体を解き明かします。

非機能要件とは?(「動く」のその先にある品質)

システム開発において、「〇〇ができる(売上計算ができる、検索ができる)」という目に見える振る舞いを「機能要件」と呼びます。

対して非機能要件とは、「どのような品質で」動くべきかを定義したものです。

  • 旅行なら: 「目的地に行ける」のは大前提。その上で、「ガソリン代はいくらまでか(可用性と性能)」「事故が起きたらどうするか(保守性と運用性)」「車が盗まれないか(セキュリティ)」といった要素です。
  • ビジネスの例: 「画面が表示される」のは大前提。その上で、「何秒以内に表示されるか(可用性と性能)」「24時間365日止まらないか(保守性と運用性)」「不正アクセスを防げるか(セキュリティ)」を指します。

機能要件が「表の主役」なら、非機能要件は「裏の土台」です。土台が腐っていると、どれほど豪華な機能を作っても、システムはすぐに崩壊してしまいます。

非機能要件の代表的な3つの柱

複雑な非機能要件を、旅行の例えで3つに絞って整理してみましょう。

① 可用性と性能(車のタフさと燃費)

「いつでも、スムーズに動くこと」に関する要件です。

  • 旅行なら: 「1,000キロ走ってもオーバーヒートしないか(可用性)」「時速100キロで安定して走れるか、燃費は良いか(性能)」です。
  • ビジネスの例:
    可用性: 「年末年始の繁忙期でも、24時間注文を受け付けられるか?」
    性能: 「1,000人が一斉にアクセスしても、画面が3秒以内に開くか?」

【落とし穴】 「性能は高いに越したことはない」と欲張ると、F1マシンのような超高額なシステムが必要になり、予算がいくらあっても足りなくなります。

② 保守性と運用性(点検のしやすさと備え)

「トラブルへの備えや、維持のしやすさ」に関する要件です。

  • 旅行なら: 「万が一の故障時にすぐ呼べるロードサービスに入っているか」「タイヤ交換が簡単にできるか(保守)」です。
  • ビジネスの例:
    運用性: 「エラーが起きたとき、管理者に自動でメールが飛ぶか?」
    保守性: 「将来、消費税率が変わったときに、プログラムを書き換えずに設定変更だけで対応できるか?」

【落とし穴】 「トラブルなんて起きないだろう」と備えをケチると、いざという時に業務が数日間ストップし、莫大な損失を出すことになります。

③ セキュリティ(車のカギと貴重品管理)

「情報漏洩や不正操作を防ぐこと」に関する要件です。

  • 旅行なら: 「ホテルの部屋に金庫はあるか」「駐車場に防犯カメラはあるか」「免許証やパスポートを誰が管理するか」です。
  • ビジネスの例: 「ログインパスワードは何桁にするか?」「社員によって閲覧できるデータの範囲を制限するか?」

【落とし穴】 セキュリティをガチガチにしすぎると、「車に乗るたびに指紋認証と顔認証と暗証番号が必要」な状態になり、利便性(使い勝手)が極端に低下します。

なぜ非機能要件でプロジェクトは揉めるのか?

非機能要件の議論が難しい理由は、「こだわり始めるとキリがない(青天井)」かつ「お金がかかる」からです。

旅行の例で考えるコストのジレンマ

  • 「絶対に事故を起こさない、防弾仕様の装甲車(超高セキュリティ)」で、
  • 「燃費が最高で、一度も給油不要(超高性能)」な車を、
  • 「レンタカー代1日1,000円(低コスト)」で借りたい。

こんなわがままが通らないのは、誰の目にも明らかですよね。しかし、システム開発の現場では、これと同じことが平然と要求されます。

リーダーの役割は、この「品質」と「コスト」のバランス(トレードオフ)を調整することです。

  • 「このシステムは社内用だから、24時間稼働(可用性)は不要。土日は停止していても問題ないと関係者と合意の上で割り切る」
  • 「個人情報を扱うから、セキュリティには予算を重点的に配分しよう」

このように、第1回で決めた「企画構想(コンセプト)」に立ち返って、どこに資源を集中させるかを決めるのがリーダーの仕事です。

リーダーが確認すべき「最低限」の品質チェックリスト

2章で挙げた3つの柱をベースに、ユーザーやエンジニアと「最低限ここだけは」と合意しておくべきポイントを表にまとめました。

分類確認すべき問いかけ検討のヒント
① 可用性と性能・いつ使いますか? ・どのくらいの速さが必要ですか?・24時間365日? 平日のみ? ・検索結果に10秒待てるか? 同時アクセスは何人か?
② 保守性と運用性・データが消えたら、いつまで戻せれば許せますか? ・トラブルに誰が気づきますか?・バックアップは1日前? 1時間前? ・管理者に自動通知が必要か? 復旧目標時間は?
③ セキュリティ・誰に、どこまで見せていい情報ですか? ・社外からもアクセスさせますか?・部署・役職ごとの閲覧・編集制限の有無。 ・リモートワーク用、二段階認証などの必要性。
【+α】 移行と拡張性・古いデータはどうしますか? ・将来、利用者は増えますか?・過去何年分を移すか?(データ移行の範囲) ・数年後の拠点増、ユーザー増に対応できるか。

まとめ:地味な「インフラ」が旅の満足度を決める

非機能要件は、普段はその存在を意識しません。しかし、事故が起きたとき、あるいは使い心地が悪いときに、初めてその重要性に気づかされます。

  • 機能要件: 「目的地で何をするか」というアクティビティ
  • 非機能要件: 「どう移動し、どう過ごすか」という旅の品質

「快適に走れる高級車だけど、燃費が悪すぎて1時間おきに給油が必要」なシステムを作らないために。 「セキュリティが完璧すぎて、鍵を開けるのに10分かかる」不便なシステムにしないために。

要件定義の段階で、エンジニアと一緒に「燃費(性能)」や「インフラ(保守)」のラインをしっかり握っておきましょう。

次のステップ:「全部盛り」の誘惑を断つ技術

「機能」も「非機能」も出揃いました。しかし、最後に立ちはだかるのは「予算とスケジュール」という壁です。 「ハワイも行きたいし、温泉も行きたい、車は最高級がいい」という全部盛り状態から、どうやって現実的なプランに絞り込むのでしょうか?

次回は、「要件の優先順位付け:『全部盛り』でパンクさせないための取捨選択」について解説します。 プロジェクトを成功に導く「捨てる勇気」の持ち方を学びましょう。

次の記事を読む:要件の優先順位付け: 「全部盛り」でパンクさせないための取捨選択(MoSCoW分析)

要件定義のやり方完全ガイド|初心者でも失敗しない全7工程を徹底解説「要件定義って何から始めればいい?」という悩みを解消。家族旅行の例えで、初心者でも基礎から実践まで学べる要件定義の全プロセスを網羅。プロジェクトを成功に導くための実践ロードマップです。 ...
ABOUT ME
hidechi
メーカーに入社し、その後IT部門が分社独立、情報システムエンジニアとして30年以上勤務しています。これまで多くのプロジェクトに携わり、それらの経験から得た知見を覚え書きとして記録することで、厳しい現場で奮闘しているSEの皆さんの一助となれば幸いです。