最近、ちょっと憂鬱です。

何故か。銀の銃弾の存在を信じている人を、多く見てしまったからです。20年も前から、ソフトウェア開発において劇的に効率を向上させる銀の銃弾など存在しない、と言われ続けているのですが、まだ浸透していないようです。
もちろん、本人たちは「そんなはずないだろう、銀の銃弾なんて存在しないさ」と言うのは間違いありません。ですが、そう言うであろう人たちが、効果のみに着目して短縮したスケジュールを作成したり、リスクに目を瞑ったりしている姿を見ていると、心の底で何かを銀の銃弾だと信じ込んでいるのだな、と感じます。


フレームワークとかRIAとかLLとかDIコンテナとか、日々色々な技術が世に出てきてますが、それらの存在は銀の銃弾になりません。どの技術も、非常に有用ですが、それは正しい知識に基いて正しく利用できれば、というのが前提です。誤った使い方をすれば、当然効率を下げますし、リスクを持っていない訳でもありません。リスクを解消するには、当然それなりのコストを要します。

簡単に言えば、顧客の要件をきちんと分析する事や、設計フェイズで可能な限りのリスク軽減を図る事が不可欠です。また、開発後のテストが簡単になるなんて事もありません。

データによる裏づけを出来ないのが残念ですが、このことはもう真理と言って良いと思っています。


しかし、自分はここ数年で銀の銃弾の存在を信じている人を多く見てきました。
一時は自分も、その存在を信じましたが、やはりそんなものはありませんでした。

まだ、特定のプログラミング言語を選択すれば開発コストが半分になると信じている人や、オブジェクト指向設計でデザインされたソフトウェアアーキテクチャが無条件にどれも良質だと信じている人が、一刻も早く目を覚まして現実のリスクと対峙する勇気を持つ事をしみじみと祈りつつ。。。寝ます。