機能用件と非機能用件について今一度確認してみる
どもども。最近handpanを買いました。楽しいです。saisaiです。
本日は、IT業界で働いていると必ず耳にする「機能要件と非機能要件」についてまとめてみました。
ありがたいことに最近要件定義のフェーズから関わらせていただくことも多くなってきましたので、ここでしっかり抑えてより完成度の高い提案ができるようにしていきたいと思います。
機能要件とは
機能要件とは、端的に言えば「システムを操作する上で必ず必要な機能」についてです。
例えば予約管理システムの作成を依頼されたとします。予約管理システムの作成には
・予約フォームに入力し、情報を取得する
・情報をカレンダーなどに反映し、予約管理ができるようにする
・予約完了メールを配信する
などが予約管理システムとして最低限求められる機能として列挙できるものがあります。
このようなシステムに備わっているべき機能を「機能要件」と言います。
非機能要件とは
では、非機能要件とはなんでしょうか。
非機能要件とはシステムや業務に直結する機能ではありませんが、そのシステムのクオリティを担保するために実装する部分のことを指します。
少しわかりにくいですね。例えば予約管理システムは機能用件のみそろっていればシステムとしてのクオリティが担保されているでしょうか。
実際そのようなことはなく、「落ちにくいシステム設計」や「セキュリティレベルの担保」、「運用・保守の容易さ」「拡張性」「移行性」などシステムのクオリティを担保する上で考慮すべき点は機能用件以外にもさまざまなものがあります。このような機能用件を「非機能要件」というわけですね。
まとめ
実際お客様との打ち合わせで用件を詰めていく際、まずは「どのような機能がそなわっていてほしいか」という点から始まり、「将来どの程度機能を追加していく予定か」「セキュリティはどの程度強固なものにしてほしいのか」「どれくらいのアクセスに耐えてほしいのか」など非機能用件は必ず確認すべき要項です。
非機能要件の定義が甘いと、システム運用をしていく中で必ず認識の食い違いが発生し大きなトラブルになります。
確認すべき非機能用件を予めピックアップしておき、なるべくお客様の希望に寄り添った設計構築ができるように準備して打ち合わせに参加したいですね!
本日はここまで!saisaiでした!
↓オススメ教材