2018年4月25日に更新されて、話題になっていたので。
実は、この非機能要求グレードという資料については私は最近まで全く知りませんでした。
https://www.ipa.go.jp/sec/softwareengineering/reports/20100416.html
そもそも頭に"非"が付いている時点で、もやっとしたものであり、"機能"の"要求"ではないという程度です。
要求という言葉は、要件という言葉にも置き換えができるので、非機能要件という言葉で認識している人も多いのではないでしょうか。
Wikipediaによると、
非機能要件(Non-functional requirement)とは、システム設計や情報システム開発上の要求分析において、要件、システム要件といった機能面以外の全般を指す。
https://www.ipa.go.jp/sec/softwareengineering/reports/20100416.html
という書き方がされており、非常にもやっとしているのですが、結局のところ、ユーザー(=非エンジニア)が実現したいと考えているもの(=機能)ではないが、決めておかないと後々困るものといった程度になるのでしょうか。
多くのものはサーバーが壊れた場合にどうするべきか(もしくはどれくらい壊れにくくするか)、という話で、ユーザーは基本的にインフラは壊れないものとして想定しがちだけれども、そうではないよーという共通認識を作った上で数字を決めていきましょうという感じになります。
一度システム構築したら10年ぐらいノーメンテナンスで動き続けて当然ぐらいの認識をしている人がいたりもするので、そうではないんですよというのを明示できるのはありがたい。
そして、その共有化すべき認識の一覧が公開されているものをベースとすれば、ユーザーがベンダーを選定する場合にフェアな状態で情報を提供できるというのは公平な比較・検討の材料と出来るので、ものすごいメリットかと。
IPAの非機能要求グレードに対する説明については冒頭のリンクからいけるページに、趣旨から始まり、使いかたまで含めて全部書かれた説明書があるので、そちらを見ていただければよいと思います。なので、自分が見てみての感想を箇条書きにしたいと思います。
全体としては、いろいろと気になるところはあるけれども、全体として漏れがないかという確認には使えるし、粒度が粗いと判断した時点で、別途詳細な要件を決めればいいだけなので、道具としては便利という印象です。
内容としても情報処理技術者試験程度の内容を理解していれば(≠資格を持っていれば)読み解ける程度なので、容易い。
と、ざっと思いついたところこんな感じ。読んでみてほかにも何かあれば教えてくれるとありがたいです。
今のシステムで非機能要求とか考えたことがなかったよという人は、現状がどうなってるのかを考え直すためにも読んでみるといいのではないでしょうか。