
開発手法・プロセス
非機能要件
NFR
システムに求める条件のうち、停止しにくさ、速さ、安全さ、保守のしやすさなど機能以外の水準を定めたものです。水準を引き上げるほど費用が大きく増加するため、業務への影響から必要な分だけを定めます。
ようけんていぎ
新しいシステムで何をどこまで実現するかを、開発の前に決定して文書化する工程です。決定する責任は発注側にあり、範囲が確定していないなら要件定義だけを先に別契約で締結するほうが、見積もりの前提が発注側と開発会社で一致しない事態を防止しやすいです。

新しいシステムで、どの業務をどこまでシステムに担わせるかを開発の前に決定し、文書化する工程です。業務の流れをどう変更するかを業務要件として先に定め、それを実現するために画面や帳票で何ができればよいかをシステム要件として定めます。処理の速さや安全性、止めてよい時間帯のように機能以外の条件は非機能要件と呼び、要件定義の中で一緒に定めます。
完成した要件定義書は開発会社が基本設計をし、見積もりを提示する前提になります。完成したシステムを受け入れるかどうかを確認する基準にもなります。
IPA(情報処理推進機構)と経済産業省が2020年に公表した第二版の情報システム・モデル取引・契約書は、システム化の企画と要件定義を合わせて超上流工程と呼び、設計より前に置いています。開発会社の提案書で超上流と記載されていたら、この2つの工程を指します。
何を開発するかを決定しないまま開発を開始すると、業務部門は画面ができてから想定との違いに気づきます。その段階で作り直しが発生します。後の工程で発見されるほど、設計、作り込み、テストをやり直す範囲が拡大します。
もう1つの理由は見積もりです。何を開発するかが曖昧なままでは、開発会社は確かな費用と納期を提示できません。曖昧さを解消しないまま固定額で契約すると、確定していなかった部分の扱いを巡って追加費用や納期の争いになりやすいです。
要件を決定する責任は発注側にあります。IPAはユーザのための要件定義ガイドの公開にあたり、システムを使って事業に貢献する役目を負うユーザに責任があると説明しています。モデル契約書も要件定義書は発注側が作成し、開発会社は作成を支援する形を想定しています。
開発会社が担うのは次の作業です。
変更はできます。定めた手続きに沿って、費用と納期への影響を確認したうえで変更します。モデル契約書も確定後の変更は契約内容の変更手続きで処理する形にしています。口頭で追加した要望は費用と納期への影響が記録されません。
アジャイル開発でも要件定義は必要です。全体を最初から詳細には定めず、目的、範囲の大枠、優先順位を先に決定し、細部は開発しながら短い間隔で決定していきます。
決定する責任が発注側にある点に変化はありません。
作業の多くは委託できますが、決定は委託できません。業務をどう変更するか、どの要望を優先するか、予算に収めるために何を削るかは発注側が決定し、要件定義書を承認するのも発注側です。一任した場合は開発会社が推測で補った要件がそのまま設計に反映され、受入れテストの段階になって業務の実態との不一致が判明します。
社内ではまず意思決定者を1人選定します。利用する部署が1つならその部署の責任者でかまいません。複数の部署にまたがるなら部署間の優先順位を決定できる役職者が必要です。加えて、実務の担当者を各部署から1人ずつ選出し、要件定義の期間中は目安として週に半日から1日を打ち合わせと確認に充てます。情報システム部門が取りまとめを担うのはかまいませんが、業務部門の代わりに決定はできません。この体制が組めないうちは開発の開始時期を延期します。
何を開発するかがまだ確定していないなら、要件定義だけを先に準委任契約として発注します。準委任は成果物の完成ではなく作業の遂行に対して費用を払う契約で、開始する時点で中身を特定できない要件定義に適しています。請負は完成した成果物に対して費用を払う契約で、開発対象が確定していることが前提です。要件定義の結果をもとに開発の見積もりを改めて依頼できるので、曖昧な段階の見積もりで開発全体の金額を固定せずに済みます。IPAの情報システム・モデル取引・契約書も、要件定義を準委任とし、工程ごとに契約を結ぶ多段階契約と、要件が明確になった段階での再見積もりを採用しています。
開発と一括した固定額の請負契約は、開発する範囲がほぼ確定している場合に限ります。既製のクラウドサービスを標準機能の範囲で導入する場合や、既存システムの小さな改修がこれにあたります。範囲が確定しないまま一括で請け負わせると、開発会社は不確かな分を見積もりに上乗せするか、確定していなかった部分を後から追加費用として請求するかのどちらかになります。どちらも発注側の得になりません。
別契約にすれば要件定義書をもとに提案依頼書であるRFP(Request for Proposal)を作成し、開発を別の会社に依頼する選択肢もあります。ただし要件定義を担った会社は業務と決定の経緯を把握しているので、開発会社を変更すると引き継ぎの手間がかかります。
企画を除いた開発の工期の2割前後、工数の1〜2割程度が目安です。JUAS(日本情報システム・ユーザー協会)のソフトウェア・メトリクス調査2025は、工程を要件定義、設計から結合テストまで、総合テストの3つに分けています。その比率は工期で20対50対30、工数で15対60対25です。全体で1年かかる開発なら2〜3か月を要件定義に充てる計算です。この調査はユーザー企業の比較的大規模な案件が中心で、小規模な案件にそのまま当てはめると期間が長めに算出されます。要件定義は少人数で決定していく工程なので、人を増やしても期間は短くなりにくいです。
要件定義に時間をかけるべきなのは次の場合です。
システムの移行では現行の仕様を調査する作業が加わるため、この比率より期間が長くなる傾向にあります。
簡略にしてよいのは1つの部署だけで利用する業務ツールや、既製のクラウドサービスを標準機能のまま利用する導入です。この場合は目安として数日から2週間程度で、目的、範囲、やらないこと、受入れの条件を数ページに整理すれば十分です。逆に、全体で半年以上かかる開発のうち、要件定義に充てる期間が1割に満たない計画は、決め残しを開発中に持ち越していないかを開発会社に確認します。
事業の課題や技術的な悩みなどどんなことでもお聞かせください