“銀の弾丸”って?

 “銀の弾丸は存在しない”―これはフレッド・ブルックスの有名なセリフです。彼はIBMにあって、OS360の開発に携わっていましたが、その時の経験から、1986年に発表した論文にこのセリフを使ったのが最初だったと思います。

 それ以来、ソフトウェア開発の世界では「常識」となっているものと思っていたのですが、実際にはいまだに「銀の弾丸」を求める動きがあるようです。それは、芳しくない組織の状態に対する焦りの気持ちから発せられるものと思われますが、管理者が「銀の弾丸」を求めれば求めるほど、現場の人たちの、取組みに対する姿勢は委縮してしまいます。自分たちには「銀の弾丸」はおろか、「鉛の弾」すら殆ど持っていない。少なくとも持っているとは思っていないのですから。

 「銀の弾丸」とは何を意味しているのでしょう。ブルックスは、ソフトウェア開発の抱える多くの問題を、一発で解決するような方法や言語、あるいはソフトウェア・エンジニアリオングは存在しない、という意味で使っています。

 たとえば構造化手法もオブジェクト指向も、それだけでソフトウェア開発の抱える諸問題を解決することはできません。確かにそれらを上手く使うことで、設計書の矛盾は大幅に減少するでしょうし、プログラムに潜む問題の発見を速めるでしょうが、依然として、顧客の要求は外すでしょうし、スケジュールの遅延メンバー間の段取りの悪さも、これによって改善するものではありません。もちろん、「C++」や「Visual C」がそれらの問題を解決するとは思えません。

 また、クリーンルーム手法も、仕様をブレークダウンしていく過程での論理的なミスを解消できるでしょうが、それによって得られるものは、ドキュメントの完全性の確保とそれに伴う品質、設計過程の手戻り作業の時間の短縮または解消であり、それ以上のものではありません。もちろん、「CMM」も、これが解決しようとしているのは、プロセスの品質の向上であって、逆に仕事に対する考え方やヒューマン・リレーションには直接関わるものではありません。

 こうしてみると、確かに「一つ」の方法や手法、あるいは手段で、ソフトウェア開発の現場に存在するいろいろな問題を解決してくれることはない、ということは分かると思います。

 しかしながら、こうした説明で“銀の弾丸は存在しない”ということを理解できたとしても、それだけでは、「そういうものは存在しないんだ」ということを認識しただけです。実際、このブルックスの言葉を“知っている”人は、この世界には沢山います(この言葉を初めて聞いたという人は、この世界に入って間もない人か、必要な文献や有益な雑誌類をほとんど手にしていない人でしょう)。しかしながら、彼らが所属するソフトウェア開発組織は、相変わらず“Individual”だし、要件をや納期を外して混乱したままです。それは、この言葉を“知っている”だけでは役に立たないことを意味しています。

 一体、“銀の弾丸は存在しない”という言葉の背景に何があるのか?

 何故、銀の弾丸は存在しないのか?

 それでは、ソフトウェア開発現場ではどうすればいいのだろうか?

 この問いに答えが出せない限り、あなた方の組織において、「改革」や「改善」と名の付く取り組みの成功は覚束ないかも知れません。それ程、“銀の弾丸は存在しない”という言葉は、重要な問題を提起しているのです。是非、考えてみて下さい

 (皆さんの思考を促すためにも、ここで私なりの答えを紹介するのを控えます。ソウトウェア開発組織にとって本当に必要なのは、この問いにその人なりの答えを出せる人です)

参考文献:「人月の神話」 アジソン・ウェスレイ・パブリッシャーズ・ジャパン

      フレッデリック・P・ブルックス・Jr 著

      滝沢、牧野、富澤 共訳

      ISBN 4-7952-9675-8

      旧書名「ソフトウェア開発の神話」 企画センター ・・・絶版です!


「Index of Manager の為の講座」に戻る