システム開発の見積もりでチェックしたいポイント

更新日:2019年07月02日 発注カテゴリ: Webシステム開発
システム開発の見積もりでチェックしたいポイント

この記事では、システム開発の見積もりの妥当性をどうやって判断するのかについて分かりやすく解説しています。システム開発では、必ずしも見積もり通りにすべての工程が終了するということはありませんが、見積もりが出された段階では、どんな風に見積りが計算されているのかという点をしっかりとチェックして、妥当な見積もりであることを納得した上で次の工程へと進みたいも3です。具体的にどんなポイントをチェックすればよいのでしょうか。

関連する記事

システム開発の見積もりの妥当性を判断するチェックポイント

1つ目のチェックポイントは、プロジェクトにかかる期間が妥当であるかどうかをチェックしましょう。打ち合わせの中で、システムの開発にどのぐらいの期間がかかりそうなのか、またプログラマやエンジニアはどのぐらいを投入して開発を行うのかなどが明確に提案されます。

そこから、工数を算出することになります。プロジェクト期間が妥当かどうかを判断することによって、見積もりの金額が妥当なものかをチェックすることができます。

2つ目のポイントには、リスクが考慮されているかどうかという点があります。システム開発にあたり、見積り上の工数はあくまでも開発を始める前の段階で予定している工数です。

実際には、途中であいまいな仕様を具体化するための作業が必要になったり、見積もりを算出する時には想定できなかった事態が起こることもあります。そうしたリスクがどのぐらい見積もりに含まれているのかという点についても、しっかりチェックしたいものです。

3つ目のポイントは、開発したり改修を行うシステムの範囲が妥当であるかどうかという点があります。具体的な範囲やフェーズが明確でなければ開発者にとっては工数を算出することは難しいですし、はっきりとした線引きがないままシステム開発を行うことは、発注した側にとっても納品されたシステムに対する満足度に大きな影響が出てしまうかもしれません。

どこの範囲からどの範囲までをどんな風に開発または改修するのかという点は、見積りをチェックするうえではっきりさせておきたいポイントと言えるでしょう。

4つ目のポイントは、前提条件が明確になっているかどうかという点があります。システムの開発業者がどの時点の仕様を元にして見積りを計算しているのかを知ることで、コスト面が見積りよりもアップしそうなのかどうかを予想しやすくなります。また、前提条件としてどんな制約事項があるのかという点も確認したいものです。

これらの点において妥当性を見いだせない見積書は、後からトラブルになる原因になる可能性があります。注意したほうが良いでしょう。

システム開発の見積項目の種類と妥当な費用相場

システム開発の見積もりでは、大きく分類すると9つの費用項目が盛り込まれます。1つ目の「要件定義費用」は、どんなビジネス目標を達成するためにどんなシステムを導入したいのかというヒアリングを行い、それを文書化する作業にかかる費用です。

より満足度が高いシステムを開発するために、現状の業務に導入されているシステムを確認したり、現場の声を聴くために遠方の工場や設備へ足を運ぶというケースもあります。こうした作業にかかる費用は、要件定義費用として盛り込まれます。

2つ目には、設計費用があります。これは、アプリの設計やデータモデル設計、インフラ設計、および運用設計にかかる費用のことです。

システム開発では、プログラマやエンジニアたちが一斉に開発を始めるというわけではなく、実際に開発作業に入る前に行うロジックやデータ構造、およびサーバーや機器、クラウドの必要性などについての構造を決める作業が必要となります。設計費用は、そうした設計にかかる費用項目です。

3つ目には、テスト費用があります。これは、システム開発における最終段階で行う工程にかかる費用のことで、どんなテストを行うのかを策定したり、具体的なテストの内容を設計したり、実際にテストを行うという作業が含まれています。

4つ目は、開発費用です。システム開発における開発費用については、人月を単位として計算されることが多いようです。これは、プログラマまたはエンジニア1人当たりにかかる月当たりのコストで、業者によって差はもちろんありますが、60万円〜100万円が相場となっています。

大手企業へ開発を依頼する場合には、人月当たりの単価が150万円と高めの設定となることもあります。プログラマやSEのレベルによって単価が異なることも多く、一般レベルのSEなら人月単価が80万円〜100万円なのに対して、マネージャーレベルでは100万円〜120万円と単価が変わります。システムの内容によっては、新人SEに開発をさせる事で単価を低く抑えるという開発業者もあります。

5つ目は、デザイン費用です。システムによってはデザイン費用は開発費用に含まれていることがありますが、デザインに特定のこだわりがある場合には、デザイン費用として別途見積りが発生することもあります。

6つ目は、導入費用です。これは、完成したシステムを納品する際に必要となる、初期設定などの作業にかかるコストとなります。7つ目の導入支援費用は、導入の際に操作マニュアルを作成したり、実際にシステムを操作するエンドユーザーに対して説明会を開催するなどにかかる費用となります。

8つ目には、購入費用があります。これは、システムの開発に伴ってサーバーの導入が必要となったり、ソフトウェアの購入が必要となる場合にかかる費用です。そして最後の9つ目の費用項目には、交通費があります。

開発途中での打ち合わせにおいては、実際に開発を担当するSEが足を運ぶことがあり、交通費はそうした際に発生する交通費となります。これらの見積り項目は一般的な項目です。

開発業者によっては、異なる分類方法で見積もりを作成している所もあります。しかし、分類が異なっていても網羅する部分は変わらないので、見積もりをチェックする際には一つ一つの項目がしっかりカバーされていて、その見積金額が妥当かどうかを確認しましょう。

最初に決めておきたい前提条件の必要性

システム開発で見積りを取る際には、前提条件と呼ばれるものが明記されていることがとても重要です。とくにシステムの受託開発においては、最初に仕様をきちんと設定した上で開発を始めることができるかどうかによって、そのプロジェクトの成功率が大きく異なるとも言われているほどです。

その中でも前提条件というのは、実際に開発を行うエンジニアの頭の中に想定されている要件のことで、発注する側と受注を受ける側でプロジェクトに対する理解や見解を同じレベルにするために文章として明記する必要があるのです。

この前提条件がなければ、発注した側とエンジニアとの間でプロジェクトに対する見解や理解が異なってしまい、後からトラブルが起こりやすくなってしまいます。「この部分は、普通はXXなるでしょう」「XXして当然だと思った」という誤解を生じないためには、前提条件を見積りに明記されていることを確認したいものです。

あらかじめ決定しておいた方が良い前提条件は、複数あります。例えば見積もりの範囲は前提条件として必ず明記しなければいけない部分で、ソフトウェアやハードウェア、ミドルウェアのどの部分までが見積りに含まれているのかという点を明らかにすることによって、後のトラブルを回避できます。文章で明記しづらい場合には、システム構成図があると分かりやすいでしょう。

また、システムの開発においてどのような技術を用いて開発を行うのかという点も、前提要件として含まれていることを確認しましょう。具体的には、開発に使用する言語やフレームワーク、クラウドサービス、その他利用するサービスやサーバーの種類等が挙げられます。

さらに、開発プロセスに何を採用してどんな風に開発を進めていくのかという点も、大切な前提条件となります。

前提条件には、プロジェクトにかかる期間も明記されていることが重要です。エンジニアが1人で行う作業でも、1ヶ月かかるのか、6か月かかるのかによって納品までの期間は大きく異なります。プロジェクトがいつスタートしていつ納品されるのかという点が、見積書に明記されていることを確認しましょう。

システム開発の見積もりにおいては、いくつかの手法が用いられますが、その中でも一般的なのは、FP法と呼ばれているファンクションポイント法です。

システムの5大要素には、入力、出力、記憶、演算、制御という5つがありますが、ファンクションポイント法ではこのうち、入力と出力、そして記憶の部分に注目して開発の規模や工数を比例させることで見積もりを出すという手法です。

ファンクションポイント法の他には、類推法と呼ばれる手法もあります。これは、類似した過去の案件と比較しながらザックリとした規模を算出することによって見積もりを計算するという方法です。

過去に多くのプロジェクトを手掛けてきたエンジニアの経験値を元に算出される見積りで、しっかりと仕様を決めてから開発をスタートするというよりは、まずは開発を始めてみてから仕様を煮詰めていくというスタンスの場合に有効です。

バッファ(余剰工数)とは?

システム開発においては、エンジニアの工数が大きな割合を占めることになります。見積もりを出す際には、どのような仕様で開発作業を行うかという点を出来るだけ具体的にすることによって、工数見積もりをより正確に計算できるわけです。

それでも、やはり開発作業の途中でいろいろな問題や不明な点が持ち上がることは多いため、どうしても予定よりも工数が多くかかってしまうという事態は起こりがちです。そのため、見積もりで提出されている工数には、バッファと呼ばれる余剰工数が含まれていることが多いのです。

システム開発における見積りでは、かならずバッファが含まれていることをあらかじめ確認しておきたいものです。その理由は、バッファを含まない見積りの金額に納得して発注しても、実際に納品される段階になって工数が見積りよりも大幅に増えていたということは起こりやすく、トラブルの原因になってしまうためです。

具体的に開発業者がどのぐらいのバッファを工数に加えているかという点については多種多様ですが、一般的には実際にかかると業者が想定している工数の50%をバッファとして加算することが多いです。

例えば見積もりを出した業者が、おそらく開発には30人月ぐらいかかるだろうと想定している場合には、バッファの50%を上乗せして45人月という数字を見積書に記載するということになります。

このバッファは、あくまでも後のトラブルを回避するための余剰工数です。そのため、実際にはそれほど多くかからないかもしれませんし、てこずる開発だとバッファよりも多く工数がかかってしまうこともあります。

そのため、見積もりの工数をチェックする際には、工数はあくまでも予想値で、その数字よりも多くなることもあるという点は念頭に入れておきたいものです。

ちなみに、このバッファの計算や見積りの確認は、エンジニアが算出するケースはありますが、最終的にはプロジェクトマネージャーがクロスチェックを行った上で発注先へ提出するという流れになっています。経験値が高いプロジェクトマネージャーなら、バッファの計算についても見積りと大きくかけ離れてしまうリスクを低く抑えるこができます。

システム開発の見積もりを算出するタイミング

システム開発が失敗してしまう原因にはいろいろなものがありますが、見積もりによって失敗するケースは少なくありません。そしてその背景には、見積もりを算出する際に、詳しく仕様を決めないまま開発をスタートしてしまうことが多いです。

システムの開発を発注する際には、専門的な知識を持っていなくてもザックリとした方向性や考えやイメージなどは発注業者なら誰でも持っているものです。

ヒアリングを行うながら、そのイメージをエンジニア側に伝えていくわけですが、十分なヒアリングを行わない場合には、発注する側のイメージをエンジニアが異なる解釈をした状態でシステムの開発が始まってしまいます。

そうすると、実際にシステムが納品されてから、「こんなものを発注したわけではない」というトラブルが起こりがちですし、修正ややり直しなどを繰り返すうちに、作業工数がどんどん増えてしまい、最初の見積もりの数倍も多くかかってしまうという事態が起こりかねないのです。

そのため、システム開発において見積もりを算出するタイミングはとても重要です。エンジニアやプロジェクトマネージャーが自身の経験値を元にザックリとした金額を見積るという手法もありますが、後からのトラブルを回避するためには、最初のヒアリングや設計の段階をしっかり行った後のタイミングで、見積もりを算出するのが理想的です。

システムの開発を発注する側と受注する側とで誤解やトラブルを生まないためには、開発のプロセスごとに何段階かで見積もりを修正していくという方法があります。しかし、プロジェクトを発注する側にとっては、修正ごとにどんどん見積りが高くなっていくということに対しては抵抗があるものです。

それに発注側にとっては、最初からコストが高くなることが分かっているのなら別の業者に依頼したのに、と後悔するかもしれません。

そうした後悔をしないためには、ブルーオーシャン領域を見つけることが大切です。これは、ブルーオーシャンというのは受注競争がない分野のことで、経験や実績など過去の実例に基づいた守りの体勢に入るのではなく、未来や可能性に目を向けた攻めの体勢で開発を行う姿勢のことです。

例えば、システムの開発をする企業が「過去にこういったプロジェクトは実際にこのぐらいのコストがかかっているので、そのぐらいは見ておいてください」と見積もりを算出してきたら、発注側にとっては、仕方ないなと考えることはできても、未来に対する可能性にワクワクしにくいものです。

しかし開発サイドが「このぐらいのコストを想定しているけれど、専門的で高品質のシステム開発のためにコストがオーバーしてしまうかもしれない」とくれば、発注した側は納得できるのではないでしょうか。

ちなみに、見積りにおけるトラブルを最小限に抑える方法としては、このブルーオーシャン方式における多段階の見積もりが理想的と言われています。

費用内訳の考え方

システム開発には様々な費用が掛かります。そしてその費用は、見積もりにも内訳が明記されています。費用の内訳をみると、システムの開発においてかかるコストの中でも大きな割合を占めるのは人件費と言われています。

この人件費には、実際に開発を行うプログラマーやシステムエンジニア、プロジェクトマネージャー、デザイナー、コンサルタント、ライターなどプロジェクト開発に携わる多くの工数が含まれることになりますし、開発の途中で仕様変更があったり手こずる工程があったりすると、工数は大きく増えてしまう可能性があります。

そのため、費用内訳における人件費は、その数字がそのまま請求書の数字になることはないという点は、あらかじめ理解しておきたいものです。

高い気がする場合に安く抑える方法は?

システムの開発を発注したいと考えていて、実際に見積りも算出してもらったけれど、コスト面が高いので実際に発注するかどうかわからないという企業は少なくありません。

また、システム開発における担当者になったけれど、実際の相場が分からないので見積もりを受け取っても数字の読み方が分からないというケースも多いものです。

システムの開発にかかる費用は、どのようなシステムを開発するのかによって異なりますし、どのレベルのエンジニアがどんな風に開発を行うのか、またどの企業へ発注するのかによっても大きな差があります。

しかし発注する側としては、できるだけ高品質のシステムを出来るだけ低コストで発注したいものです。そんな時にはどうしたら良いのでしょうか?

システム開発にかかる費用を出来るだけ安く抑えるためには、できるだけ最初にたくさんのヒアリングを行って、具体的にどんなシステムが欲しいのかという点を詳しく開発側に伝えることが必要不可欠です。

ザックリとしたイメージだけで開発をスタートしてしまうと、後から「こういう機能が欲しい」「もっとこういうイメージで」と修正点がたくさん出てきてしまいます。こうした開発作業では、修正作業ややり直しの作業が入れば入るほど、どんどん工数は大きく膨らんでしまうものです。

そうした工数の増加を最小限に抑えるためにも、開発側が実際に作業をスタートする前の段階で、具体的にどんなイメージのものを想定しているのかという点や、どんな機能はつけてほしいのかという点を、開発側に伝えることが必要です。

開発にかかる費用をできるだけ安く抑えるための工夫として、実際に開発したシステムをどのぐらいの期間使うのかを想定するという方法もあります。

これは投資回収期間を想定することによって、そのシステム開発にどのぐらいのコストをかければよいのかという具体的な線引きラインが見えてくるというものです。

短期間しか利用する予定がないシステムなら、開発にそれほど大きな金額をかけることは難しいでしょうし、長く使うシステムなら、金額をかけても後から拡張したりアップグレードしやすいフレキシブルさを兼ね備えたシステムの方が便利です。

安く抑える工夫の一つには、パッケージやASPを利用するという方法もあります。システム開発においては、一般的な業務形態をイメージして作られたパッケージとして商品化されているものがあります。

このパッケージをカスタマイズすることは可能ですが、カスタマイズすることによってコストがかかる場合は多いので、もしもパッケージやASPをそのまま利用できるのなら、そのままの形で利用したほうが、費用対価としては大きなメリットが期待できます。

見積りにおける注意したいポイント

システム開発においては、ヒアリングを何回か行ってから具体的な見積もりを算出してもらい、納得した上でシステムの開発作業がスタートします。しかしシステムの開発においては、すべてが予定通りというわけにはいきません。

難解な工程なら工数が予定よりも多くなってしまう可能性はありますし、発注側が考えていたイメージと異なれば、やり直してもらうこともあるでしょう。また、絶対に必要な機能がついていなければ、コストをかけてもつけてもらわなければいけません。

そうした作業に関する工数は、最初の見積もりにバッファとして含まれているものですが、バッファだけではカバーしきれない工数が発生してしまう可能性があるという点は、覚えておきましょう。そのため、見積りはあくまでも見積りの金額であり、実際にはコストは増える可能性があるという点は理解しておきたいものです。

システム開発においては、見積もりは人月という単位で算出されるのが一般的です。この人月という単位は、一人のエンジニアが1ヶ月かかって作業した場合の単位で、多くの人が開発に携われば携わるほど、工数は大きくなるということを認識しておきましょう。

こうした開発作業は、一人のエンジニアが最初から最後まで全ての工程をこなすわけではありません。エンジニアの側では複数の人がそれぞれの工程を担当しているわけですし、その内容をお互いに報連相したり、成果物の出来栄えをチェックしたり、足並みや完成度をそろえる作業も必要となります。

そのためのコミュニケーションにも時間がかかり、それは工数として見積もりにも反映されるのです。そのため、たくさんの人が携わるシステムだと、必然的に工数も多くなってしまうわけです。

システム開発においては、どのレベルのエンジニアが開発作業を担当するのかによって工数の単価が大きく異なりますし、どのぐらいの工数が必要なのかという点も異なります。

高いスキルのエンジニアが担当すれば、単価は高くなっても短い工数で質が高い成果物に仕上げることが可能でしょう。しかし一方で、経験が浅い初心者エンジニアが担当すれば、単価を低く抑えることはできても、開発作業が終了するまでに長い工数がかかってしまったり、成果物の質がイマイチという可能性もあります。

システムを開発する業者の中には、見積もりにおける金額を安く抑えるための手段として、担当するエンジニアのスキルレベルを低めに設定している所があります。見積もりを算出する際には、そうした細かい点もしっかりと確認した上で、数字の裏に隠された様々な情報を読み取ることが必要です。

見積りを出してもらう際には、占める割合が大きな人件費に意識が集中しがちです。しかし実際の開発においては、人件費以外に設備投資費がかかるという点も忘れてはいけません。

設備投資費にはいろいろなものがありますが、例えば開発用のパソコンをリースすれば、そこに費用が発生しますし、作業スペースとしてオフィスをレンタルすれば、そこにも費用が発生することになります。

また、自前でサーバーを準備する必要があれば、その購入費用が必要になりますし、クラウドサービスを利用するのなら、その契約やサービス利用に対しての費用が発生することになります。

まとめ

見積もりの中には、設備費としてかかる費用が盛り込まれていることが多いのですが、場合によっては必要となるサービスや費用を全てカバーしていないこともあります。

実際にシステムを納入してもらってから他にもいろいろなコストがかかることを知って驚くよりも、最初からどのようなコストがかかるのか分かっていたほうが、発注する側としてはいろいろな計画を立てやすいものです。見積もりを出してもらう際には、そうした点も確認することをおすすめします。

また、見積もりを出す前の段階で、発注する側が具体的にどのようなシステムの導入が必要なのか、その導入によってどんな問題を解決することができ、それは企業にとって根本的な問題を解決できるシステムなのかどうかという点を、明らかにしておく必要があります。

システムを導入して企業のIT化を図ったけれど、実際にはあまり活用する機会がなくて失敗したというケースは多いですし、便利になったのは良いけれど根本的な問題を解決できずに失敗だったというケースも少なくありません。

そうならないためには、システムの導入を考えたら、まずは社内で具体的なイメージを良く練ったうえで開発側とのヒアリングに臨みましょう。

比較ビズへ掲載しませんか?

カテゴリ一覧

人気記事

Webシステム開発の最新記事

一括見積もりで発注業務がラクラク!

  • 無料一括見積もりで募集開始
  • 複数の業者・専門家から提案が入る
  • ピッタリの一社を見つけよう

不透明な見積もりを可視化できる「比較ビズ」

比較ビズは「お仕事を依頼したい人と受けたい人を繋ぐ」ビジネスマッチングサービスです。
日本最大級の掲載企業・発注会員数を誇り、今年で運営13年目となります。
比較ビズでは失敗できない発注業務を全力で支援します。

日々の営業活動で
こんなお悩みはありませんか?

営業活動でよくある悩み

そのお悩み比較ビズが解決します!

詳しくはこちら
お電話での見積もりはこちら