システム開発のプロジェクトでは、予算を作成するために見積もりを立てる必要があります。
しかし、見積もりの精度が低いと思わぬトラブルや予算超過につながる可能性があり、プロジェクトが赤字になってしまうことも考えられます。
この記事では、システム開発における見積もりの算出方法や見積もりに必要な項目、チェックするべきポイントなどについて解説します。ぜひ参考にしてみてください。
目次
開発の見積もりで用いられる算出方法
まずはシステム開発の見積もりで用いられる、下記の算出方法について解説します。
- トップダウン(類推見積)
- ボトムアップ(工数積上げ)
- 係数モデル(パラメトリック見積)
- プライスツーウィン法
トップダウン(類推見積)
トップダウン(類推見積)方式とは、過去の類似プロジェクトをベースに、具体的なコストや工数をもとに見積もりを行う方法です。
実際の事例をベースにするため、誤差が生じにくいというメリットがあります。ただし、過去に類似のプロジェクトを行ったことがない場合には、この方法を使うことはできません。
ボトムアップ(工数積上げ)
ボトムアップ(工数積上げ)方式は、システムの完成形から構成要素を想定し、工数を積み上げて見積もりを行う方式です。
工数一つひとつ対して見積もりを行うため、抜け漏れが発生しづらい点がメリットです。
また、開発前に必要な工数を洗い出して見積もりを行うため、クライアント側も金額を細かく把握しやすいというメリットがあります。システム開発の見積もりとしては最も精度が高いと言われる方法ですが、工数を一つひとつ洗い出してから見積もりを行うため、時間がかかる点には注意が必要です。
▼失敗しない工数見積の方法については下記の記事を参考にしてください
係数モデル(パラメトリック見積)
係数モデル(パラメトリック見積)とは、特定の係数モデルを使用して開発工数の見積もりを行う方法です。
COCOMOモデルやCOCOMOⅡモデル、ファンクションポイント法といった係数モデルを用いて、工数を点数化して見積もりを行います。
数式を用いて機械的に見積もりを行う方法のため、担当者のスキルや経験に依存することなく見積もりを行える点がメリットです。ただし、入力する数値の正確さが求められるため、データやサンプルが少ない場合には見積もりの精度が低下してしまう点には注意が必要です。
プライスツーウィン法
プライスツーウィン法とは、クライアントの予算をベースに見積もりを行う方法です。
予算ありきで見積もりを行うため、予算の超過を防ぐことができます。限られた予算内で進めるプロジェクトには適した方法ですが、工数に制限がかかり、クオリティーが保証できない点には注意が必要です。
システム開発の見積もりを行う際に、決定しておくべき前提事項
開発の見積もりを行う際には、下記のような前提事項を明確にする必要があります。
- 見積もりの対象となる作業範囲・対象外の範囲
- 開発に使用する言語・フレームワーク・サーバー・ネットワーク環境
- 開発手法
- 開発プロジェクトの期間
- 開発するシステムの機能要件
- プロジェクトの運営方法
- テストの内容
- 保守運用や導入支援
これらの前提事項を明確にすることで、タスクの抜け漏れや見積もりとの乖離を防ぐことにつながります。
前提事項を決定したら、開発側・クライアント側の双方で確認をして合意を得ることが重要です。
システム開発の見積もりで、対象となる項目
システム開発では、要件定義から詳細設計・デザイン・テスト・保守運用などさまざまな工数が発生します。
ここでは、システム開発の見積もりで対象となる項目について解説します。
要件定義
要件定義とは、クライアントからの依頼をもとに、開発するシステムの機能や方針を明確にすることです。
システムに必要な機能や開発に必要な技術・スケジュール・リソースなどを決定して文書にまとめます。
プロジェクトの成功には、適切な要件定義が欠かせません。プロジェクトを行う上で最も重要な作業だと言えます。
基本・詳細設計
要件定義の内容をもとに、開発するシステムの設計図を作成します。
基本設計はシステムに実装する機能を明確にするもので、完成後のシステムの動作について決定します。主にクライアントや外部に向けた設計です。
詳細設計は、基本設計のあとに行います。基本設計で決定した機能を実際に開発、実装する方法について決定するための設計です。
UI・UXデザイン
UI・UXデザインとは、ユーザーが操作をするインターフェース(UI)や、システムを通したユーザーの体験(ユーザーエクスペリエンス)をデザインすることです。
操作画面のフォントやボタン・イラスト・メニューなどをデザインします。外部のデザイナーに依頼する場合には、デザイナーに支払う外注費用が必要です。
開発・ディレクション
詳細設計やデザインで定めた内容は、ディレクターの指示のもとで実装を進めます。
ディレクターは進捗管理やクオリティの確認、工数管理などを行います。プロジェクトに発生するタスクごとに、工数(作業時間×作業人数)を算出して、その予実を管理するのが主な役割です。
テスト
システム開発では、動作検証のためにテストが必要です。
開発したシステムや機能が正常に動作するかどうか検証するため、主に下記のようなテストを行います。
- 単体テスト:機能や構成要素について、単体で動作検証をする
- 結合テスト:機能同士や他のシステムとの連携について動作検証する
- 総合テスト:実際のシステム運用を想定して、全体の動作検証をする
- 受け入れテスト:納品時に行うテスト。実際の利用環境や近しい環境でシステムを使用する。仕様書の通りに動作するかどうかを検証する
導入
システムを導入する際には、さまざまな初期設定が必要になります。
また、旧システムから移行する場合、移行作業や連携作業も必要になるでしょう。システムの利用方法をレクチャーするための研修や、マニュアルの作成作業なども発生します。
保守運用
システムを導入したあとには、安心安定な稼働がされているか、保守運用をする必要があります。
保守運用には、システムの監視やメンテナンス・アップデート・バグ修正・機能改修などの作業が含まれます。トラブルは急に発生するものなので、ある程度は工数に余裕を持っておく必要があります。
システム開発の見積もりで、チェックするべきポイント
開発の見積もりが不正確だったり見落としがあったりすると、思わぬ予算超過が発生してしまう可能性があります。
開発前の見積もりでチェックしておきたい、下記のポイントについて解説します。
- 開発や作業の範囲は明確になっているか
- リスクやトラブル対応も視野に入れているか
- 工数・前提事項が明確になっているか
開発や作業の範囲は明確になっているか
開発の見積もりにおいて、もっとも重要なのは作業範囲を明確にしておくことです。
作業範囲が明確でない場合、適切な見積もりを出すことができなくなります。また、クライアントとの間で認識の齟齬が発生してしまうと、途中で方針を変更したり、追加で機能を開発したりする必要が発生し、余分に費用がかかってしまう可能性があります。
見積もり要件を決定する際には、対象となる作業範囲を定めてクライアントとの間で合意を得ることが重要です。
リスクやトラブル対応も視野に入れているか
開発プロジェクトには、スケジュールの遅延やトラブル、エラーなどのリスクがつきものです。
見積もりを作成する際には、リスクの発生やトラブルの対応も視野に入れて、スケジュールやリソース、開発費用を見積もることが重要です。
工数・前提事項が明確になっているか
開発費用の見積もりを正確に行うためには、スケジュールやリソースを適切に見積もる必要があります。そのためには、開発にかかる工数を明確にしておくことが重要です。
システム開発のための工数だけではなく、進捗管理や品質管理のための管理工数も必要です。工数と前提事項を明確にした上で、見積もりを作成するようにしましょう。
プロジェクトの成功には「工数見積もり」が重要
プロジェクトごとの見積もりを正確に、簡単に行うためには工数管理ツールを導入しましょう。
工数の見積もりが甘いと、開発費用の見積もり精度も低くなってしまいます。また、プロジェクトの進行中に予想外の作業が発生した場合に、想定通りにプロジェクトが進まなくなる可能性も考えられます。
工数の見積もりを行う際には、過去の類似プロジェクトやタスクにかかった時間を参照することで、見積もりの精度を高めることができます。
プロジェクトごと、タスクごとの所要時間を取得するには、工数管理ツール「TimeCrowd」の導入がおすすめです。
TimeCrowdは、タスクの開始時と終了時にワンクリックで打刻をするだけで「どのプロジェクト(タスク)に・どれくらい時間をかけたのか」を記録できます。また、メンバーごとの時間単価を設定することで、プロジェクトごとの人件費や利益率を算出することも可能です。
▼TimeCrowdのレポート画面
GoogleカレンダーやOutlookカレンダーと連携をすれば、カレンダーに入力したタスク名をもとに自動で打刻することもできます。
シンプルな操作性で工数実績を記録できるため、メンバーに大きな負担はかかりません。また、工数実績のレポートは自動で集計されるため、管理者にも負担をかけることなく工数管理を導入することができます。
TimeCrowdのサービスについて、詳細な機能や料金プランにご興味のある方は下記のサービス資料からご確認ください。
工数管理ツール「TimeCrowd」の資料をダウンロードまとめ
プロジェクトの見積もり精度を高めるためには、工数を正確に見積もることが重要です。
過去の類似タスクと所要時間のデータがあれば、現実に近い数値で工数を見積もることができます。
タスクの所要時間を記録、集計できるTimeCrowdのようなツールを活用して、実際のデータをもとに工数見積もりを行うのがおすすめです。
TimeCrowdは最初の2週間は無料でお試しいただけます。操作性の気になる方は、まずは下記のフォームから無料登録をしてみてください。
TimeCrowdの無料トライアルに申し込む