人月が銀の弾(たま)ではないことが知られて久しいのに、「人月伝説」が衰えないのは、誰が悪いのだろうか?

矢野勉のはてな日記 - プログラマなら人月なんかさっさと超えろ
人月というのは「人月の神話」以来、現場の技術者にとっては「お金の計算にしか使えない単位」なのですが、発注者側に分かりやすいということでいまでも大はやりしています。というか受注者側もまじめにこの単位で計算しています。

実は、プログラマー自身なのではないだろうか。

実は人月というのは、発注者側だけではなく、プログラマーにとっても楽なのだ。人月見積において、プログラマーが考えなければならないことは、「それを作るのにどれくらいの時間がかかるか」ということだけだ。「それを完了するのに何と何と何が必要で、それぞれこれくらいの手間がかかるので、単価はそれぞれいくら。よって合計いくら」などという面倒な作業は不要。そもそも、作り始めた当初は、何が必要かさえ不明であることが多いのに、見積もりなんてかったるくてやってられない、というわけだ。

その上、締め切りなら発注側、受注側どちらにもわかる。時間は余ったら遊んでればいいし、足りなければ残業してしまえばいい。前者の例があまりないのが不思議だが、とにもかくにも人月見積の場合、手段を問わず与えられた時間内に作ってしまえばいいだけだ。そこでは見積作業そのもののコストは無視できるほど少ない。

極論してしまえば、なぜあなたが残業する羽目になったかの理由は、あなたが見積に充分な手間暇をかけなかったから、というわけだ。

そして多くのプログラマーが、わざわざ手間暇をかけて説得力のある見積を作り、それを顧客に納得させるぐらいなら、「とりあえず」受注しておいて残業を厭わず「とにかく」作り上げる方を選んでしまうのだ。

矢野勉のはてな日記 - プログラマなら人月なんかさっさと超えろ
マネージャがサーバ設定どうしようかとか思ってる時に「あ、おれやっときますよ」というだけで、あなたは1人月から飛び出す。

実はこれ、人月計算の方が出やすい台詞なのだ。「おれ」が「やっとく」ことで「おれ」が楽になるなら、すでに見積が出ている以上「おれ」はやっとく方を選ぶだろう。これが「お品書き方式」だとそうは行かない。見積もりに「何をしたらいくら」と書いてしまった以上、そこにないものを加えるときには「やる」前に「〜円申し受けます」と言わねばならない。はっきり言ってうざいことこの上ないのだ。

結局のところ、人月見積をやめるというのは、今までは人任せだった仕事の「入口」と「出口」を自ら行い、売り込みから回収まで自分でやることを意味する。「プログラミング」という「中身」は当然目減りするのである。

人月を捨て、自らかれこれ悩みながら見積書と請求書を書くのがいいのか(これはたとえ営業と制作が分かれている会社であっても同様。この場合は営業に対して見積と請求を出す事になる)、それともサラリーという人月計算に甘んじるのか。好みの問題といえば好みの問題であるが、圧倒的多数が後者を選んでいる以上、人月がなくなることはなさそうだ。

Dan the Professional Programmer