« Frederick P.Brooks,Jr. The Mythical Man-Month ESSAYS ON SOFTWARE ENGINEERING (1995)(邦題:人月の神話 オオカミ人間を撃つ銀の弾はない | メイン | オープン・アーキテクチャ戦略 »

2005年06月23日

Frederick P.Brooks,Jr. The Mythical Man-Month ESSAYS ON SOFTWARE ENGINEERING (1995)(邦題:人月の神話 オオカミ人間を撃つ銀の弾はない 新装版』、ピアソン・エデュケーション、2002年).

■概要
本書は、IBMのOS/360開発のマネージャを努めた筆者が、大規模コンピュータプログラム開発について分析したものである。1975年の初版(中心論文:「人月の神話」)発行から20年後に、「銀の弾などない」(86年)等を再録したうえで記念贈訂版が刊行されていることからも明らかなように、現在にも通ずる指摘が多く、筆者はその理由のひとつを「どのように人がチームで物を作るか」を扱っているからとする。
ソフトウェアプロジェクトで「人」と「月」が相互に交換可能と考えるのは危険な神話であり、時間(月)を短縮しようと、プロジェクトに要員(人)を追加することは、再配分作業とそのための中断、新しい要員の訓練、新たな相互コミュニケーションにより全体の労力を増大させ、かえって完成時期(月)を遅らせる。人は少数精鋭チームが望ましく、大規模システムを構築するためには、外科手術チームのように1-2名の執刀医と副執刀医が全デザイン及び全コードを理解し、仕事のコンセプトを統合することが重要である。システムデザインで最も重要なのはコンセプトの完全性だ。そのためアーキテクチャデザインは一人またはごく少数の頭脳から考え出されなければならない。アーキテクチャを、インプリメンテーション、実現から分離することが必要で、これらは同時並行で進めることが可能だ。アーキテクチャに一貫性を持たせるため、仕様書は一人か二人でとりまとめ、定義に形式的表記を使用する。電話やミーティング、プロジェクト手引書(目的、外部仕様書、インターフェース仕様書、技術標準、内部仕様書)等でコミュニケーションを図ること、及び必要となるコミュニケーションと調整作業の量を減らすために組織が必要であり、組織のリーダーとしてはマネージャー(製作主任)とアーキテクト(技術主任)の2種が必要だ。インプリ・実行過程では、捨石覚悟のパイロットプログラムの必要性を認識したうえで、高水準言語と自己文書技法を使って、変更により誘発されるエラーを抑制すること、変化に備えた組織計画も必要だ。マネージャは、コンピュータ設備、高水準言語(生産性とデバッグのスピードをあげる)と対話型プログラミング等を用意する。バグ回避のためにも、システム構築をアーキテクチャとインプリメンテーション及び実行に分けて考えること、これをトップダウン方式で進めること、構造化プログラミング(個別の分岐文ではなく制御構造全体として考えようとすること)も有効だ。システムデバックは困難であるがゆえに系統だったアプローチをとること、また大規模プロジェクトをコントロールするため、スケジュールそのものを用意することが重要だ。
ソフトウエア構築には、概念構造体を作り上げる本質的作業と、それを機械言語に写像する付随(偶有)作業がある。困難なのは、ソフトウエアが複雑で、人間が作り出した他の人工物に同調しなくてはならず、可変性を要求され、不可視であるという本質的特徴を持っている点だ。高水準言語等、偶有的困難を取り除く進歩はあるが、デザインの本質的複雑性を解決する銀の弾はない。問題は人間の問題であり、偉大なデザイナーを育成する方法を開発することだ。
1970年代のソフトウェア構築工程は、マイクロプロセッサ革命等の技術革新により、偶有的困難の多くが除去された。しかしソフトウェアシステムは、人間の作りだしたもののうちで最も複雑なものであり、ソフトウェアエンジニアリングに特有な問題は75年と変わらず、引き続き展開させていくことが必要だ。

■コメント
OS/360の時代にはモジュール化したパーツの統合(アーキテクチャ)は、 トップダウン、少数のアーキテクトにより、デザインルールとして(初期段階に)確立することが必要だった。自律分散のインターネット時代に、アーキテクトは今後もごく少数であるべきか。自身の研究分野で、地域住民を巻き込みながらたった1人の監督(アーキテクト)が映画を作成するケースと、プロデューサー(本書ではマネージャー、製作主任)が全体を統括しつつ、多数のアーキテクトが自由にTV番組を製作するケースがある。両者の長短を比較検討しながら、最終デザインを多数の参加者が担う、人工物設計のあり方を考えてみたい。    (2005年6月23日 高橋明子)

投稿者 student : 2005年06月23日 07:24

トラックバック

このエントリーのトラックバックURL:
http://web.sfc.keio.ac.jp/~jkokuryo/MT3/mt-tb.cgi/83

このリストは、次のエントリーを参照しています: Frederick P.Brooks,Jr. The Mythical Man-Month ESSAYS ON SOFTWARE ENGINEERING (1995)(邦題:人月の神話 オオカミ人間を撃つ銀の弾はない 新装版』、ピアソン・エデュケーション、2002年).: