見積もりがシステムの成功を左右するシステム開発における見積もりは、プロジェクトの成功を左右する重要な要素です。正確な見積もりがなされることでコストやスケジュールを適切に管理し、望んでいるシステムを適切な価格で導入することが可能です。反対に見積もりが不十分であったり、誤った見積もりが行われた場合、追加費用や納期遅延などを招く恐れがあります。この記事では、システム開発費用の各項目や見積もりの算出方法、その他費用に影響するポイントについて詳しく解説します。これって何の費用?見積書の費目システム開発時の見積書に記載されることの多い、一般的な費目をご紹介します。要件定義システムに必要な条件を定めるための工程です。お客様が実現したいことやシステム化の範囲、必要な機能や最適な技術などを明確にし、お客様と開発会社の間で合意を形成します。設計要件定義を基に、システムの設計書を作成していきます。「基本設計」や「詳細設計」「UI設計」など、費目が細かく分かれていることもあります。インフラ構築サーバやデータベースなど、システムに必要なITインフラの構築を行います。「開発環境構築」と「本番環境構築」に費目が細分化されている場合があります。開発設計を基に、システムを実際に開発するための費用です。テストシステムが要件通りに動作するのかを検証します。「単体テスト」「結合テスト」「受け入れテスト・フィードバック対応」など、費目が細かく分かれる場合があります。本番リリースシステムを納品(本番リリース)する際に発生する作業(データの流し込みなど)に対する費用です。プロジェクト管理主にプロジェクトマネージャーやプロジェクトリーダーによるマネジメント費用です。プロジェクトの進捗や品質を管理します。導入支援新システムのマニュアル作成や、お客様向けトレーニングの費用です。保守運用納品後のメンテナンスや、セキュリティ監視のための費用です。「〇か月分」あるいは「1年分」というように、保守期間と併せて掲載されていることが多いです。その他経費打合せ時の交通費など、必要経費が含まれます。見積額の算出方法基本は「人件費単価」×「作業工数」開発費用は人件費単価と作業工数を掛け合わせて算出されます。人件費はプロジェクトに関わるエンジニアなど関係者の稼働コストを示し、作業工数はプロジェクトを実行するために必要な作業量を示します。これらを掛け合わした金額と、諸経費を合算することで、プロジェクト全体の見積もり金額が算出されます。人件費が高い・安い理由人件費単価は、エンジニアの職種や業務内容、技術レベルによって異なります。経験豊富で技術レベルが高い技術者ほど単価が高くなり、経験年数が浅い若手技術者は単価が低くなります。前段の見積費目でご紹介した「要件定義」や「プロジェクト管理」には、より高度で幅広いスキルが求められるため、レベルの高い(単価の高い)技術者が担当することが一般的です。また、発注先の開発会社によっても単価設定が異なります。一般的には地方の小~中規模開発会社や、人件費の安い海外のプログラマを確保しているオフショア開発企業に相談すると、開発費用を抑えられる可能性が高まります。作業工数が長い・短い理由作業工数は「〇人月(にんげつ)」や「〇人日(人日)」やといった単位で表現されます。例えば、とある作業を完了させるために2人のエンジニアが5日間稼働する場合、2人×5日=10人日が工数となります。難易度の高い作業や、ボリュームの多い作業は工数が長くなり、逆の作業は工数が短くなります。また、同じ作業でも担当する技術者によって工数が異なります。業界知識やスキルの浅いエンジニアほど、仕様の理解に時間がかかったり、作業スピードが遅かったりするために工数が増えます。一方、業界知識や経験が豊富なエンジニアは、仕様理解がスムーズでスピーディーな開発体制が取れるため、工数が短くなります。追加費用が発生?コストに影響するポイントいざプロジェクト始動したあとに以下のような状況が発生すると、追加費用が必要になる場合があります。一つ目は納期の変更です。納期が短縮された場合、新しい要件への対応や技術者の追加投入・再配置などのために作業工数が増えます。逆に納品が延長された場合でも、その間エンジニアの稼働を確保しなければならないため、追加費用が発生する可能性があります。もう一つは仕様の変更です。プロジェクトが進行する中で、取引先など関係者からのフィードバックや新たな要求により、システムの仕様が変更になることがあります。その結果、一部工程のやり直しや、機能の追加・変更に対応するための作業工数が追加で必要になり、追加費用が発生します。段階的契約のすすめこれらプロジェクトの進行中に発生するリスクを防止するために有効な一つの手段が、段階的契約(多段階契約)です。段階的契約とは、プロジェクトの全工程を一括で契約するのではなく、工程ごとに個別の契約を結ぶ手法です。一括契約の場合、発注するお客様の立場では、はじめに全ての費用を確定できるメリットがあります。しかし、開発途中で「やっぱりこの機能も追加したい」「この画面はこういうデザインに変えてほしい」といった要件の変更が生じた場合、対応できないことや、対応できても追加作業や作業のやり直しが発生し、開発費用が高額になってしまうリスクがあります。。一方の段階的契約では、一般的に「要件定義&設計フェーズ」と「それ以降(開発フェーズ)」に分かれます。要件定義や設計を行う過程でお客様のご要望がさらに明確になり、必要な機能を正確に把握できます。結果、過不足ない開発作業が効率的に行われ、費用の膨れを最小限に抑えることができます。また、お客様は各工程で開発会社から納品される成果物を確認できるため、プロジェクトの進捗や品質を都度把握することが可能になります。まとめ本日はシステム開発における見積の内訳や、金額算出のポイントをご紹介しました。弊社YNSでも段階的契約を含め、システムの規模やお客様のご要望に応じて最適なご契約・お見積方法をご提案しています。「こんなことできる?」「とりあえず自社の状況を相談したい」など、小さなことでもお気軽にご相談ください。また弊社では、お客様が既に取引のあるシステム開発会社様から提案された見積もりの妥当性がわからない、などのご相談も承っております。安心の定額制で、ご担当者様のお悩み解決に伴走いたします。「開発会社の選定についてセカンドオピニオンが聞きたい」「進行中のプロジェクト。外注先との打ち合わせをもっと円滑に進めたい」なども、お気軽にご相談ください。