提案依頼

非機能要求を書く −提案依頼書(RFP)−

システムを外部企業に発注する際に書く提案依頼書(RFP)。

本記事ではRFPに記載する非機能要求について、定義や書き方、フォーマットなどについてご紹介します。

非機能要求ってなんだろうか

非機能要求のイメージ

はじめに非機能要求とは何かについて。

非機能要求とは”機能以外の要求”です。

aiko

え、、、わかりづらいです

参考:機能要求

上記の記事では機能要求を、”新システムに備わってほしい業務面の特性”と定義していました。

つまり、非機能要求とは業務を直接支える機能以外で新システムに備わってほしい特性、ということになります。

ただし業務と関係がないわけではありません。

たとえば工場の生産業務は24時間の3交代制であるため、生産管理システムは24時間の稼働が求められる、といったように、業務と非機能に求められる要求には関係性があります。

業務要求は機能要求と非機能要求に分解できる

非機能要求をもう少し簡単な言葉で表現すると、システム的な要求です。

システムが稼働する時間帯は24時間かつ365日であってほしい、というのが非機能要求です。

システムの稼働時間や性能など、直接業務を支える機能ではないものの、重要なシステム面の要求事項をまとめたものになります。

非機能要求を伝えることのメリットとデメリット

非機能要求のメリットとデメリットのイメージ

非機能要求を伝えることのメリットとデメリットをみてみましょう。

aiko

デメリットもあるのかしら

メリット

非機能要求を伝えることのメリットは次のとおりです。

  • インフラの選定がしやすくなる
  • 商品の選定がしやすくなる
  • バッチの運用設計がしやすくなる
  • 運用保守の提案がしやすくなる
  • 見積もりが精緻になる

非機能要求が示されることで、外部企業はインフラの選定がしやすくなります。

稼働時間やユーザー数を把握することで、どの程度のスペックのインフラを用意すべきかが判断できます。

また、稼働時間がわかればバッチや運用保守の設計もしやすくなります。

必須で稼働させるべき時間以外はシステムのメンテナンスやバックアップ作業を実施できます。また修正プログラムの適用なども可能になります。

上記のように、非機能要求が提示されることで、インフラや商品の選定、バッチや運用保守の提案がしやすくなります。

提案がしやすくなることで、提示される見積もり金額も精緻になります。

デメリット

一方で非機能要求を伝えることのデメリットはつぎのとおりです。

  • 過剰な商品・インフラが見積もられる
  • 過剰な運用保守が提案される
  • 見積もりが高くなる

優先順位をつけずに非機能要求をあるがままに提示してしまうと、悪意がなくても過剰な見積もりが行われる可能性があります。

「稼働時間はどうせなら24時間365日が良い」

このように、安易に稼働時間を伸ばすと過剰なインフラや運用保守体制が提案されます。なお、24時間のシフト勤務で活用するシステムであれば妥当な稼働時間です。

たとえば、本来の残業含む業務時間が8:00-22:00と想定されるならば、稼働時間は7:00-23:00を必須として、残りの稼働時間は任意と書いたほうがより精緻な見積もりをしてもらえます。

非機能要求は要求の高さとコストが比例する関係になります。要求が高ければコストも上がる。

許容できる非機能要求と、そうでない要求を見極めることが重要になります。

aiko

書きすぎ注意ね

非機能要求に書くこと

非機能要求に書くことのイメージ

非機能要求に書く項目はつぎのとおりです。

  1. 可用性の要求
  2. 性能の要求
  3. ユーザー・デバイスの要求
  4. 拡張性の要求
  5. セキュリティの要求
  6. 運用・保守の要求

それぞれを詳しくみていきましょう。

可用性の要求

  1. システムの稼働時間
  2. システムの稼働率
  3. そのほかの要求事項

性能の要求

  1. 画面の反応速度
  2. バッチの処理時間

ユーザー・デバイスの要求

  1. 現行のユーザー数
  2. 将来のユーザー数計画
  3. ユーザーの利用拠点(事業所)数と場所
  4. ユーザーがアクセスする端末の種類とOS
  5. プリンタやFAXなど周辺機器の種類

拡張性の要求

  1. 機能追加の計画
  2. 接続計画のあるシステム
  3. 会社統合や新規事業への対応可能性
  4. 利用拠点の増減計画

セキュリティの要求

  1. 認証方式
  2. 外部攻撃に対する堅牢性
  3. データおよび通信暗号化の有無
  4. ファイアウォール
  5. ウィルス対策の方式

運用・保守の要求

  1. 稼働監視の方式
  2. バックアップの要件
  3. 人的支援の体制

フォーマット

非機能要求フォーマットのイメージ

非機能要求を書くフォーマットはGoogleスプレッドシートやExcelなどのスプレッドシート、GoogleスライドやPowerPointoなどのプレゼンテーションファイル、そしてGoogleドキュメントやWordなどのドキュメントファイルがあります。

RFPの別添資料としてもよいですし、RFP本体に書き込むかたちでも良いと思います。

非機能要求の書き方とサンプル

非機能要求の書き方とサンプルのイメージ

書き方

非機能要求には下記の項目を書きます。

  1. 非機能要求の分類
  2. 非機能要求のタイトル
  3. 非機能要求の内容
  4. 制約条件
  5. 参考資料
  6. 補足説明

非機能要求の分類は上記「非機能要求に書くこと」で紹介した項目を書きます。

制約条件は非機能要求の内容で、追加の条件があるときに書きます。たとえば土日祝日の稼働時間を任意としつつも、制約条件として停止時は2週間前までの事前告知を必要とする、などです。

補足説明では今後の協議によって決めたい内容など、追加で伝えたい情報を書きます。

サンプル

非機能要求のサンプルです。購買管理システムの想定です。

まとめ

非機能要求はシステム面の要求事項です。

業務部門のニーズと情報システム部門のニーズをかけ合わせて要求事項を決めていけるのが良いです。

また、非機能要求の程度はコストとのバランスになります。今後の要件定義フェーズで調整の余地があれば、その旨を書いておくと良いです。

より良いシステム開発の一助になれば幸いです。