人月の神話メモChapter1

大学の本屋で偶然「人月の神話」を見つけた。
タイトルに引かれたので図書館から借りて、ちょびちょび読んでみた。ついでだから、2章までまとめてみた。

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

アマゾン先生よりの引用。

ソフトウェアプロジェクト管理・ソフトウェア開発論の古典『ソフトウェア開発の神話』(企画センター刊、絶版)を改題。
論文「銀の弾などない──本質と偶有」を再録し、数章を加えた原書発行20周年記念増補版だ。
著者のブルックスは、IBMにおいてOS/360メインフレーム用のオペレーティングシステム開発マネジャーを経験し、現在はコンピュータサイエンス学科の大学教授。
本書では、OS/360用のオペレーティングシステム開発で生じたさまざまな問題をもとに、プロジェクト管理の問題点と今後どのようにすべきかを論じている。

『人月の神話』はすでに古典と呼んでもよいほど有名な本だ。
もし、この本のタイトルを知らなくても、ソフトウェア開発にかかわっている人であれば「ブルックスの法則」は聞いたことがあるはずだ。
ブルックスの法則の中で最も有名なのは、「遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ」というものだ。

原書は1975年に出版され、その後長い間読み継がれてきた。これは、ソフトウェア開発における問題は、本質的には変わっていないことを意味している。
ブルックスの言葉はさまざまな書籍でも引用され、賛同あるいは反証が示されてきた。
さらに本書では、ブルックスのもうひとつの衝撃的な論文「銀の弾などない」(1986年発表、IEEE COMPTER誌の1987年7月号に再録されている)も第16章に収録されている。この論文では、「ソフトウェアの生産性をひとりでにもたらすようなプログラミング技法は今後10年間は登場しない」と予言し、議論を引き起こした。
この論文を含むブルックスの主張は、その後のコンピュータおよびソフトウェア技術の急速な発展により、一部は誤認であったことが著者自身により認められている。だが、その一部を除く大半は今でも成り立つものだ。プロジェクト管理に関心があるのであれば、一度は読んでおきたい。

第17章から第19章は、増補版刊行にあたり新たに書き下ろされたもの。
ここでは、初版刊行以降の識者のコメントや著者の新たな論考(ウォーターフォールモデルの誤りなど)、あるいは誤認の訂正が示されている。
その中では、ケイパー・ジョーンズ(『ソフトウェア開発の定量化手法』の著者)やトム・デマルコ(『ピープルウエア』、『デッドライン―ソフト開発を成功に導く101の法則』の著者)やエドワード・ヨードン(『Death March』の著者)などに対するコメントが掲載されている。(遠野 諒) 

では、ここからまとめ。

第1章

タールの沼

浜辺に打ち上げられている船は、航海のための灯台だ。
オランダのことわざ

全体を通じてのテーマが記述されている。

  • プログラム開発は多くの人々が目的達成のため、もがき苦しむタールの沼であるとともに、独自の喜びを苦悩を伴った創造的活動である。
  • 喜びが苦悩より遥かに勝っている人のためにタールを渡る架け橋となれば良い。


大規模システムプログラム開発はタールの沼のようなもの。

  • 同時かつ相互に影響しあう要因が重なっているため。

対象 プログラミングシステム製品

  • 二人のプログラマがガレージで作れちゃうお手軽プログラムの9倍複雑
    • 製品化に3倍(一般化・テスト・文書化・メンテナンス)
    • システム化に3倍(システム統合インタフェースの作成・結合テスト)

作る喜び

  1. ものを作り上げる純粋な喜び。
  2. 他の人々に役立つものを作ることの楽しさ。
  3. 複雑なパズルのような組み立て部品を完成させ、それが巧妙に転回するのを眺める面白さ。
  4. 常に新しいことを学ぶという喜び。
  5. 非常に扱いやすい媒体で作業する喜び。

作る苦しみ

  1. すべて完璧にこなさなくてはならない。
  2. 目的を設定しリソースを提供し情報を与えるのは別の人間である。
  3. 壮大なコンセプトをデザインするのは楽しい。しかし、シラミの卵程の些細なバグを見つけ出す単純労働がある。
  4. 長い間苦労してきた製品が完成時には時代遅れに見えてしまう。