第1回:各章のタイトルの意味するところは?:あらすじを把握しよう|本気で読み解く”人月の神話”(第18章)

AUTHOR :  田中 耕比古

名著の「全体」を押さえる。

人月の神話【新装版】
人月の神話【20周年増訂 新装版】

さて、本気で読み解く人月の神話シリーズ。いよいよ本論です。初回となる今回は、まずは「1~15章の、各章のタイトルをしっかりと理解する」ということですすめます。

今回取り上げる18章がサマリーとなっていますので、これをもって「18章の読み解き」と代えさせていただきます。(なんで、18章からやねん、という方はご面倒でしょうがコチラをご一読ください。)

各章の名前は「結構、意味深」

前回もご紹介しましたが、各章のタイトルはなかなか意味深です。

「タールの沼」「外科手術チーム」「5ポンド袋に詰め込んだ10ポンド」「切れ味のいい道具」など、興味深い言葉が並びます。まずは、これらをしっかりと理解しておきましょう。

 

man_month_00_001

第1章:タールの沼

タールの沼。分かりやすいですね。ドロドロの沼です。そこに囚われれば、命はありません。つまり、大規模システム開発=タールの沼だ、と言っているわけです。

第2章:人月の神話

なぜ、システム開発は「遅れる」のか。それは「どれくらいの人月を投下すれば、システム開発が終わるのか」という見積もりが間違っているからです。それは”見積ったひとの見積もり能力”の問題もあるのかもしれませんが、多くの場合「人(人数)と月(時間)が交換可能だ」という前提そのものが間違ってしまっていることが原因です。

ここでいう「人月の神話」は、「人と月が交換可能だという”幻想”は捨てなさい」という意味で使われています。

第3章:外科手術チーム

この「外科手術チーム」は、開発におけるチーム構成について語っています。チーフプログラマを「執刀医」とし、その下に「副執刀医」「管理者」「秘書」などの役割を設定して、チームとして生産性の高い「オペ(手術)」すなわちプログラム開発を行う、という思想です。

尚、この1チームだけでは「超大規模プロジェクト」は遂行できない(というか、時間がかかりすぎる)ので、システムの規模が大きくなると、この「外科手術チーム」を複数管理していくことになります。

第4章:貴族政治、民主政治、そしてシステムデザイン

この章の最大のキーワードは”コンセプトの完全性”です。システムデザインにおいて最も重要な、この”コンセプトの完全性”を担保しようとすると、例え「貴族政治」と誹りをうけようとも、アーキテクト(最高設計責任者、とでも訳しておきますか)だけが”コンセプトを決めきるべき”ということになる、ということが述べられます。

もちろん、「民主主義なんてくそくらえだ」とかいうことを言っているわけではないので、詳細は、第4章の解説において深く掘り下げたいと思います。

第5章:セカンドシステム症候群

一番危険なのは「二度目のシステム開発」である、ということの警句として「セカンドシステム症候群」という言葉を用いています。要するに「はじめての時には”次回に取っておこう”と我慢したアイデアたち」を、一回、システムリリースに漕ぎつけた安心感と自信から、二回目には全部取り入れようとしてしまって破綻する、というリスクがある、というわけです。

これは、システムデザインに関わる全員が、頭の中に叩き込んでおくべき至言です。慣れたころが危ないんですよ。

第6章:命令を伝える

”やりたいこと”をアーキテクトが決めたとして、それを、マネージャーがチームメンバーにどのように伝えるべきか、ということを「命令を伝える」と表現しています。この際に大事になるのが「仕様書」であり、その「定義」なのだ、というお話です。

第7章:バベルの塔は、なぜ失敗に終わったか?

「バベルの塔」を知らない人はいないでしょう。神への冒涜として、建築中に破壊されてしまうアレです。失敗した理由は「神の逆鱗に触れたから」なのですが、敢えて、プロジェクト管理の視点で見ると、何が間違っていたのか?と本章では論じられます。ちなみに、答えを述べておくと「コミュニケーション」と「組織」です。詳細は、第7章の解説にて詳しく述べます。

第8章:予告宣言する

「予告宣言する」の扉絵は、ベーブ・ルースの「予告ホームラン」の写真です。が、本章の中身は「ホームランを打つと予告しよう」ではなく「失点しません、というためには、どうしたらよいか?」という観点で述べられていると思います。

つまり、「必要な作業量(=労力)をどのように見積もるべきか」ということを論じています。そして、世の中の(悲痛なまでの)失敗例から考えられる見積もり方法への示唆が述べられます。現実は常に過酷なのです。

第9章:5ポンド袋に詰め込んだ10ポンド

5ポンドしか入らないところに、10ポンド詰め込む、ってどういうこと?って話ですが、要は「メモリスペース」のうち、どの程度を「システム本体」が占有すべきか、という議論です。5ポンド分しか割り当てられないところに、10ポンド分を”工夫して”放り込むにはどうすれば良いか?を「表現方法」として考えることの重要性が説かれるわけです。

尚、この話は、(一部の領域を除いては)昨今では論じる必要が無くなってきている課題かもしれません。そのあたりについては、16,17,19章において情報鮮度を上げる中で論じていきましょう。それでも足りなければ、第9章の解説において掘り下げます。

第10章:文書の前提

システム開発において、比較的”おそろか”にされがちなものの一つが「文書」です。書類の項目が規定され、それを適切に埋めるように指示されます。作業をさせられる方からすると、これは「本質的でない管理作業」に見えます。そして、形骸化していき、ないがしろにされていくわけですが、それはデスマーチの入り口です。こんにちは!死への行進へようこそ!

文書化の重要性とは、客観性の獲得であり整合性の確保です。(関連記事:プレゼンのコツを参照。)そういう「作成する文書の”前提”」をしっかりと明確化し、チーム内で共有することがいかに重要であるかを述べているのが、この第10章です。

第11章:1つは捨て石にするつもりで

これは、「パイロットシステムをつくって、1回捨てろ」ということを述べています。要は、いきなりうまくいくことは無いからあきらめろ。ちゃんと手順を踏めということですね。

この思想については、19章「人月の神話 から20年を経て」において修正概念が唱えられますが、そのあたりの詳細は19章の解説で。

第12章:切れ味のいい道具

この用語は、どちらかというとアンチテーゼとして使われています。つまり「熟練の機械工と同じように、独自の七つ道具(切れ味のいい道具)を持っているプログラマってどうなのよ?」という命題です。

特に、本書全体のテーマである「コミュニケーションこそがプロジェクト推進の鍵であり、癌である」という視点から見ると、個人が勝手な判断で道具を持っていることは好ましくありません。(もちろん、チームとして生産性向上のために必要な道具があることも前提としつつ、です)

第13章:全体と部分

これは、テストフェーズ、デバッグフェーズにおける「統合されたシステム(全体)」と「個別のコンポーネント(部分)」を指しています。

いかにして、バグの少ないシステム開発ができるかについては、「トップダウンデザイン」が有効であると説かれます。要するに、「全体整合性」をまず確保し、それを「(独立性のある)モジュール」に分解した上で、それぞれを洗練させていくべきだと述べているわけですね。

第14章:破局を生み出す事

「破局」。この強い言葉は「プロジェクトの破滅的状況」すなわち「信じられないくらいの遅延状況」を指します。

ひらたくいうと「なんでプロジェクトは遅れるちゃうのさ」ってことですね。その理由を端的に表現すると”遅れて当たり前という感覚が問題”ということになります。詳細は、14章の解説記事で述べますね。

第15章:もう一つの顔

前章すなわち1~14章では「開発」サイドから、プログラムあるいはシステムを語ってきました。この章ではその「もう一つの顔」すなわち「ユーザー」サイドからみたシステムについて述べていこうとしているわけです。

ちなみに、言っていることはシンプルで、ユーザーは開発者と別人なんだから、普通に考えて「ドキュメント」がないと伝わんないでしょ?ってことです。

(おまけ)第16章:銀の弾などない

本稿は、本書を要約した第18章の読み解き、と謳っていますので、18章の要約対象として含まれない「16章:銀の弾などない」は読み解き対象ではないのですが、ついでに理解しておきましょう。ちなみに、僕が本書を初めて入手したとき、その副題は「狼人間を撃つ銀の弾はない」というものでした。当時大学生だった僕は、この副題にワクワクしたものです。(まぁ、読んでみて、ワクワクがガッカリに変わったのは言うまでもないのですが)

ここでいう「狼人間」とは、システム開発を破滅へと追い込む恐るべき”なにか”、です。そして、その狼人間(いわゆる狼男)の弱点である「銀の弾」は、システム開発を滞りなく進めるための決定的な何か、のことです。つまり、この章では「そんな特効薬なんてない」と言うことを語っているわけですね。

しかし僕は、この言葉には、実はもう一つの意味があるのではないかと思うのです。

たしか、アランの「幸福論」の一節だったと思うのですが、こんな逸話が掲載されています。(手元に原典が無いのでウロ覚えですが・・・)

ある村に、夜な夜な正体不明の怪物が現れ、子供を食べるなどの被害が出ていた。村人たちは、とても忌み恐れていたが、ある時、その怪物を「ライオン」と呼んだ途端に、その正体不明の怪物は、ただのライオンになってしまった。

この逸話の示唆するところは、”正体不明の怪物”と恐れている間は対処法もなく震えて過ごすしかないものを、ひとたび名前を付けて定義してしまえば対策を考える余裕が生まれる、ということだろうと僕は解釈しています。つまり、「狼人間を撃つ銀の弾はない」という言葉は、「銀の弾が無いから地道に頑張れ」ということと同時に、「とはいえ、狼人間だと分かっちゃえば(恐ろしい怪物には違いないものの)対策も考えられるよね」ということなんじゃないかなと思うのです。

それでは、次回は、その「第16章:銀の弾などない」を読み解いていきたいと思います。

連載記事一覧は、コチラの最下段から

SERVICE