システムを依頼した時に見積もられる金額ってどうやって決められているのでしょうか?
何かの指標があるのでしょうか?
営業が勝手に決めているのでしょうか?
開発者達に聞いて決められているのでしょうか?

実はシステムの見積金額は適当に決められています。
会社にもよりますが、酷いところだとシステムの事も分からない営業が適当に金額を決める場合もあります。
また、技術の事が分からないマネージャーと呼ばれる人がお客様さんと話して決める場合もあります。
※営業が適当に決めるよりもマシですが、どうやってシステムを作るかを考えていないで見積金額を決めてしまうので大差ありません。

蛇足ですが、このように見積もる企業は仕事の進め方も杜撰になりがちです。(お客様との約束を守る為に、デスマーチと呼ばれる現場が発生して追加料金が取られたりしますので双方にとって良い結果が得られ難くなります。)
なので、システムをお願いする時には相見積とどうやって仕事を進めようとしているかを見極める事が大切です。

一方で、技術の事が分かっているマネージャーや開発者と相談して相場を決めるような会社もあります。ファンクションポイントとかユースケースポイント等と言われるポイントを使って見積もる会社もありますが、どれを行っても結局のところは見積は適当になってしまいます。
その理由はシステムは作ってみないと分からない部分があるからなのです。

システム開発で一番のコストは人件費です。もう少し言うと、その人が持っている時間が費用になります。なのでこの時間が見積金額になります。
しかし、この個人の持っている時間をどう使うかと言う事を見積もる事はとても難しいのです。私も何度もマネージャーとしてメンバーの時間を管理しましたが、結局のところ一番計算通りに進むのは自分の見積だけでした。
その理由は、システムを作る際には小さな機能にとても時間がかかる場合があったりとても大きい機能があっさり出来てしまう場合があるため見積もり難いのです。

なぜ、このような事になるかと言うと・・・。
 大きい機能は他の会社でも作っている場合があり、それを(githabや個人ブログ等で)世界的に公開してくれている人々が居る場合があるためそのプログラムを使うとあっさり出来る場合があるのです。
この情報を見積に入れる場合もありますが、実際に作る段階になってから調査して見つける場合もあります。なので、この場合は見積よりも低コストでシステムが出来る事になります。

 一方で小さい機能に関してはシステムの癖が入る場合があり、他に例をみないプログラムを組む場合があります。その場合に思わぬ苦戦を強いられる場合があります。このようなものは、今まで誰も作った事が無い機能なのでまるで見積もれないのです。

 あともう一つ。イレギュラー対応と呼ばれる、普通の人はまず行わない処理だか無いとは限らないような処理を考えて対応するのにも時間がかかります。

 ここまではシステム側の話でしたが、お客さんの方の理由もあります。ある程度システムを作り進めると、お客さんの方でも迷いが生じたり方針を変えてくる場合があります。また、そもそもお客さんがシステムに対して不慣れの場合は作りたいものはある程度イメージが湧いてもそれを上手く形に出来ない場合があります。
それによって出した見積が変わる場合がありますが、大抵のお客さんは見積の変更はいやがります。そうするとこのリスクを考えて見積もり金額はある程度上乗せするしか無いのです。

こう考えるだけでも、見積の難しさが分かるでしょう。
さらに、プログラムを書く人は自分ではない場合が多いので上記にプラスしてチームメンバースキルに依存してきます。
このようにシステム開発では様々な不安定要素の中で見積をしなければならない為、どうしても見積が適当になってしまいます。
(他にも様々な理由がありますが、それは次回にします。)

なので、IT業界では言われた通りにしか動かない厳格なプログラムを作っている割に作っている見積等の指標は未だに存在しないのです。


※宣伝
TownSoftでも上記に関しては同様ですが、一点違うのは基本的に僕個人で仕事を行うので見積の精度は高くなります。
また、次回に書く予定ですが「1人で行う=生産性が低い」と言うわけでもありません。
1人で仕事を行う時には最大のアドバンテージとしてコミュニケーションロスが無くなると言うものがあるのです。(それによって、僕は時と場合によっては5人分くらいの働きをするときもあります。)

と言う事で、システムの依頼は是非
TownSoftへお願いします!


Twitterも宜しくお願い致します!
syou007