要件定義フェーズに置いては、機能要件だけではなく、それ以外の要件、いわゆる非機能要件についても定義し、合意する必要があります。
非機能要件には例えば「レスポンスは3秒以内に返すこと」「将来の処理量増大に備え、2倍の性能に拡張できるようにして欲しい」などがあります。
これらは、ビジネスに直結した事項ではないため、要件定義フェーズで漏れやすく、システムが具体化された開発工程などで出てくることも多く、これらの非機能要件を要件定義フェーズで適切に抽出し、合意することが、その後の開発工程を円滑にすすめるために重要となっています。
非機能要件を抽出するには
非機能要件を引き出すに当たり、そもそもこれらの非機能要件にどういった物があるかを知らないと、顧客へのヒアリングもなかなか進みません。
そこで役に立つのが、IPAが公開している非機能要求グレード2018です。非機能要求グレードに同梱されているグレード表には全部で238項目に対してレベル0~レベル5のメトリクスが記載されており、そもそもがどういった非機能要件があるかを理解するのに非常に役立ちます。
非機能要件の項目一覧
IPAの非機能要件グレードから抜粋した項目の一覧です。
可用性
継続性、耐障害性、災害対策、回復性
性能・拡張性
業務処理量、性能目標値、リソース拡張性、性能品質保証
運用・保守性
通常運用、保守運用、障害時運用、運用環境、サポート体制、その他の運用管理方針
移行性
移行時期、移行方式、移行対象(機器)、移行対象(データ)、移行計画
セキュリティ
前提条件・制約条件、セキュリティリスク分析、セキュリティ診断、セキュリティリスク管理、アクセス・利用制限、データの秘匿、不正追跡・監視、ネットワーク対策、マルウェア対策、Web対策、セキュリティインシデント対応/復旧
システム環境・エコロジー
システム制約/前提条件、システム特性、適合規格、機材設置環境条件、環境マネージメント
グレード表にはさらに、これらについて、備考欄にて詳しい解説や、「社会的影響が殆ど無いシステム」「社会的影響が限定されるシステム」「社会的影響が極めて大きいシステム」の3つのモデルシステムについてどのレベルを選択するのが良いかの参考指標などが記載されていますので、それらを参考に非機能要件の要件定義を進めることが可能となっています。