ソフトウェア開発における人月について

古くて新しい問題。
●ソフトウェア開発における人月について id:besus:20050904:p1

arclamp.jp アークランプ: コモディティ化と人月鈴木雄介)より]
 試しにやってみれば良いと思う。実開発工数100人月(1億円)という案件があれば、10人の優秀なエンジニアに1000万円ずつ払って半年で実現できるはずだ。しかも、圧倒的に良い品質で。もちろん十分に優秀であると見極める力が必要だが、そんなもんだと思う。10倍の生産性、10倍の品質なんて当たり前なのだ。真のハッカーというは、そういう人種である。

 こうした、アジャイルハッカー・モデルを言い換えれば、クライアント自身がリスクを取っているといえる。そして、人月はまさに人月であり、人件費というコストになっている。銀の弾丸を扱える(つまり、リスクに応じて正しい対処を行える)人間をそろえれば、人月の神話は実現できるのだ。

確かに、優秀な人材であれば、ほぼ見積り通りの工数かそれ以下の工数で、要求以上の品質を確保でき、結果として人月の精度がかなり向上すると思うので、この開発手法は、人月の神話を実現しうると思う。ただし、優秀な人材をどうやって選考するのか、そもそもそのような優秀な人材が集まるのかといった問題などは残されているとは思うが、見積り誤りのリスクを低減しうる一つの手法ではあると思う。

▼besusさんの意見には賛成するけれど、リスク計測のためのエンジニアリングデータは収集できているのでしょうか。単に、ステップ数、バグ数推移は当然として、その他もろもろ。この話はお題から外れてしまうのでちょっと脇に置いておくことにして、「アジャイルハッカー・モデル」について。
鈴木雄介さんの言い分だと、どんどんアジャイルハッカー・モデルを推進すればいいではないか、ということですが、不思議な言い分だと思います。アジャイルハッカー・モデルに則って、優秀な人材を集めて開発させればいいというのは理想論にすぎません。それができないから困っているのが「今」なのではないでしょうか。それらの優秀な人たちだけではこなることができないほどの仕事があるから、ITエンジニア市場が成立しているわけです。
アジャイルハッカー・モデルでは、ITエンジニア市場のごく一部の人たちにしか焦点をあてておらず、どちらかと言えば、パイロットプロジェクトや先進的なプロジェクトに適している手法と言えるでしょう。
もうひとつ、「クライアント自身がリスクを取っている」(鈴木雄介さん)とさらっと言っていますが、この部分は重要だと思います。これを裏返してみると、「クライアントはSIerを介在させることによりITエンジニアという人的コスト(教育、雇用)を抑えることができる」のです。つまり、リスクを取らないようにしているわけです。このほうが企業の行動としては一般的だし、(通常は)推奨されるべき行動だと言えるでしょう。
そして、鈴木雄介さんは「大型案件にはウォーターフォールアジャイルのハイブリッド・モデル」を勧めていますが、これは話としてはわかりますが、実際にどのように行うのかよくわかりません。推測ですが、「インピーダンス・ミスマッチ」のようなことがおきるのではないか。例えば、関係者が数百人以上の複数のSIerが関わるような大規模案件でそのようなことが可能なのかどうか。単に「アジャイル」と一言で言っても、結局は各組織の「文化」の違いが悪影響として現れてくるようなことはないのでしょうか。
アジャイル」の特徴のひとつに、明示的に言われることは少ないようですが「権限の委譲」があると思います。実際にそうであるかどうかが問題ではなく、そういう精神でやっているということが重要です。「権限の委譲」そのものに問題はありませんが、だからといって「責任」までが委譲されるわけではありません。責任はリーダーやマネジャーが負うことになります。責任を負っているリーダーやマネジャーが、わざわざリスクを増加させるアジャイルハッカー・モデルを選択するかどうか(並のリーダーやマネジャーは選択しないでしょう)。こうなると、この問題はソフトウェア開発という範疇の問題ではなく、どのような経営を行おうとしているのかという「経営戦略」の次元に行き着くのではないでしょうか。


コモディティ化と人月(鈴木雄介) http://www.arclamp.jp/blog/archives/000633.html

コモディティ化によって人月の有効性は高まったのではないだろうか。そして人月の持つ意味は変わりつつある。