Web系開発における見積のベンチマーク
前置き
クライアントに見積を提示したときに「高い...」という反応をされた経験はありませんか?そんな時にサッと共有できる見積ロジックの一例をご紹介します。
・人の見積ロジックに興味のある方
・自分の見積ロジックに自信が持てない方/ロジックが存在しない方
・ベンダーの見積根拠に興味がある(あるいは懐疑的な)発注者
にとって一定価値のある記事になると思います。前提として筆者は
・法人社員としての発注経験あり
・SES事業の運営経験あり
・フリーランスエンジニア&法人経営者として直受注、SES常駐経験あり
という形でそれぞれの立場を一通り経験している状態です。なお、Web系の前提なのでSIerについては論外とします。
ベース単価
早速ですが本記事で提案するベース単価をまとめました。
形態 | 1人月[1] |
---|---|
フリーランス | 70万円 |
法人 | 129万円 |
1人月なので一人のエンジニアが1ヶ月稼働した場合の金額です。稼働者が二人であれば発注者は月換算2倍の金額を請求されることになります。ほとんどのプレイヤーが人月、あるいは人日(人月÷20)で見積を行います。
それでは上記金額の根拠を説明します。
フリーランス単価の根拠
Web系エンジニア御用達のレバテックで「Webサービス」を調べた結果、2020年10月時点で平均70万の月単価がついています。この金額はWebエンジニアであれば概ね齟齬がないと思います。その上でSESは基本的にサラリーです。プロジェクトが消滅したりチームクラッシャー的立ち回りをするなどよほどのことがない限り基本的には末長く安定収入が得られます。
現在の案件量を鑑みるにスキルあるエンジニアは常にその選択肢との比較になります。つまり金銭だけで考えると月単価70万を大きく下回る場合安請負かつ不安定収入という状態になります。最近はコロナの影響でSESもリモート化しつつあるので自由時間のアドバンテージも大してありません。要するに
「SESで月70万の安定収入を得ることが可能な状況で、単発案件をそれ以下の月単価で請け負う金銭的メリットはない」
と言えます。もちろん前提として「ポチればエージェントが群がってくる程度のスキルと実績」は必要です。ちなみにエージェントは5〜20万程度のマージン(中抜き)を上乗せするので、発注者は75〜90万の金額を払っていることになります。
法人(ベンダー会社)単価の根拠
法人の場合抱えているエンジニアをベースに考えます。まず、Web系開発がゴリゴリできるエンジニアの平均年収を525万[2]とします。つまり月給43万とします。その上で、一般的に法人は給与の3倍を売上として確保する必要があるとされています。[3]
43万(月給) × 3 = 129万
129万円が1人月として請求すべき金額になります。オフィス代や販管費(営業や広告費)を加味すると妥当だと思います。給与を下げるかリモートにしてオフィス代を節約するなどすればもう少し抑えることはできると思います。
あとは何人がかりで何ヶ月かかるかでトータルの見積が決定することになります。
妥当な必要工数とは?
前述の通り人月は説得力を持たせやすいです。問題は、
何人がかりで何ヶ月かかるのか?
という点です。最終的にこれと人月のかけ算なので悪い言い方をすれぼったくれるし、反対に意図せず安請負になってしまったりします。イリュージョンです。
A. 1人のエンジニアが6ヶ月かけて対応する
B. 2人のエンジニアが3ヶ月で対応する
この場合、AとBで見積金額は変わりません。期間と人数が重要になります。
カーシェアリングサービスを作るとしたら
参考までに、チームによる新規サービス開発を何度も経験している私の平均的なイメージをまとめます。なお、ディレクターやデザイナーも関わるので法人個人それぞれで以下の金額を人月とします(ディレクターやデザイナーはエンジニアより若干安くなるので平均を人月とする)
個人: 60万
法人: 100万円
例としてAnycaをゼロイチで受託するとします。
担当 | 稼働月数 | 要員 |
---|---|---|
要件定義、ディレクション | 6 | ディレクターx1 |
デザイン | 2 | デザイナーx1 |
実装 | 4 | エンジニアx3 |
必要期間: 6か月
必要工数: 20人月
想定見積(個人): 1200万
想定見積(法人): 2000万
若干タイトだと思いますが最低これくらいはかかるイメージです。削るとしたら
- デザインこだわらなくていいからデザイナー1人月にする
- 開発ラフでいいし機能も削るからエンジニア2人で回す
- ディレクションを発注側でやってディレクター稼働減らす
などのダウングレードが考えられます。仮に上記をすべて行ったら9人月となり
想定見積(個人): 540万円
想定見積(法人): 900万円
となります。この辺りは私の主観なので是非コメントをいただきたいところです。自分の場合これくらい!などを理由付きでいただければ嬉しいです。
まとめ
- 平均的な人月
- 平均的な工数
をクライアントとベンダーが共通認識として持っていればお互いの提案が高すぎるのか安すぎるのか見えてくるので、交渉がスムーズに進むと思います。
余談
作業速度が早い場合は人月をあげるべき?
平均的なエンジニアの2~3倍の速度で開発が可能なのに平均と同じ単価で見積をした場合、売上が半分になります。有能であるほど売り上げが下がると言う謎現象が発生します。なので人月を2倍に設定するケースもあります。1人のスーパーエンジニアが1か月で対応した場合と、並エンジニアが1人で2か月で対応した場合結果的にかかる金額は同じなのですが、前者であれば外注マネジメントコストも下がるので厳密には高単価一人に短期対応させた方がクライアントの負荷は下がります。(複数エンジニアがいれば別途ディレクション費が必要になるケースも)
ただ、そういったロジックに疎いクライアントからすると1人月200万とか聞くとギョッとされます。なので見せ方としては2人がかりで早めに終わらせます。と言ったほうがスムーズに話が進んだりするので、個人的には人月をあげるのではなく、工員を増やしているという伝え方でアプローチするのがスムーズかなと思っていたりします。
より厳密な見積
法人ベンダーの場合社内エンジニアのスキルはまちまちなので、社員単位で人月を設定して実態のアサイン設計に応じて見積を作成するパターンがあります。
新卒エンジニア: 人月60万
ベテランエンジニア: 人月100万
といった形です(もちろん新卒などといった表記はしませんが)。最終的な損得勘定はこの見積で行い、自社に利益が残るかどうかで交渉すべきでしょう。
-
1人月とは1人のエンジニアが1ヶ月稼働した際の金額を指します。一般的には1日8時間20日稼働した場合(フルコミット)の金額をさします。 ↩︎
Discussion