「人狼ゲーム(汝は人狼なりや?)」というゲームがあります。数人が集まってプレイするパーティゲームで、プレイヤーはそれぞれが村人と人狼となり、夜になると人狼から村人が襲撃されます。プレイヤーは会話により誰が人狼なのかを推理していき、村人全員が襲われるまでにすべての人狼を退治できれば村人チームの勝ち、逆に村人全員が人狼の犠牲となれば人狼チームの勝ちというゲームです。休み時間に学生が集まって楽しそうにプレイしていたので知りました。
さて私は、ソフトウェア工学の講義の中で、「ソフトウェアの分野にも人狼は登場するんだよ」と言って、次のような話を紹介します。
フレデリック・P・ブルックスは著書「The Mythical Man-Month: Essays on Software Engineering(邦題:人月の神話)」の中の「No Silver Bullet(銀の弾などない)」という論文で次のように述べました。
「民話に登場する怪物の中で、人狼ほど恐ろしいものはない。なぜなら、普段慣れ親しんでいるものを突然恐怖に変えてしまうからだ。だから私たちは、この人狼を退治できる魔法のような「銀の弾」を探し求める。(注:西洋の信仰において銀は神聖な金属であり、銀で作られた弾丸は悪魔や人狼を撃退できると信じられていました。)
ソフトウェア開発プロジェクトの中にもこうした性質があり、スケジュールの遅延、予算の超過、欠陥のある製品などといったものは怪物になり得る。そして私たちはこの怪物を鎮める特効薬である「銀の弾」を求める。しかし、これから10年間という範囲で考えると、怪物となったソフトウェア開発を改善する銀の弾など、どこにもないだろう...」
さらにブルックスはこの論文を発表した9年後になって「"No silver bullet" reloaded(「銀の弾などない」再発射)」を発表し、「先の予測は悲観的すぎるといわれたが、むしろ楽観的であり、現時点でプログラマの生産性の向上は予測以下である」と述べました。
しかし、ブルックスの論文から20年が経過した今、新しいプログラミング言語やソフトウェア開発技法、AIの活用など、「銀の弾」になるかもしれない技術が登場しています。
機会があれば、SEとして活躍している本科の卒業生たちに聞いてみたいところです。「あなたは「人狼」に出会いましたか?その時、「銀の弾」を見つけることができましたか?」
(文責:情報システム技術科 菅原 智裕)