ソリューションアーキテクチャ

非機能要件の設計 ― 「止まらない」という言葉に値札はない ― 生成AI時代のアーキテクチャ超入門

非機能要件の設計 ― 「止まらない」という言葉に値札はない ― 生成AI時代のアーキテクチャ超入門

本記事について

当サイトを閲覧いただきありがとうございます。 本記事はシリーズ『生成AI時代のアーキテクチャ超入門』の「ソリューションアーキテクチャ」カテゴリ第3弾として、非機能要件について解説する記事です。

機能要件は業務部門が書ける、非機能要件は専門家でないと書けない──非機能要件が曖昧だと「動くけど遅い/止まる/運用が地獄」の完成後大炎上が起こります。本記事では性能・可用性・セキュリティ・運用性の数値化、IPA非機能要件グレード、AI時代の非機能テスト自動化まで扱います。

本記事のテーマについてさらに詳しく知りたい方は『システム設計のセオリーと実践方法がこれ1冊でしっかりわかる教科書』も参考にしてみてください。

そもそも非機能要件とは何か

非機能要件とは、ざっくり言えば「システムが”何をするか”ではなく”どれくらいちゃんと動くか”を決めるルール」です。

家を建てるときの耐震性能や断熱性能を想像してください。間取り(機能要件)は住む人が決められますが、「震度6に耐えるか」「冬の室温を何度に保てるか」は専門家でないと設計できません。しかも完成後に耐震等級を上げるのは建て直しに近い大工事です。ソフトウェアも同じで、「1秒以内に応答する」「月間稼働率99.9%を保つ」といった品質基準を最初に決めておかないと、完成してから「動くけど遅い・止まる・運用が地獄」という大炎上を招きます。

なぜ非機能要件が必要か

「完成したが使えない」を防ぐ

機能は完璧でも、応答10秒のシステムは使われません。数値で定まっていないと、受け入れ時に揉めます。

コスト見積もりの根拠になる

「99.9%稼働」「99.99%稼働」では構築コストが5倍違うこともあります。数値が決まって初めて見積もりができます。

規制要件との整合性

金融・医療・個人情報は法規制で非機能要件の水準が決まっていることも多く、先に明確化しないと違反リスクが出ます。

非機能要件の主要カテゴリ

IPA非機能要求グレードの6大項目

IPA非機能要求グレードが日本では標準的な分類です。6つの大項目で網羅的に整理できます。

カテゴリ内容
可用性止まらない度合い
性能・拡張性速さ・スケール
運用・保守性運用のしやすさ
移行性移行のしやすさ
セキュリティ守られているか
システム環境前提環境・要件

IPA の非機能要求グレードは無料で使えるテンプレートで、日本企業では広く活用されています。

可用性

システムがどれだけ止まらないかを定義します。SLO で扱った内容と同じ観点で、数値化が必須です。

指標内容典型値
稼働率月何%稼働するか99.9%(月43分ダウン)
RTO障害時の復旧目標時間1時間
RPOデータ損失許容時間15分
MTBF平均故障間隔30日
MTTR平均修復時間30分

99.99%を約束すると月4.3分しかダウンできない極めて厳しい水準です。コストは数倍になるので、業務要件に見合った水準を選びます。

性能

どれだけ速く・多く処理できるかを定義します。業務の性質に応じて、応答時間スループットを明確に数値化します。

指標内容典型例
応答時間1リクエストの処理時間P95 で300ms 以内
スループット単位時間の処理数1000 req/sec
同時接続数並行ユーザー数10,000
ピーク倍率ピーク時の負荷平常の10倍
レイテンシネットワーク遅延50ms 以下

「応答3秒以内」は平均か最大かを明確にします。通常は P95P99(95/99 パーセンタイル)で定義するのが現代的です。

拡張性(スケーラビリティ)

将来の成長に対応できるかを定義します。サービス開始時の規模だけでなく、数年後の成長予測も含めて設計します。

指標内容
水平拡張サーバー追加で対応可能か
垂直拡張CPU・メモリ増強で対応可能か
データ拡張DB 容量の伸び
ユーザー拡張10倍・100倍の成長
地理拡張海外展開

最初から全て設計するのは過剰ですが、段階的拡張のシナリオは考えておく必要があります。

運用・保守性

非機能要件の6大カテゴリ

運用のしやすさを定義します。ここが弱いと、運用チームの負担が爆発し、障害が増えます。

項目内容
バックアップ頻度・保存期間・復元試験
監視何を・どの頻度で監視
ログ保存期間・容量
デプロイ頻度・停止時間
ドキュメント運用手順書の整備
オンコール24/7の対応体制

「運用を外注する前提」なら、運用委託可能な水準を定義する必要があります。

セキュリティ

守るべき水準を定義します。扱うデータの機微度と法規制で水準が変わります。

項目内容
認証MFA必須・パスワード強度
認可権限設計・最小権限
暗号化通信・保存・鍵管理
監査ログ保存期間・改ざん防止
脆弱性対応パッチ適用 SLA
ペネトレーション試験頻度・範囲

個人情報保護法・GDPR(EU一般データ保護規則)・PCI DSS(クレジットカード業界のデータ保護基準)等の規制要件は必ず織り込みます。

移行性

既存システムからの移行のしやすさを定義します。移行計画の設計不足でプロジェクトが破綻する事例は多く、軽視してはいけません。

項目内容
データ移行方式一括/段階
並行稼働新旧両用期間
ロールバック戻す手順・条件
システム停止時間カットオーバー時
ユーザートレーニング教育計画
業務停止影響業務部門との調整

非機能要件の「抜け漏れ」対策

非機能要件は忘れやすい項目が多いです。IPA の非機能要求グレードのような網羅チェックリストを使い、抜けをなくします。

忘れやすい項目内容
ブラウザ対応範囲IE11 は? Chrome 最新のみ?
文字コードUTF-8・絵文字対応
タイムゾーンUTC・JST・複数地域
多言語対応i18n(internationalization=国際化)・L10n(localization=地域化)
アクセシビリティWCAG2.1準拠
災害対策DR・地理分散
ログ保存法的要件

これらは完成後に「対応してない」と言われて炎上しがちな項目です。最初に定義します。

SLA・SLOとの関係

非機能要件SLASLO と密接に連動します。SLA が外部契約上の約束なら、非機能要件は設計時点での目標値です。

非機能要件SLOSLA
フェーズ設計時運用時契約時
性質目標内部目標外部契約
違反時設計変更改善投資罰金・減額

SLA に影響する非機能要件(可用性・性能)は、SLAより厳しく設定するのが鉄則です。

判断基準①:システムの性質

業務の重要性・公開範囲で非機能要件の厳しさが変わります。

システム性質可用性目安
社内ツール99%
一般B2Cサービス99.9%
B2B SaaS99.95%
金融・決済99.99%
電力・通信99.999%

判断基準②:組織の体制

運用チームの規模で非機能要件の実現可能性が変わります。24/7体制がないのに99.99% は守れません。

運用体制可能な可用性
業務時間のみ99%
拡張時間99.5%
24/7 オンコール99.9%
24/7 SRE専属99.95%
多地域・Follow-the-Sun99.99% 以上

ケース別の選び方

社内ツール・業務時間利用

可用性99% + 応答3秒 + 日次バックアップ。IPA 非機能グレードは「モデルシステム1」相当。SLA 不要、RTO 24時間・RPO 1日で十分。セキュリティは社内 ID 連携 + TLS で最低限カバー。

一般B2C Webサービス

可用性99.9% + P95 500ms + 24/7オンコール + 自動バックアップ。IPA「モデル2」SLO 管理導入、個人情報保護法対応の PIIマスキング、ペネトレ年1回。AWS/GCP マネージドサービスを活用してコスト最適化。

B2B SaaS・エンタープライズ顧客

可用性99.95% + SLA 契約 + 監査ログ7年 + SOC 2(サービス組織のセキュリティ・可用性等を監査する米国基準)対応。IPA「モデル3」相当、顧客ごとの SLA 個別締結、RTORPO を契約に明記、ISO 27001 取得を視野に。マルチテナント分離設計を非機能要件に含める。

金融・決済・医療

可用性99.99%+ + マルチリージョン DR + FISCPCI DSSHIPAA 準拠。IPA「モデル4」、24/7 SRE 専属、年次ペネトレ・四半期脆弱性診断、暗号化は FIPS 140-2(米国政府の暗号モジュール認定基準)認定の HSM、改ざん防止の監査ログ。非機能要件が法規制そのものと一体化。

サービス種別×非機能要件の数値Gate

※ 2026年4月時点の業界相場値です。テクノロジー・人材市場の変化で陳腐化するため、定期的にアップデートが必要です。

非機能要件数値で合意した瞬間に議論が始まる領域。以下が業界定番の対応表です。

サービス種別可用性RTORPO応答時間(P95)月額コスト目安
社内ツール99%24時間1日3秒数万円
一般B2C Web99.9%1時間15分500ms数十万円
B2B SaaS99.95%30分5分300ms数十〜百万円
金融・決済99.99%5分1分100ms数百万円〜
通信・電力99.999%30秒10秒50ms数千万円〜

99.9%と99.99%で構築コストは数倍違うが経験則。業務部門が「止まらないシステム」と要望しても、数値で提示すると「99.9%で十分」となることが多い。IPA非機能要求グレードは日本で標準のチェックリストで、忘れやすい項目(タイムゾーン・ブラウザ対応・i18n・WCAG 等)を網羅的にカバーします。

止まらない数値で提示して初めて議論が始まる。言葉では永遠に噛み合いません。

やってはいけないこと

非機能要件で事故る典型パターン。どれも動くけど使えないシステムを生みます。

禁じ手なぜダメか
非機能要件を後から決めるKnight Capital事件(段階展開・自動ロールバック欠落で45分4.4億ドル損失)
可用性を「できるだけ高く」で曖昧に合意数値化ないと設計も見積もりもできない
なんとなく99.99%で全システムに適用99.9%と99.99%で構築コスト数倍、過剰投資
応答時間を平均値で定義1%の遅いユーザーが見えない、P95/P99 で測る
運用体制なしで99.99%を約束24/7 SRE 専属がないと守れない
災害対策(DR)を最後に付け加える後付けはコスト10倍、最初から設計
ブラウザ対応範囲を未定義でリリース完成後に「IE11対応してない」と指摘、大改修
タイムゾーン・文字コードを忘れる海外展開・絵文字で致命的バグ
WCAG(アクセシビリティ)を無視2024年4月日本施行の改正障害者差別解消法違反リスク
非機能要件をテスト化しない設計書に書いただけで誰も検証せず、本番で発覚

Knight Capital 2012年事件は段階的展開(Canary)・自動ロールバック・監視といった非機能要件の全欠落が致命傷でした(詳細は付録「重大インシデント事例集」)。某大手EC年末商戦の新UIリリース後30秒遅延でSNS炎上、4時間後旧UI緊急切り戻しの事例も、応答時間非機能要件未定義の代償を示します。

非機能要件「動くけど使えない」を防ぐ保険。最初に数値で定義しましょう。

| 非機能要件は後から決める」と後回し | 後付け改修は10倍コスト、最初に決めるのが鉄則 | | 「99.9%なら99.99%でも大差ない」と安易 | 月43分vs月4.3分、構築コスト数倍、業務要件に見合う水準を選ぶ |

AI判断軸

AI有利AI不利
数値化された非機能要件「速く」「安全に」の言葉
自動負荷試験手動の一回限り試験
自動セキュリティスキャン人力レビューだけ
SLOベース監視閾値ベース
  1. 最初に数値で決める — 後回しは10倍コスト、曖昧は致命傷
  2. IPAグレードで網羅チェック — 忘れやすい項目(タイムゾーン・ブラウザ等)も抜けなく
  3. 運用体制と整合させる — 24/7なしで99.99%は守れない、身の丈に合う水準
  4. CI/CDで自動テスト化 — AI 生成コードの性能・セキュリティを継続検証

非機能要件テストの自動生成とAI

非機能要件が数値で定義されていれば、AIは対応するテストコードを高い精度で生成できます。「応答時間200ms以内、同時接続1000ユーザー」という要件があれば、k6やLocustの負荷テストスクリプトをほぼそのまま生成可能です。

非機能要件からAIによるテストコード自動生成への流れ 数値が定義されていれば AI はテストコードを高精度で生成できる 非機能要件(数値) 応答時間 200ms 以内 (P95) 同時接続 1,000 ユーザー 稼働率 99.9% RTO 1 時間 AI AI テストコード生成 k6 負荷テストスクリプト export default function() { check(res, {P95<200ms}) } Locust / Gatling / Artillery も同様 CI/CD 自動検証 毎回のデプロイで自動実行 Pass: P95=180ms ✓ / 1000VU ✓ 不合格なら自動でデプロイ停止 セキュリティスキャンも自動化 数値なしの場合(NG例) 「速くする」「落ちないようにする」 曖昧な言葉だけ 変換不能 テスト生成不可能 合格基準がないので書けない 本番で発覚 「動くけど遅い・止まる」 結論: 非機能要件を数値化する習慣は、ドキュメントの品質だけでなく AI テスト自動化の前提条件でもある

逆に「速くする」「落ちないようにする」のような言葉だけの非機能要件では、テスト生成が不可能です。何をもって合格とするかの基準がなければ、AIも人間もテストを書けません。

非機能要件を最初に数値化する習慣は、単にドキュメントの品質だけでなく、AI活用によるテスト自動化の前提条件としても必須になっています。IPAの非機能要件グレードを参照して項目を網羅し、各項目に具体的な数値を入れる作業を初期段階で完了させてください。

AIが生成するインフラ設計は非機能要件の数値がないと暴走する

AIにインフラ構成を提案させると、非機能要件が曖昧な場合に過剰設計か過小設計のどちらかに振れます。「高可用性」とだけ書くと、マルチリージョン・マルチAZ・自動フェイルオーバーのフル構成が出てくることがあり、月額コストが想定の数倍になります。

数値があれば話が変わります。「稼働率99.9%・RPO 1時間・RTO 4時間」と明示すれば、単一リージョン・マルチAZ・日次バックアップで十分という判断をAIが正しく下せます。

この問題はAI特有ではなく、人間のインフラエンジニアでも同じことが起きますが、AIの場合は「確認せずにそのまま出力する」点が異なります。人間なら「99.99%って本当に必要ですか?」と聞き返しますが、AIは与えられた条件で最善を尽くすだけです。非機能要件の数値を要件定義段階で固めておくことが、AI時代のインフラ設計の暴走防止策になります。

決めるべきこと — 自分のプロジェクトでの答えは?

以下の項目について、自分のプロジェクトの答えを1〜2文で言語化してみてください。曖昧なまま着手すると、必ず後から「なぜそう決めたんだっけ」が問われます。

  • 可用性目標(99.X%・RTORPO
  • 性能目標(応答時間・スループット
  • 拡張性(成長シナリオ)
  • 運用要件(監視・バックアップ・オンコール)
  • セキュリティ水準(認証・暗号化・監査)
  • 移行計画(並行稼働・ロールバック)
  • 網羅チェック(IPA 非機能要求グレード等)

筆者メモ — 「非機能要件なし」が炎上を生んだ事例

非機能要件を後回しにして炎上した事例は、SI業界で絶えず語り継がれています。

Knight Capital 2012年事件は、非機能要件(特にデプロイの安全性)を軽視した結果の象徴で、後の調査で「段階的展開(Canary)・自動ロールバック・監視といった非機能要件が全て欠落していたこと」が致命傷と判定されました(詳細は付録「重大インシデント事例集」)。

もう一つ、Amazon Prime の Prime Day 初年度停止も引用されます。ピーク時トラフィックに対する性能非機能要件の見積もりが甘く、チェックアウトが数時間ダウン、億ドル単位の機会損失を出したと推定されています。以降、Amazon は性能要件を実測ベースで四半期ごとに更新し、カオスエンジニアリングで自動検証する仕組みを組み込みました。

日本国内でも、某大手 EC サイトが年末商戦に向けて新 UI をリリースした直後、応答時間の非機能要件が未定義でピーク時に30秒以上の応答遅延が発生、SNS で炎上して4時間後に旧UIへ緊急切り戻し、という事例が語り継がれています。機能が完成しても、非機能が未定義ならシステムは使い物にならない──この現実を繰り返し突きつけているのが、非機能要件軽視の歴史です。

この記事に関連する記事

まとめ

本記事は非機能要件の設計について、可用性・性能・運用・セキュリティ・IPAグレード・SLASLOとの関係・AI時代の自動テスト化まで含めて解説しました。如何だったでしょうか。

数値で最初に決め、IPAで網羅し、運用体制と整合させ、自動テスト化する。これが2026年の非機能要件設計の現実解です。

次回は「見積もりとROIについて解説します。3点見積もり・バッファ・3年ROI・損益分岐点の作法と、稟議を通すための数字の組み立て方を掘り下げる予定です。

シリーズ目次に戻る → 『生成AI時代のアーキテクチャ超入門』の歩き方

本記事で扱った内容の詳細は AWS Well-Architected フレームワーク - パフォーマンス効率 も合わせて参考にしてください。

それでは次の記事も閲覧いただけると幸いです。