この記事の結論
- 開発費用の基本は「工数×単価」で、要件の量と難しさが工数を決めます
- 見積の差は要件の粒度と品質・非機能要件の想定の違いから生まれます
- 初期費用だけでなく保守費と変動要因まで含めて全体像を把握しましょう
Webシステムの開発を検討し始めると、まず気になるのが費用です。しかし「相場はいくらか」と調べても、幅の広い数字しか出てこず、かえって不安になる方が多いのではないでしょうか。開発費用は、決まった価格表から選ぶものではなく、作るものの内容と進め方によって組み立てられるものです。この記事では、金額そのものではなく、費用が「どのように決まるのか」という考え方を整理します。仕組みを知っておけば、見積書を受け取ったときに、内訳を自分の言葉で理解し、比較できるようになります。
費用の基本は「工数 × 単価」
Webシステム開発の費用は、多くの場合「作業にかかる時間(工数)」と「時間あたりの単価」の掛け算で構成されます。工数の単位としてよく使われるのが人月で、技術者1人が月単位で行う作業量を表す単位です。
工数は、次のような作業を積み上げて算出されます。
- 要件定義:何を作るかを整理し、合意する作業
- 基本設計・詳細設計:画面やデータ、処理の流れを決める作業
- 実装:プログラムを書き、動く形にする作業
- テスト:想定どおり動くか確認し、不具合を直す作業
- 導入・移行:既存データの取り込みや、公開に向けた準備
- 進行管理:打ち合わせ、進捗報告、課題の整理
単価は、担当する技術者の役割や経験によって変わります。設計を担う技術者と、決まった仕様を実装する技術者では単価が異なるのが一般的です。つまり、同じ機能を作る場合でも「誰がどれだけの時間をかけるか」の想定が違えば、費用は変わります。見積を読むときは、まず総額ではなく、この工数と単価の分解がされているかを確認してください。
要件の粒度が工数を大きく左右する
見積の差が生まれる最大の理由は、要件がどこまで具体的かという「粒度」の違いです。同じ「顧客管理機能」という言葉でも、想定している中身が違えば工数は何倍にも変わります。
想定例:「顧客を登録・検索できる機能」という依頼に対して、次の2つの解釈があり得ます。
| 解釈 | 含まれる作業 | 工数への影響 |
|---|---|---|
| 最小限の解釈 | 名前・連絡先の登録と一覧、キーワード検索 | 小さい |
| 広い解釈 | 項目のカスタマイズ、CSV取り込み、重複チェック、担当者ごとの閲覧制限 | 大きい |
依頼側が広い解釈を前提にし、開発側が最小限の解釈で見積もると、後から「これも必要だった」という追加が積み重なります。逆に、開発側が安全側に見て広く見積もると、必要以上に高く見えてしまいます。要件の粒度を揃えることは、見積の精度を上げるいちばんの近道です。具体的な整理のしかたは、要件定義の記事で取り上げています。
品質と非機能要件は「見えない費用」
機能一覧に表れない要求も、費用に大きく影響します。これらは「非機能要件」と呼ばれ、たとえば次のような項目です。
- 性能:同時に多くの人が使っても快適に動くか
- 可用性:止まってはいけない時間帯や、障害時の復旧の考え方
- セキュリティ:ログイン方式、通信の暗号化(SSL/TLS)、権限管理
- 対応環境:スマートフォン対応(レスポンシブデザイン)や古いブラウザへの対応
- 運用性:ログの取得、バックアップ、管理画面の使いやすさ
たとえば「社内の限られた担当者が使う」システムと「不特定多数の顧客が使う」システムでは、同じ機能でも求められる品質が違います。後者では、負荷への備えや、入力ミス・不正操作への対策を厚くする必要があり、その分のテストや設計の工数が増えます。見積に非機能要件の想定が書かれていない場合は、どの程度の品質を前提にしているかを確認しておくと安心です。
納品後にかかる保守費
開発費用は「作るまで」の費用ですが、システムは納品後も動かし続ける必要があります。この「動かし続けるための費用」が保守費です。
保守費に含まれる作業の例は次のとおりです。
- サーバーや OS、ミドルウェアのアップデート対応
- 障害発生時の調査と復旧
- バックアップの管理と復元の確認
- 小さな仕様変更や問い合わせ対応
- 監視と定期的な稼働確認
保守費は月額で示されることが多く、初期費用とは別に見ておく必要があります。また、サーバーやドメイン、外部サービスの利用料も、開発会社の費用とは別にかかるのが一般的です。初期費用が安く見えても、保守の範囲が狭ければ、あとから個別対応の費用が積み上がることがあります。保守の内容については納品後の保守・運用の記事を参考にしてください。
費用が変動する要因(想定例)
同じ規模のシステムでも、進め方や条件によって費用は上下します。代表的な変動要因を整理します。
| 要因 | 費用が下がる方向 | 費用が上がる方向 |
|---|---|---|
| 既存資産の活用 | CMS や既存の仕組みを土台にできる | すべてを個別に作る必要がある |
| 要件の確定度 | 発注時点で要件がほぼ固まっている | 作りながら決めていく |
| 納期 | 余裕のあるスケジュール | 短納期で並行作業が必要 |
| 連携先 | 外部連携がない | 他システムと API で連携する |
| 判断のスピード | 担当者が即答できる | 確認に時間がかかり、待ちが発生する |
想定例:受発注管理システムを検討している場合、「まず受注登録と一覧だけを作り、請求書発行は次の段階に回す」と段階を分ければ、初期の費用と不確実性を抑えられます。一方で、最初から全機能を一度に作ると、要件の変更が起きたときの手戻りが大きくなりがちです。段階を分ける進め方は、業務効率化システム開発のように、業務の流れを少しずつシステムに置き換えていく案件で特に有効です。
相場を探すより、要件を言葉にする
Webシステム開発の費用は「工数×単価」を基本に、要件の粒度、品質・非機能要件、保守費、そして進め方の条件によって決まります。相場という一つの数字を探すよりも、自分たちの要件を整理し、見積の内訳が説明できる状態にするほうが、納得のいく判断につながります。案件により費用は大きく異なりますので、まずは何を作りたいかを言葉にするところから始めてください。具体的な内容をもとに費用の考え方を整理したい場合は、お問い合わせからご相談ください。
チェックリスト
- 費用の内訳が工数と単価に分解されているか
- 要件の粒度が見積の前提と揃っているか
- 品質・非機能要件の想定が明記されているか
- 納品後の保守費が別途示されているか
- 費用が変動する条件が説明されているか
- 比較する見積の前提条件を揃えたか
よくあるご質問
費用の相場を教えてもらえますか
相場として一つの金額を示すことは難しく、案件により大きく異なります。作りたいものの内容と範囲を整理していただければ、工数の考え方とともに費用の内訳をご説明できます。
見積を安くするにはどうすればよいですか
要件を絞り、段階を分けて進めることが有効です。最初の段階で必要な機能に限定し、後から拡張する計画にすると、初期の費用と不確実性を抑えられます。
保守費は必ずかかりますか
システムを安全に動かし続けるには、アップデートや監視、バックアップなどの作業が継続的に必要です。範囲は契約により異なりますが、何らかの保守は想定しておくことをおすすめします。
関連する記事
- 費用・見積システム開発の見積書の読み方 — 工数・単価・前提条件のチェックポイントシステム開発の見積書は総額よりも内訳と前提条件が重要です。明細の見方、人月と単価の関係、前提条件と除外事項、仕様変更時の扱い、複数の見積を比較する手順を整理します。
- 進め方要件定義とは何をすることか — 発注前に整理したい5つのこと要件定義はシステムで何を実現するかを合意する工程です。発注前に整理したい目的と成功条件、現状業務の流れ、利用者と権限、扱うデータ、やらないことの5つを、想定例を交えて解説します。
- 運用・保守納品後の保守・運用で何が必要かシステムは納品後も動かし続ける必要があります。監視、バックアップと復元テスト、OS・ミドルウェア・CMSのアップデート、ステージングでの検証、保守契約の範囲という基本を整理します。
関連するサービス
関連用語: 工数・人月、要件定義、非機能要件、保守運用、基本設計・詳細設計
監修: Unlogical Systems合同会社(杉並区・西荻窪)公開