【機能要件】とは?実現したいことを正しく定義して伝える

とある企業のDX応援団、いねおけです。
今回のテーマは
ソフトウェアやシステムの開発、あるいは、選定において「あんな機能が欲しい」「現状のこの困りごとを解決したい」といった、ユーザー・クライアントが求める「機能」的な要件のことを指します。
要件定義の3要件

システムの導入や入れ替えに向けて、序盤に検討を行うのが「要件定義」です。
要件定義では、システムに組み込む要望をまとめる作業を行います。
この要件定義は、その性質によってさらに3つに分解して考えると、整理・理解しやすくなります。
機能要件とは
システムの導入や入れ替えに向けて、ユーザーやクライアントが必要とする機能、制作するシステムに盛り込みたい機能の事を指します。
達成しなければならない基本となる部分が機能要件です。
機能要件は、ユーザー・クライアントが「搭載してほしい」と望んでいる事項なので、直接のヒアリングで比較的簡単に要望を吸い上げることができます。
機能要件は絶対に必要な機能なので、定められた機能が未実装であれば失敗ということになります。実装されることが当たり前なので、搭載されているからといって、満足度が大きく高まることはありません。
機能要件の例
機能要件とはどういった内容なのか?ここでは「コミュニケーションツール」を題材として取り上げて、具体例を見ていきましょう。

機能に関する事項
コミュニケーションツールの基本機能に関わる内容などが考えられます。
- メッセージを送りたい
- メッセージを受け取りたい
- メッセージにスタンプを挿入したい
- メッセージを受信したら通知音をならせたい
これらが、機能に関する事項です。
画面に関する事項
画面に関する機能要件には、例えば以下の様な内容があげられます。
- 自身の送信メッセージを右側に表示したい
- 他者の送信メッセージを左側に表示したい
- 画面右上の歯車マークを押すと細かな設定が出来る
帳票に関する事項
業務での利用を想定すると、利用履歴をレポートにしたり、紙に印刷したりすることが想定されます。例えば以下の様な内容です。
- メッセージのやり取りを印刷したい
- 1か月間に何人と、何通のメッセージをやりとりしたのかレポートに出力したい
その他
デジタル庁発行のデジタル・ガバメント推進標準ガイドラインを参考にすると、他にも下記の様な内容を機能要件として検討する必要があるそうです。
- データに関する事項
- 外部インタフェースに関する事項
機能要件に関する注意点
機能要件を考える際には「目的を明確にすること」を心がけましょう。
新しシステムの導入や、システム変更を”何となく”で始めてしまうと、本当に実現したい事を見失ったり、あるいは、やりたいことが際限なく増えてしまったりします。
コストばかりが増大し、最終成果物が使いにくいものになってしまうのは、ユーザーやクライアント側にも、システム開発者側にも望ましくありません。
こうならない為に、「課題を整理すること」も重要です。ユーザー・クライアント側の立場であれば、現状の問題点や、解決したい事柄を整理する。また、1人で決めるのではなく、複数の有識者でコミュニケーションをとりながら整理することも効果的です。
システム開発者の立場であれば、現状の困りごとや、解決したい事柄を丁寧にヒアリングし、理解すること。その上で、業界や技術の最新動向などを加味した提案的な意見を交えてディスカッションが出来ると良いです。
要求を正しく伝えるという難しさ
「あの機能が欲しい」
「この困りごとを解決したい」
と感覚的にはわかっているものの、それを正しく伝えること、書類に書き起こすことは意外と難しい作業だったりします。
ユーザーやクライアントにあたる「発注者」と、システム開発を担当する「受注者」は、会社も違うし、普段の業務内容も違うので「言葉の意味すら同じではない」事があります。会社固有、あるいは、部署固有の「方言」の様な用語が、あなたの職場にもあるのではないでしょうか?

あれも、これも、あーして、こーして欲しい♪

何を作ればいいですか…?
まとめ
ユーザーやクライアントが必要とする機能、制作するシステムに盛り込みたい機能の事を指します。
達成しなければならない基本となる部分が機能要件です。
目的を明確にすることや、課題を整理することを心がけ、実現したい事を正しく定義して、その後のシステム開発に進めましょう。
こちらの記事も是非、合わせて参考にしてください
▷リンク:ノックアウト要件とは?ベテランほど当たり前に考えているけど、新人に伝えるのは難しい勘所
最後まで読んでいただき、ありがとうございました。