2009年12月15日火曜日

『人月の神話 新装版 - 狼人間を撃つ銀の弾はない』

フレデリック・P・ブルックス, Jr.
『人月の神話 新装版 - 狼人間を撃つ銀の弾はない』
滝沢 徹・牧野祐子・富澤 昇 訳, ピアソン・エデュケーション, 2005 年
A5 判  335 頁(目次含む)





最初にご紹介するのは、なんといってもこの本です。
この本は、ソフトウェア開発に携わる開発者から経営者、発注者まで幅広く読んで欲しいと思います。そして、実務経験が数年ある頃が、この本を読んでいて最も楽しい時期かもしれません。

初版は、1970 年代に出版され、その後絶版となっていましたが、2002 年に増訂版として復刻しました。
内容は、ソフトウェア開発に関連する様々なことに焦点を当て、そこで起きた事象や問題点、回避方法などを定量的、定性的に解説しています。
つまり、ソフトウェア開発という中の、そこかしこに掘られている落とし穴を、指摘してくれているのです。
ソフトウェア開発に携わっている人であれば、いくつか思い当たることがあるはずです。

一つ挙げると、 本のタイトルにもある、「人月」についてです。
人月とは、仕事の大きさを測る業界独自の慣習です。
つまり、1ヶ月間で何人必要なのかをあらわすものです。

この人月について、この本の中で次のように書かれています。
仕事の大きさを測る単位としての人月は、疑うべき危険な神話なのだ。」 14 ページより引用

そして、こうも書いてあります。
人と月が交換可能になるのは、多くの作業者の間でコミュニケーション(意思疎通)を図らなくても、仕事が分担できる場合だけである」14 ページより引用

確かに、コストは人数と月数の積に比例するので、コストをあらわす単位としては妥当かもしれません。しかし、人数を増やしたからといって、月数が減るかといえば、必ずしもそうはいえない、ということです。

例を挙げると、1ヶ月掛かる仕事だとして、1 ヶ月を 30 日で考えたとき、一人でやれば 30 日かかります。ではさらに、1 日を 8 時間として、30×8 = 240 人の場合に果たして 1 時間で仕事が完了するでしょうか?多分それが可能な仕事の方が少ないでしょう。
そして、大多数の人は、このことを直感的に分かるはずです。計画を立てるときに余裕を持たせたりするのは、そのためでしょう。しかし、持たせた「余裕」の中身については、あまり真剣に考える機会が無いかも知れません。ですが、少なくともコミュニケーションに費やされるコストが、「余裕」の中に含まれていることに気が付けるはずです。

この本は、教科書的に全ての答えが載っているわけでなく、この本で取り上げられている様々な事象から、他の事象について考えるきっかけを与えてくれるのです。
この本は、古典とも言えるもので、多くの本で引用されています。それらの本をより楽しく読むためにも、この本を読んでおくことをおすすめします。

本の要点としては、ソフトウェア開発には「王道はない」ということに尽きると思います。
「どのように成功するか?」のようなものではなく、「どのように失敗しない、もしくは被害を最小限にできるか?」ということだと思います。

では、最後に本の内容に対する私なりのキーワードを書いておきます。
  • システムプログラム開発
  • 銀の弾
  • 人月
  • 見積もり
  • ウォーターフォール開発
  • イテレーション開発
  • セカンドシステム症候群
  • プロトタイプテスト
  • デバッグ
  • コミュニケーション
  • ドキュメント

0 件のコメント:

コメントを投稿