以上の見積もり手法を駆使して見積もりをするわけですが、同じような見積もりでも業界やお客様によって見積もりの結果が変わります。
たとえば官庁系見積もりなどではサーバを一台構築して立てる場合(開発なしで構築のみ)でも結構かかります。納品物、試験等がたくさんあるためです。
一方、研究所などのスーパーコンピュータの構築、たとえばLinuxサーバを1000台単位で入れるわけ(1000ノード)ですが、1台当たりの構築はその1/100程度の工数で行います。構築手法が違うからなのですが、それでも納品物、要件的義とかの客先対応などの文化(前提条件)の違いからくるものが多分にあります。それぞれ人を入れ替えて見積もりさせるととんでもないことになります。莫大な工数になり受注できなかったり、過少見積もりになり、客先要件を満たさず納品が完了しないなどがおきます。
また、開発方法の工夫や、ミドルウエアの利用で生産性を上げることができます。共通チームのようなものを作り、いろんなところで使われるモジュールはライブラリ化してそれぞれで開発しなくていいようにしたり、仕様を単純化して難しくない実現方法に誘導したり、フレームワークやミドルウエアの利用は普段から行っていると思います。皆さんもこの点はいろいろな工夫を持っていると思います。それらを駆使して工数を減らします。
その他、考慮すべきこととして
スキルレベルの考慮
スケジュール
リスク
見積もり検証
があります。リンクを参照ください。