JUAS(日本情報システム・ユーザー協会)が,「非機能要求仕様定義ガイドライン」を発行した。このガイドラインは,JUASが2007年9月から2008年3月にかけて実施した「UVC(User Vender Collaboration)研究プロジェクトII」の成果で,ユーザー企業がベンダーに提示する要求仕様書(別の言い方ではRFP=提案依頼書)における非機能要求の定義方法をまとめたものである。

 JUASは,2007年に「UVC研究プロジェクト」の成果として「要求仕様定義ガイドライン」を発行しているが,非機能要求については不十分だった。これを補うために,非機能要求に正面から取り組んだのがUVC研究プロジェクトIIであり,「非機能要求仕様定義ガイドライン」だ。

 言うまでもなく,ユーザー企業がシステムの非機能要求を明確にベンダーに伝えることは非常に大切である。しかしこれまでは,どんな非機能要求を伝えればいいのかが明確ではなかった。また,非機能要求を伝えたとしても,定量的に検証できるようにしなければ,ベンダーはどう作ればいいのか分からないし,ユーザー企業も自分たちが定義した非機能要求がきちんと満たされているかが検証できない。例えば,「保守しやすいように作ってください」と言っても,ベンダーは具体的にどう作ればいいのか分からないし,できたシステムが保守しやすいかどうかも検証のしようがない。

 そこで,非機能要求仕様定義ガイドラインでは,すべての項目について,測定可能な指標を定義した。指標の数は全部で230にも上る。非機能要求を「測定可能な指標」に落とし込んだという意味で,極めて画期的なガイドラインである。

10種類の非機能要求を定義

 非機能要求仕様定義ガイドラインでは,ユーザー企業による定義・検証が必要な非機能要求として,機能性,信頼性,保守性,障害抑制性,運用性など10種類の「特性」と,特性を細分化した「副特性」を定義(表1)。そのうえで,副特性ごとに「詳細分析ニーズ(測定目的)」と「測定項目(指標)」が定義されている。

表1●10種類の非機能要求
特性副特性説明
機能性合目的性,正確性,相互運用性,セキュリティ,機能性標準適合性ソフトウエアが,指定された条件の下で使用されるときに,明示的および暗示的必要性に合致する機能を提供するソフトウエア製品の能力
信頼性成熟性,障害許容性,回復性,信頼性標準適合性指定された条件の下で使用するとき,指定された達成水準を維持するソフトウエア製品の能力
使用性理解性,習得性,操作性,使用性標準適合性指定された条件の下で使用するとき,理解,習得,利用でき,利用者にとって魅力的であるソフトウエア製品の能力
効率性時間効率性(コンピュータシステム効率),時間効率性(業務効率),資源効率性,効率性標準適合性明示的な条件の下で,使用する資源の量に対比して適切な性能を提供するソフトウエア製品の能力
保守性解析性,変更性,安定性,試験性,保守性標準適合性修正のしやすさに関するソフトウエア製品の能力
移植性環境適応性,設置性,共存性,置換性,再利用性,移植性標準適合性ある環境から他の環境に移すためのソフトウエア製品の能力
障害抑制性発生防止,障害拡大防止策高信頼性ソフトウエアを開発し,運用するために必要な事項を網羅したもの
効果性金額換算できるものの評価(定量評価),金額換算しにくいものの評価(定性評価・KPI),一般的な指標による評価費用とシステム投資効果の予測
運用性運用サービスの品質目標(SLA),運用容易性,障害対策,災害対策(DR)利用者の要求に応じてサービスを提供し,かつ,与えられた条件下で特定の許容範囲のサービスを,要求される期間提供し続ける能力
技術要件システム実現方式,システムの構成,システム開発方法,開発基準/標準,開発環境事前に決められた枠組みや仕組み,あるいは非機能要件を基にプロジェクト内部で検討・決定されるもの

 例えば,「保守性」の副特性である「解析性」の「解析容易性の評価」という測定目的には,「保守ドキュメント充足」(実際に用意できている保守ドキュメント数),「トレースツール利用率」(実装機能をトレースする際にトレースツールを利用できた割合),「プログラムソースコメント率」(プログラムソースに組み込んだコメント行の割合」という3つの指標が定義されている。

 指標の説明としては,数式や解釈方法(「高いほどよい」など)のほか,要求定義(RFP作成),要件定義,設計,プログラム作成など,どのフェーズで定義・検証されるべきかも明記。加えて,レスポンス・タイムなど10個の指標については,サンプルとしてフェーズごとの作業内容も詳しく説明している。サンプル数は,今後1年かけて増やしていく予定で,「すべての指標についてサンプルが完成すれば世界に類を見ない非機能要求のガイドが出来上がる」(JUAS)。

 企業情報システムの社会的な影響が高まるにつれ,「信頼性」や「障害抑制性」などの非機能要求の重要性は高まるばかり。そうした中で,このガイドラインは非常にタイムリーと言える。基本的にはユーザー企業向けだが,ユーザーだけではなく,ベンダーにとっても利用価値は高そうだ。