IT業界におけるシステム開発では、システム開発に必要な費用を「金額」ではなく「人月」で表現することがよくあります。1人月と表現されていれば1人の人間が1ヶ月稼働して生産できる量という意味になります。
この人月という単位を使って、「このシステムは30人月の見積もりになります」のようなやり取りが顧客と開発会社の間で繰り広げられています。しかしこの人月商売には様々な弊害もあり、人月商売に対して疑問を持つ人も多く存在します。
今回のブログでは人月商売の問題点についてまとめてみました。
問題点1:人月商売では開発会社が見積もりをごまかすことができる
システムを開発する時に費用面で重要なことは、必要なシステムを開発するためには最終的にトータルでいくらかかるのかということです。開発会社に見積もりを依頼する時には、開発費用がトータルでいくらになるのかを確認することは当たり前のことです。複数社から提示された金額を比較検討して、コストパフォーマンスの高い会社に依頼することは普通のことです。
しかし顧客から開発費用の見積り依頼をされる時に、人月単価がいくらになるのかを気にする顧客がたまにいます。トータルの開発費用ではなく、人月単価が高いか安いかで開発会社の費用感を比較しようとする企業がたまにあります。
しかし人月単価で費用の比較をすることには全く意味がありません。人月単価が安くても開発期間が長ければトータルの開発費用は高くなってしまうからです。
例えば人月単価が50万円の開発会社と100万円の開発会社では、人月単価50万の方が一見すると安く見えますが、人月単価50万で開発期間3ヶ月の場合だとトータル費用は150万、人月単価100万で開発期間1ヶ月の場合だとトータル費用は100万となり、人月単価100万の開発会社の方がトータルの費用は安くなるということになります。安くなるどころか開発期間も短期間で完了するということになります。
このようにどんなに人月単価を安く見せかけたところで、開発会社側からすると開発期間を長く設定することで費用の調整はいくらでもできてしまいます。ですので人月単価など全く無意味ですので、人月単価を出してくれと言ってくる顧客がいた場合には毎回この説明をするようにしています。
それなのにこんな単純なことも理解できずに、何が何でも人月単価に固執する顧客もまれにいます。このように人月単価による料金比較は全く無意味であるどころか弊害ですらあります。
問題点2:人月商売では生産性よりも現場で稼働している事実が重要となってしまう
人月商売であっても最終的にシステムがきちんと完成されていることが重要であることは当然なのですが、人月商売の現場では生産性よりも現場で稼働している事実が重要となることがよくあります。
人月商売において生産性よりも稼働実績が重要となる理由は、人月商売においては成果をあげただけではお金がもらえないからです。プロジェクトの現場で人が稼働した実績があることではじめてお金がもらえます。
例えば毎月3人月の見積もりで契約をしていた場合に、毎月3人の人員が現場で稼働していることが必要となります。3人分の仕事を誰か1人が超効率的にこなすだけではダメなのです。その月に3人月の見積もりと言ったら3人稼働している必要があります。そうしないと3人月分のお金がもらえません。
人月商売においても成果をあげることはもちろん重要なのですが、悲しいことに人月商売だと成果をあげただけではお金はもらえないので、人月ビジネスで何よりも重要なことは頭数をそろえてメンバーを稼働させることです。
逆に頭数をそろえて稼働実績さえ作れば売上となってしまいますので、時にこんな弊害も起きてしまいます。↓
人月商売だと稼働時間が長くなった方が売上が増えてしまうことはよくあることなので、生産性が高すぎるメンバーは下手をすれば迷惑者扱いされてしまうようなとんでもないことまでこの業界では実際にあります。
成果物の有無ではなくて、人月によって見積もりを行うとどうしても生産性の重要度が下がってしまうことは人月商売の大きな弊害と言えます。
問題点3:やることがなくても席に座っていてくれと言われてしまう
生産性よりも現場で稼働している事実が重要となってしまう人月商売では、やることがなくても帰らせてもらえずに無駄に席に座っているように言われてしまうようなこともよくあります。
たとえやることがなくていつでも帰れる状態にあったとしても、その月の稼働時間が少ない場合には無駄に残業を命じられたりするようなこともあります。やることないのに。
こんな無意味で非生産的なことが行われてしまう理由は、契約で定められている人月分の稼働実績を作るためです。契約にある稼働実績を残せないと、請求できる売上が減額されてしまう契約になっているからです。
生産性を上げて効率的に働いたかどうかなんて関係ありません。売上に関係するのは稼働実績であり、人月です。だからやることがなくても席に座っていてくれなどと言われてしまうこともあるのです。
他にも有給取得してその月の稼働時間が短くなりすぎた時にも同様に無駄な残業を命じられることがあります。有給取得して少なくなった勤務時間分を、別の日に残業して稼働時間を増やすように指示されます。
これらは全て見積もりが人月ベースで行われており、契約内容や売上も人月をベースに設定されていることによる弊害です。
問題点4:全く役に立たないメンバーの比率が増える
色々な会社やプロジェクトに全く役に立たないメンバーは存在することはあるかもしれませんが、人月商売が行われている客先常駐プロジェクトには、プロジェクトに全く役に立たないメンバーの比率が多いように思います。
客先常駐プロジェクトのSES企業の営業の中には、全く役に立たない人であっても平気でプロジェクトに突っ込んでこようとするような人も普通にいます。これも人月商売が成果や生産性よりも、メンバーが稼働している事実が重要視されて売上に直結する構図になっている弊害です。
普通のプロジェクトであれば、プロジェクトに貢献できない全く役に立たないメンバーは致命的な問題にもなりかねませんが、人月商売の場合だと少々事情が異なります。
人月商売は現場での稼働実績が何よりも重要視されて売上に直結しますので、たとえ全く役に立たないメンバーであっても、プロジェクトの現場で席に座っていてもらえさえすれば直ちに売上につながってしまいます。
よって他に有能なメンバーを集められない場合でも、頭数をそろえて現場の稼働実績を作るためには全く役に立たないようなメンバーであってもプロジェクトの構成メンバーとして組み込まれることが多々あるため、客先常駐プロジェクトでは役に立たないメンバーの比率が高くなってしまうのだと思われます。
私がかつて客先常駐の仕事をしていた時に、自分の作ったプログラムの動作確認をしないどころか、コンパイルエラーの状態でも平気でコミットしてきてプロジェクトの邪魔ばかりするメンバーがいました。
戦力にならない程度ならまだしも明らかに「いない方がマシ」なレベルだったため、自分が2人分の仕事を担当するのでその人をプロジェクトから外してほしいとマネージャーに懇願したことがありました。
しかし客先常駐の人月商売においては、そういう人であってもプロジェクトの現場にいて稼働実績が作られることが何よりも大切で売上に直結するため、役に立たずに邪魔ばかりしていたとしても「存在することに意義がある」みたいになってしまっていたのですね。
海外と比較して日本の労働生産性は低いと言われることがよくありますが、IT業界全体もどう考えても生産性が高いとは言い難い状態です。IT業界の生産性を高めていくために、まずは人月商売、客先常駐ビジネスを無くすところから始めていくべきだと考えています。