1人月からの脱却

こまつ みつのり(Mitsunori Komatsu) 2007-11-03 12:20:13

先日、知人から本Blogのサブタイトル「1人月からの脱却」の意味を聞かれまして、煽り気味のサブタイトルをつけているにも関わらず、ここまで全く触れてこなかったことに気がつきました。ぱっと見、「人月ベース見積もり反対論者が吼えに吼えて斬りに斬りまくる」かのような印象を与えかねないタイトルですねぇ… 

まず、受託開発における人月見積もりに対する個人的なスタンスですが「現状は必要(使ったほうが楽)だなぁ」と考えています。更に「お前、人月のこと好き?嫌い?」という小学生っぽい自問に対しては、「おれ、人月ベースって嫌いだなぁ」と即回答できます。

人月見積もりの是非に関しては、いろいろなところで議論がされており、全体的には「人月ベースは良くないよ」派が優勢なようです。

・エンジニアをもの扱いするな〜テンション下がるぞ〜

・各エンジニアのスキルは一律ではないのに一まとめにするな〜

・ソフトウェアそのものの価値を見積もるべきだ〜

という声が多いようですねぇ。私の意見も非常に近いと思います。

とはいえ、お客様あっての受託開発ですから「この見積もりは妥当なの?」という問いにきちんとした回答をして納得して頂く必要があり、その際「人月」という単位は強力な説得力を発揮するのです。「AAA機能とBBB機能とCCC機能でXXX円になります」と言われても、お客様としては何か腑に落ちない気分になってしまうと思います。まずは、「XXX円の根拠を知りたい」と思うのが当然の反応ではないでしょうか?そんな時、「YY人月分の作業量になるのでXXX円です」と人月という単位を介すことにより計算式が成立し、やっと見積もりの妥当性に関する論議が可能になると思います。

そういった意味で私は現状は必要(使ったほうが楽)だと考えています。最近、人月ベースではない見積もりの提示方法が編み出されてきていますが、長年にわたり発注側・受注側の双方により慣れ親しまれてきた人月見積もりは、まだしばらくの間、主流となり続けるのではないかと思います。

しかしながら、一人のソフトウェア開発者としての立場からするとやはり違和感が残ります。生産性やソフトウェアの品質は開発者により大きく異なるのです。特に技術的難易度が高い場合、顕著になります。優れたエンジニアは、正直、「十把一絡げに扱って欲しくない」、「無個性な1人月という単位になりたくない」という気持ちが強いのではないでしょうか。また、初心者から脱却しようと思っている方も「優れたエンジニアになっても人月のなかの一人に埋もれてしまうのだなぁ」とやる気がなくなってしまうかもしれません。

以上、全体的にネガティブなトーンで、受託開発の見積もりに対する私の個人的見解を書き殴ってみましたが、それでも、優れたソフトウェア開発者を目指しエンジニアとして成長すべきだと思います。プロジェクトを実質的に牽引している優れたプログラマは確かに「プログラマ:XX人月」の一人かも知れませんが、周りは確実にあなたの顔と名前を覚えています。あなたがどれほどプロジェクトに貢献しているか理解し、感謝をしているのです。それこそが現状における「1人月からの脱却」なのではないか、と私は考えています。

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。

SpecialPR