ソフトウェア開発の神話

一冊の本との出会い

1978年の秋、大学院へ進学した先輩に会いに行き、最新の研究動向などを聞いていました。そのときに、「ソフトウェア開発の神話」というエッセイ風の本がおもしろいと教えていただきました。

  • 『ソフトウェア開発の神話』
  • The Mythical Man-Month : Essays on Software Engineering
  • フレデリックP.ブルックスJr 著
  • 企画センター
  • 昭和52年3月1日 初版
  • 昭和53年4月5日 第4版

 

ソフトウェア開発の神話

ソフトウェア開発の神話

この本は、IBMシステム360基本ソフトウェア開発責任者のブルックス氏の名著「Mythical Man-Month」を翻訳したものです。すぐに、本屋で購入して読みました。その当時は、大規模なソフトウェア開発の経験が無かったので、その真意の半分も理解できていませんでした。表紙に描かれているマンモスと底なし沼の絵や、章ごとに引用されている格言が印象的で、この本の主張をゆっくり楽しむまでに至らなかったように思います。

大規模なプロジェクトを経験するたびに、この本を読み返して理解が深まってきたように思います。

目次

第01章 底なし沼
第02章 延人数という魔物
第03章 外科医チーム
第04章 貴族制、民主制、そしてシステム設計
第05章 2番目のシステムの問題点
第06章 言語を超えて
第07章 なぜバベルの塔の建設が失敗したか
第08章 目標を見きわめる
第09章 5ポンド用容器に10ポンドをつめ込む方法
第10章 ドキュメント作成の前提
第11章 捨てるための計画
第12章 優れた道具
第13章 全体と部分
第14章 破局の様相
第15章 別の見方
エピローグ

要点

底なし沼

本著の目的とするところは、このシステム開発という底なし沼に遊歩道をもうけ、多くのソフトウェア開発者達が無事に底なし沼を渡ることができるようにすることにある。

 

延人数という魔物

工数見積りは、延人数=人数×時間という人月という単位で見積ります。人月という単位は、人を増員すれば期間が短くなるという誤解を与えています。コストは人数×時間に比例しますが、仕事の進み方はコミュニケーションに要するオーバーヘッドのため比例しないのです。

ブルックスの法則
遅れつつあるソフトウェア開発プロジェクトにおいては、人の増員はかえって遅れをひどくする

なぜバベルの塔の建設が失敗したか

バベルの塔は、最初の技術的失敗であったかもしれないが、決して最後の失敗ではなかった。コミュニケーションとその結果である組織は、成功のための条件である。コミュニケーションおよび組織の技術面からみて管理者には思考能力と、ソフトウェア技術のような多くの経験による能力が必要である。

 優れた道具

(格言) 優れた職人は道具でわかる

エピローグ

ソフトウェア技術の底なし沼は、今後も長い間なかなか扱いにくいものとして残るだろう。
ソフトウェアの開発は人間のおこなう手作業のうちでは、恐らくもっとも複雑でこみいったものであろう。この複雑な手作業の管理には、新しい言語や既存のシステムを最大限に利用すること、工学的管理手法を最大限に適応すること、偏見を持たずに常識を取り込むこと、そして自分自身の誤りやすさ、能力の限界をも認識できるという天性の人間的資質が必用である。

このエントリーをはてなブックマークに追加