2023年9月27日システムの開発を外部企業に委託する際に書く提案依頼書(RFP)。本記事では開発するシステムに実装したい機能要求の書き方を紹介します。伝えることのメリットとデメリットメリットデメリット機能要求の書き方フォーマットサンプルまとめ機能要求ってなんだろうかはじめに機能要求がなんであるかを考えてみたいと思います。機能要求とは新システムに備わってほしい業務面の特性です。対になる用語として非機能要求があります。非機能要求は新システムに備わってほしいシステム面の特性です。詳しく説明するために、機能要求を機能と要求に分けて見てみましょう。機能とは業務面の特性です。業務というとビジネス用途のみに聞こえますがここでは消費者が使う場合も含みます。システムの主たるユーザーがシステムにおいて成し遂げたいことを業務要求といいます。システム開発を外部に委託する際に書く業務要求について掘り下げてみたいと思います。そもそも業務要求とはなんだろうか?から業務要求...たとえば上記の業務要求では購買部における「見積もりを取る」業務について書きました。「見積もり依頼書の内容を確認する」を機能として定義してみましょう。過去に届いた見積もり依頼書を一覧画面で表示できる開始日付と終了日付で見積もり依頼書を絞り込めるひとつの見積もり依頼書を選択すると内容を参照できるといった機能を定義できます。一覧画面、絞り込み、選択などはシステムに実装された特性です。見積もり依頼書の内容を確認する業務要求を実現するための機能といえます。要求とは願いや希望です。してほしいということを伝えるために要求という表現をつかいます。要件と要求の違いについて比較することがありますが、要件は依頼元と開発者で合意済みのものを指します。一方で要求は依頼元の一方的な願い、希望です。参考:システム開発における要求と要件の違いとはシステム開発における要求と要件の違いとは本記事ではシステム開発における要求と要件について言葉の意味の違いを書きました。要求よりも要件のほうが耳にすることが多いのではないかと思いますが、これは日本の開発スタイルのあり方によるところが大きいです。...提案依頼書を作成、送付する段階では依頼元と開発者で合意されていませんから、ここでは要求という言葉をつかっています。機能要求を伝えることのメリットとデメリット提案依頼書を通じて機能要求を伝えることはメリットとデメリットの両方があります。メリット機能要求を伝えることのメリットには下記があります。開発会社が商品選定をしやすくなる開発会社が見積もりをしやすくなる見積もりの精度があがる実装の制約を教えてもらえる(できないことが分かる)実装したい機能が明確になることで、外部企業は提供する商品(システム)をより精緻にえらぶことができます。システムが精緻になることで見積もりがしやすくなり、精度があがります。具体的な商品が選定されることで、実現できないこと、すなわち制約を明らかにすることができます。デメリット一方でデメリットもあります。非効率な機能を書いてしまう提案の幅を狭める(余地が狭まる)見積もりが高くなる可能性がある業務要求をみたすためには、いくつかの機能の選択肢があります。複数の選択肢があるなかで、特定の機能に限定して要求を書いてしまうと、実はもっと効率の良い機能がある可能性があるのです。外部企業は記載された機能要求を正として考えますので、非効率な機能にもとづいて提案が展開されてしまいます。外部企業が代替の機能に気づく可能性が低下し、提案の幅を狭めてしまうことになります。過大な機能要求にもとづいて提案がなされる場合には、見積もりが高くなる可能性があります。このように、依頼側が機能を特定して要求すると、よりよい機能の代替があるにもかかわらず提案が進んでしまうデメリットがあります。機能要求の書き方こちらで紹介した購買部における「見積もりを取る」業務要求を例にとって機能要求を書いてみましょう。システム開発を外部に委託する際に書く業務要求について掘り下げてみたいと思います。そもそも業務要求とはなんだろうか?から業務要求...上記から「見積もり依頼書の内容を確認する」についてみてみましょう。見積もり依頼書の内容を確認するためにたとえば下記のような機能要求が考えられます。もりタイトルを画面で確認できる見積り依頼書の一覧画面で、複数の見積もり依頼書を選択してPDF形式でダウンロードできる見積もり一覧画面からひとつの見積もり依頼書を選択すると、見積もり依頼書の内容をプレビュー表示できる見積もり依頼書のプレビュー画面で、見積もり依頼書を参照しながらコメントを入力できる機能要求はなるべくシステム、おもに画面に向かった操作をイメージできるように記述します。機能要求は業務要求と異なり、システム固有の表現があらわれます。「画面」や「PDF形式」「ダウンロード」「選択」「プレビュー」「入力」です。これらはシステム固有のことばであり、機能要求だからこそ記述できる内容ですさらに文末を「〜できる」で結ぶことで、システムに実装させたい意図を表現できます。フォーマット機能要求を記載するフォーマットは汎用的なツールとしてはスプレッドシート(ExcelやGoogleスプレッドシートあたり)が良いと思います。WordやGoogleドキュメントでも記述可能ですが、スプレッドシートと比較すると一覧性に少し欠けるかもしれません。内容(スプレッドシートでいう列)には下記の項目を記述しておくとよいです。サンプル機能要求のサンプルはこちらです。まとめ機能要求とは新システムに備わってほしい業務面の特性でした。業務要求と機能要求の関係性を理解して、業務上実装したい機能を正確に伝える一助になれば幸いです。−提案依頼書(RFP)−ITコンサルタント・アプリ開発KevinフリーのITコンサルタント。テスト、そして移行フェーズまで。経歴はSIer10年、ITコンサル13年です。現在はアプリ開発でも活動しておりTwitterはFlutter・Dart・Firebase中心に発信しています。ついてシステム開発の企画フェーズや要件定義フェーズなど設計メインで発信するサイトです。