ブログ

Blog

システム開発の見積もり

2022.05.31

本記事ではシステム開発を伴うプロジェクトを実施するための見積もりについて説明します。
ここでは工数や工期、金額などの規模感を数値化するための知識を身につけることを目標とします。


見積もりの基本

見積もりと言っても納期や金額、作業スケジュールの予定と幅広いです。
しかし見積もりの基本となるものはまず”作業量の予測”です。
システム開発においてかかる費用の大半は人件費となるためまず初めに作業量の予測をすることで金額の予測やスケジュールの予測に繋がります。
では作業量を予測するためには何をすればよいのでしょうか。その答えは”要件定義”をすることです。要件定義とは顧客が希望するものを具体的な形にする作業のことです。
要件定義をするためには顧客からの要望をしっかりとヒアリングし、実装する機能や設備などを要件定義書に書き出し、列挙する必要があります。
要件定義には機能要件と非機能要件という要素があります。機能要件では「こんな画面が欲しい」「決済機能がほしい」など、ユーザーが利用する機能の部分になります。一方日機能要件では「10000人が同時に利用できる」「動作を極力軽く」などのような要望になります。
このような要件定義をできるだけ細かく列挙することで作業量の予測ができ、精度の高い見積もりを出すことができます。

見積書で使う用語

工数:「工数」とは作業量を表す単位です。次に説明する「人月(にんげつ)」「人日(にんにち)」などが代表的なものになります。
人月:「人月」とは1人が1ヶ月に作業できる量のことです。1人で3ヶ月かかる作業であれば3人月、3人で5ヶ月かかる作業であれば20人月となります。
人日:「人日」とは1人が1日に作業できる量のことです。1人で5日かかる作業であれば5人日、2人で4日かかる作業であれば8人日となります。
また、0.5人月や0.4人日などより細分化した単位で扱うこともできます。

見積もりから納品までの流れ

顧客と開発会社の間では「クオリティ、費用、納期」といったQCDの合意事項について確認をとり、費用や期間の見積もりを行った後プロジェクトが始まります。
開発が完了し納品されると、発注側はテストし検収を行います。その後問題がなければ納品完了となり開発費用が請求されます。

システム開発における契約形態

システム開発において主な契約形態は、”業務委託契約”と”請負契約”の2つがあります。
業務委託契約では作業量の対価として料金を請求します。この形態では「何人で何ヶ月分の作業」を基準に見積もりを行うため、開発する機能に変更があったとしても開発の人数と期間が変わらなければ見積もりは同じになります。
一方、請負契約では納品者の対価といて料金を請求します。この形態は機能に対する見積もりのため、機能の増減があれば金額も変わってきます。また請負契約では開発会社に完成責任が生じます。そのため完成責任に対するリスクも見積もりに含める必要があります。

見積もりの手法

積み上げ法

積み上げ方は最も一般的な見積もりの手法で、簡単に金額の根拠を説明することができます。
方法としてはまずタスクを全て洗い出し、その上で類似経験をもとに工数を予測していきます。

ファンクションポイント法

ファンクションポイント方もよく使われる手法の1つです。データベースの項目や画面の数などの数えられる外部との接点機能数を通して見積もる方法です。

栗山 将
CEO / 代表取締役社長 / フロントエンドエンジニア
プロフィール