機能要件と非機能要件の違いは?定義の流れも解説【2024年最新版】
システム開発の最初の工程である要件定義。外注するにあたって「要件定義における機能要件・非機能要件を求められたけれども、両者の意味や違いについてよくわかっていない」といった方もいるのではないでしょうか。
当記事では、機能要件・非機能要件の概要や定義の方法などを解説していきます。システム開発の発注を検討している方は是非ご参考下さい。
【関連ページ】
システム開発にかかる費用・相場感のご紹介。あなたの目的別にシステム開発会社をお探しいただけます。
システム開発の費用・相場
システム開発会社一覧
機能要件とは
システム開発は、クライアントがシステムに求める機能・性能などを明確化していく「要件定義」と呼ばれる作業からスタートします。この要件定義で決定する項目のうち、実際にシステムに実装すべき機能のことを「機能要件」と呼びます。たとえば、勤怠管理システムの場合であれば、次のような項目です。
・打刻機能
・ワークフロー機能
・承認機能
・通知機能
・集計機能
・アラート機能
機能要件はクライアントがシステムを開発する主な目的が大部分を占めるため、開発側とクライアント側でのコンセンサスを得やすいのが特徴です。発注者としては実現してもらえるのが当然と考えるため、開発側は抜け漏れなく定義することが基本となります。
機能要件と非機能要件は何が違う?
要件定義において機能要件と同時に考えるべき項目が、非機能要件です。非機能要件とは、システムの主目的である機能要件以外の部分のことを指します。上記の勤怠管理システムの例をとると、非機能要件は次のような項目です。
・集計は〇分以内に処理が可能
・認証機能による不正利用防止
・誰でも簡単に利用できるUI
非機能要件はクライアントが認識していない部分であり、専門性も高いため、開発側がリードして定義していく必要があります。システムの質に対して大きく影響する項目でもあり、良い定義を行えばクライアントの要望以上のシステムを開発することが可能です。
非機能要件はシステムのクオリティ向上に有効に作用する反面、突き詰めると際限がないため、開発コスト・工数とのバランスを見て落としどころを決めることが重要となります。
「自社にあった会社が見つからない」「会社選びに時間が割けない」とお悩みの方は、お気軽に「アイミツ」にお問い合わせください。数あるシステム開発会社からあなたの要望にあった会社をピックアップして無料でご紹介いたします。
機能要件・非機能要件を定義する方法
機能要件と非機能要件では、定義の方法についても違いが見られます。以下でそれぞれの定義方法を解説します。
機能要件の定義
まずは、機能要件を定義する一般的な流れについて解説します。
①ヒアリング:クライアントがシステムに求める機能を詳しく聞き出します。的確な情報を得るためにも、システム導入の目的や社内での課題なども含めてヒアリングを行うことがポイントです。
②機能の洗い出し:ヒアリングで得た情報を基に、システムに必要な機能を洗い出します。網羅性を重視するのがポイントです。
③機能要件の選択・絞り込み:洗い出した機能一覧から、技術面やコスト面、スケジュールを踏まえた上で実際に実装する機能を選択して文書化します。
④クライアントへの確認・合意:完成した要件定義書を提出し、クライアントの合意を得ます。とくに除外する機能が発生している場合には慎重な確認が必要です。
非機能要件の定義
続いては、非機能要件を定義する手順について解説します。
①非機能要件の仮作成:非機能要件はヒアリングベースで作成することが難しいため、開発側が機能要件を作成した際の情報を基に仮作成を行い、要件定義を進めて行きます。非機能要件をバランス良く網羅するために、IPAが定める「非機能要求グレード」の6つのカテゴリ(可能性/性能・拡張性/運用・保守性/移行性/セキュリティ/システム環境・エコロジー)にしたがって定義されるのが一般的です。
②クライアントとの擦り合わせ・調整:非機能要件は開発側主体で仮作成されているため、クライアントと内容についての擦り合わせが必要。変更点があれば調整します。
③非機能要件の選定・合意:擦り合わせた内容をもとに非機能要件を選定し、クライアントの最終的な合意を得ます。
機能要件・非機能要件のポイント
機能要件・非機能要件の定義を行う際には、次にご紹介するポイントを押さえておくことが重要となります。
実現できる内容になっているか
機能要件・非機能要件を定義する際に失敗しがちなのは、難しい機能や数多くの内容を盛り込んでしまうこと。技術的に実現できない要件は、当然ながら実装できないため注意が必要です。
そのため、要件定義を行う際には技術的に実現可能な要件をピックアップし、判断が難しい機能についてはシミュレーションで検証を行うことも必要。また、予算や工数の都合からすべての機能を実装できない場合は、優先順位付けによる取捨選択を行わなければなりません。
わかりにくい表現がないか
システムの機能要件・非機能要件を記載した要件定義書は、システム開発に携わるメンバーが開発工程を通して参照するものです。したがって、要件定義書を記載する際には、誰が見ても同じ解釈ができるようにわかりやすく明確な表現で記載することが非常に重要。曖昧な表現は誤解を招き、開発工程で齟齬やトラブルを発生させてしまいます。
また、開発側とクライアント側が共通の理解・認識を得るためには、要件定義書の作成後に必ず書面を共有し、お互いに再確認しておくことが重要です。
機能要件・非機能要件はシステム開発の重要な工程
システム開発のプロジェクトは、一般的に「要件定義→基本設計→詳細設計→開発→テスト→リリース」の順に進められます。つまり、要件定義で決定された機能要件・非機能要件をもとに設計・開発が進められるため、正確で質の高い定義を行うことが非常に重要となります。機能要件・非機能要件に抜け漏れやミスがあると、完成度や満足度が下がるだけでなく、開発工程においても進捗鈍化や手戻りの原因となるでしょう。
要件定義には専門的な知識が欠かせず、経験者視点からでないと見えない部分も多いため、必要十分な定義を行うには、信頼できるシステム会社の協力が不可欠です。
システム開発の費用相場
最後に、システム開発を外注した際にかかる費用相場をご紹介します。
平均相場 | 233万円~ |
システム開発の種類 | 費用相場 | |
簡易顧客システム | 20万円~ | |
Webシステム | 130万円~ | |
業務システム | 400万円~ |
システム開発の費用相場をご紹介しました。より正確な費用を知りたい方は料金シミュレーターをご利用ください。
まとめ
システム開発の要件定義で決定する機能要件・非機能要件は、システムのクオリティならびに開発工程の進捗を左右する非常に重要な定義項目です。自社のみで定義することは難しいため、信頼できるシステム会社と二人三脚で詳細を詰めていくことがポイントとなります。
アイミツでは、はじめてシステム開発を発注する方にも親切・丁寧な対応を行う優良なシステム会社をご紹介することが可能です。要件定義等のやり取りに不安を抱えている方は、ぜひお気軽にご相談下さい。
【相談前にまずは会社一覧を見たいという方はこちら】
システム開発会社一覧
【費用感を知りたいという方はこちら】
システム開発の費用・相場
システム開発会社探しで、こんなお悩みありませんか?
-
一括見積もりサイトだと
多数の会社から電話が・・・ -
相場がわからないから
見積もりを取っても不安・・・ -
どの企業が優れているのか
判断できない・・・
PRONIアイミツなら
発注先決定まで
最短翌日
- 専門コンシェルジュが
あなたの要件をヒアリング! - 10万件の利用実績から
業界・相場情報をご提供! - あなたの要件にマッチした
優良企業のみご紹介!
診断とヒアリングから
お探しします