支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


性能要件とは

そもそも性能要件とはシステムの目的を達成するために必要な条件のことであり、前提条件と目標値として整理する。 ここでいう前提条件とは、処理を行う対象となるデータの量や取引の数、ユーザー数などがこれに該当します。要件定義時にこれらをクライアントにヒアリングを行い、ヒアリングした内容通りのソフトウェアの作成を行います。

性能要件の検証手順

性能検証は次のとおりです。
1:単体性能の検証
2:多重性能の検証
基本的に流れとしては単体性能の検証を行い問題がなかった後に多重性能の検証を行う。

非機能要件

性能要件とは別で非機能要件というものがあり、非機能要件は業務に直接つながりませんが、システムの持っている性能や品質・セキュリティ等に関わる要件で、導入後に安定した運用を続けていくためにこれもまた必要となります。

非機能要件のカテゴリ

非機能要件は、情報処理推進機構(IPA)が大きく6つのカテゴリに分類しています。
可用性:運用スケジュールや障害発生時の復旧などに関する要求のこと、バックアップ体制や障害発生時の回復方法を確立させることによって対策をします。
性能/拡張性:ピークの時の負荷や業務量が増加した時の対応などに関する要求のこと、ソフトウェアの内部処理を軽くしたり、機器の配置などを考慮して対策をします。
運用/保守性:システム運用時の稼働率や問題発生時の対応などに関する要求のこと、通常通り運用する体制を作ったり、マニュアルを充実させるなどを行って対策をします。
移行性:新システム移行に関する要求は移行性に分類されます。移行までのスケジュールを調整したり、リハーサル等による事前実施によって対策します。
セキュリティ:利用者を制限したり不正アクセスの防止などに関する要求のこと、アクセス制限や、社員などのセキュリティ講習などで対策をします。
システム環境/エコロジー:システムの設置環境や消費エネルギー量などに関する要求のこと、その設備に対して適切な機器の選定や、環境に対する負荷を低減させるようなシステムを構築し対策します。

非機能要件のヒアリング

非機能要件はクライアントが普段意識していないような箇所が多いため、要件定義の段階で非機能要件もある程度提案し、良い環境を構築することが重要となります。

非機能要件の重要性

非機能要件は製品の品質を考慮した場合に必要不可欠な要素です。非機能要件の機能をどれだけ盛り込めるかによってクォリティが大きく変わると言っても過言ではないです。しかし、非機能要件はクライアントからはっきりとした要求があるわけではないので、仕様書などには明記しにくいです。しかし非機能要件をしっかりと盛り込むことができれば良いものが作れるのでヒアリングはしっかりと行いましょう。

非機能要件の提案方法

上で記載したとおり、非機能要件はクライアントから出てくる可能性は低いです、なので非機能要件に関してはこちらから提案する必要があります。非機能要件を提案する際には図を描いて説明したほうがわかりやすいです。クライアント視点だと文字や言葉の説明だけだとどうしてもわかりにくい部分があるので、図を用意して説明したほうがわかりやすいという訳です。説明する側も言葉だけで説明するよりも説明しやすいはず。また、説明する際にはしっかりとメリット・デメリットを伝えることも大事です。メリット・デメリットを含めて説明した上でクライアントへ提案しましょう。

提案時の注意点

非機能要件を提案する際に注意点があります。それは決定権はクライアント側にあるという点です。非機能要件を提案する開発者側が予算などを無視してクライアントに「これがいい!」と押すだけなのは提案ではなくただのわがままになってしまいます。しかし、図も交えてわかりやすく説明し、非機能要件の重要性をクライアントに訴えることができればクライアント側も予算も割いてくれるはずです。ここがIT業界で必要なコミュニケーション能力の見せ所でもあるので、押しすぎない程度に提案しましょう。

まとめ

今回は非機能要件についての記載が多くなってしまいましたが、「性能要件」「非機能要件」のどちらもクライアントが実現したい要件であるということに変わりはありません。また、クライアントが意識しにくい非機能要件を定義するということはとても難しい作業です。しかし、非機能要件をしっかりと定義することができれば定義した開発者のクライアントからの信頼も上がり、要件定義という大変な仕事をやりきったということで上司の方からの評価も上がるはずです。要件定義というのはクライアントからの要望をヒアリングで引き出して、上手く実装するというのは開発者の仕事の楽しさだと言えます。今回の記事で性能要件、非機能要件に関してそれなりに詳しく記載したので、参考にし要件定義を行う際に思い出していただければ幸いです。