📈

tableau で非機能要求グレードを見やすくする

2021/10/16に公開

非機能要求グレードtableau版を公開しました

tableau public で公開したので、ぜひご利用ください。(非公式のツールになります)
https://public.tableau.com/app/profile/junya.morita/viz/tableau_16343850335800/Tableau


非機能要求グレードtableau版

非機能要求グレード2018 とは

IPA で公開されている文書で、システムの非機能要求を定義する際の指針となるものです。
https://www.ipa.go.jp/sec/softwareengineering/std/ent03-b.html

IPA より引用:「非機能要求グレード」は、「非機能要求」についてのユーザと開発者との認識の行き違いや、互いの意図とは異なる理解を防止することを目的とし、非機能要求項目を網羅的にリストアップして分類するとともに、それぞれの要求レベルを段階的に示したものです。重要な項目から順に要求レベルを設定しながら、両者で非機能要求の確認を行うことができるツール群です。

例えば、検索APIの開発をするとき、検索結果が返却されるまでの時間を何秒まで許容すべきか定めるとします。この何秒というのはシステムによって妥当な基準が様々で、業務システムであれば5秒程度まで許容できるでしょうし、C向けのカスタマーサイトなら3秒未満を目指したいところでしょうか。短気な方がプロダクト責任者であれば、1秒未満を求められるかもしれません。また、全ての検索リクエストを同じ時間で捌けるわけではないですし、アクセスが多い時は性能も劣化してしまうでしょう。このように、非機能要求というのは、システムやステークホルダーによって基準がバラバラで、またシステムやコンピューターサイエンスに関する知識量によっても捉え方が変わってきます。

このような課題に対処するため、情報処理試験でお馴染みの IPA が統一的な基準を作ってくれています。これが非機能要求グレードです。

非機能要求グレード2018 の良いところ

この基準は非常に良い作りで、漏れがちな非機能要求の観点を網羅的にリストアップしてくれています。例えばオンラインレスポンスの性能観点ならば、通常時・ピーク時・縮退時の3パターンを列挙してくれています。非機能要求グレードの観点を一通り盛り込んでおけば、漏れることはまずないでしょう。
基準はレベル0から5の6段階で定義しています。医療で使うシステムのような、SLA基準の高いシステムから、社内の業務支援ツールものまで、幅広く利用できます。さらにありがたいことに、自システムが満たすべき水準がレベル0~5のどれに当たるのか判断できない場合に備えて、社会的影響の大きさに応じた3段階のモデルシステムまで定義してくれています。そのため、自システムが該当するであろうモデルシステムをまず選んで、そのモデルシステムが具備すべき非機能要求グレードを確認する、という使い方によって、迷わず非機能要求を定義することができます。

このように、非機能要求に悩める民を救ってくれる便利なツールで、実際に使っているシステムエンジニアの方も多いのではないでしょうか。さて、実際に使ってみるとどうでしょう…。正直、使いにくいと感じた方も多いのではないでしょうか。

非機能要求グレード2018 のイマイチなところ

非機能要求グレード2018の本体は、Microsoft Excel で作られた巨大な表です。


非機能要求グレード本体

見ての通り、この表を眺めるだけでも結構時間がかかります。というのも、情報のカバー範囲がかなり広く、性能・拡張性 から エコロジー まで盛り込まれており、100項目以上の内容が書かれています。正直、不必要な項目の方が多いという案件ばかりではないでしょうか。巨大な非機能要求グレード表を開き、自システムの資料を読みつつ、目を皿のようにして該当箇所を探すという作業は結構辛い体験になるとおもいます。
加えて、この非機能要求グレードは IPA の HP よりダウンロード形式で配布されています。各SEがローカルのPCにファイルをダウンロードし、メモを取ったりして編集したファイルが、ファイルサーバに散乱しやすいという課題もあります。原本を見るために何度もダウンロードし、たくさんの非機能要求グレードをお持ちの方も多いと思います。

そこで、Excel よりもフィルタしやすく、閲覧性も向上させた非機能要求グレードを、オンラインで共有することにしました。

非機能要求グレードtableau版の使い方

このツールは、多数ある非機能要求の中から、求めている情報を素早く見つけられることを目的に作られています。想定利用シーンを元に、利用イメージを説明します。

シーン:MAU=100名程度のECサイトの検索APIを改修する際の、性能要求を検討したい。

手順

  1. 大~小項目から要求を絞り込む。この場合は、B:性能・拡張性 -> 2.性能目標値 -> 1.オンラインレスポンス となる。
  2. 自システムが該当しそうなモデルシステムを選択する。この場合は、自社ECサイトのユーザー数から、該当するモデルシステムは「社会的影響が限定されるシステム」を選択する。
  3. 各メトリクスのハイライトされた項目を確認し、要求を決定する、この場合、通常時レスポンス順守率が90%、ピーク時レスポンス順守率が80%となる。


操作イメージ

メトリクスの記載内容がわかりにくい場合は、表にカーソルを重ねると詳細が表示されます。例えば、順守率90%というのは、具体的なレスポンスの目標値を定めて、目標値の順守率を定めること、と定義されています。


ツールチップの表示例

原本のエクセルよりも素早く情報にアクセスできると思うのですが、いかがでしょうか。

中身のテキストは変えていないのですが、見やすさを重視するため、一部の情報は削っています。例えば、原本では運用コストへの影響有無があったのですが、tableau版では除外しています。非機能要求の観点の洗い出しと、大まかな基準把握をこちらのツールで実施できれば嬉しいなと思います。

まとめ

この記事では、システム企画の難所となる非機能要求の検討を助ける、非機能要求グレードtableau版というツールをご紹介しました。非機能要求グレードの素晴らしさを、もっと手軽にアクセスしていただくことで広まれば良いなと思っています。

GitHubで編集を提案

Discussion