IT記者会Report

IT/ICTのこと、アレヤコレヤ

猫は元気か

 量子力学の分野における「観測者問題」に関して,「シュレーディンガーの猫」と呼ばれる有名なメタファがある.
 箱の中に猫を入れて蓋を閉める.箱には特別な仕掛けがしてある.ラジウムを入れた容器がひとつ.いつ崩壊してアルファ線を放出するかはわからない.青酸カリを入れた瓶がひとつ.その横に放射能探知機があり,アルファ線を検出すると連動したハンマーが動いて青酸カリの瓶を破壊し,猫は死んでしまう.箱の蓋が閉まっているあいだ,中の猫が生きているか死んでいるかは不明.生死の確率は50:50である.観測者が蓋を開けた瞬間に,その確率状態は変化し、猫の生死はどちらかに確定される.
 箱の中の猫をソフトウェア・プロジェクトだと考えてみよう.生は死かという仮定はあまりに過激すぎるので,猫が健康か病気か(プロジェクトが問題なく進行しているか,それとも何か重大なトラブルが起きているか)ということにしておこう.箱の蓋を開けないかぎり,猫(プロジェクト)の状態はわからない.確率50%でどちらともいえる,だれかが箱の蓋を開けた瞬間に,プロジェクトがトラブルに巻き込まれているかどうか(すなわち何らかの改善が必要かどうか)が確定する.

 ところで,だれが箱の蓋を開けるのだろうか?
 それは,プロジェクト・マネージャあるいは SEPG と呼ばれる人びとである.しかし,観測者としてのかれらの立場は中立ではない.蓋を開ける以前から,中の猫は病気である(プロジェクトには何らかのトラブルが発生しているだろう)という予断を心の中に抱いている.そして,その想定通りにトラブルを見つけ出し,そうした状態を改善するためにあらかじめ準備しておいたメニューを提示する.それがかれらの職務であり,もし何のトラブルも起こらなければ仕事を失ってしまう.これらの人びとは,プロジェクトが予定通りのスケジュールで進行させ,開発コストを予算の範囲内ですませることを目的としているのである.

 一方、箱の中の猫の手足として,実際にプロジェクトを遂行しているプログラマたちはどうだろうか.
 かれらは,もともと,スケジュールや開発コストなどに興味があるわけではない.それらはプロジェクトを構成するいささか邪魔くさい前提条件でしかない.かれらの関心はもっぱらプロジェクトの技術的側面にある.そのプロジェクトでの仕事を通じて,(すなわち,新しいコーディング技法に挑戦したり,未経験の設計技法やテスト・ツールを使ってみたりとかいった試みを通じて),自らのソフトウェア技術を磨くことが,かれらの主要な関心事なのである.数年前,ソフトウェア技術者のモチベーションについて行われたイギリスでの調査研究はそのことをはっきり示している.
 わたし自身の例を振り返ってみてもそのことがいえる.何十年か前に,たまたま習い覚えたプログラミングを職業に選んだ動機は,本来なりたかった画家としての仕事を夜間に続けるための資金稼ぎであった.そんな生活をしばらく続けているうちに,いつのまにかプログラミングやソフトウェア設計の技術的な魅力に取りつかれて,Daylight Programming とMoonlight Painting の二重生活を余儀なくさせられてしまったのである.

 オープンソース・ソフトウェア・システムの研究者であるUCアーバインのウォルト・スカッキ教授が,ある講演で次のように述べている:
 「オープンソース・ソフトウェアの開発者たちは,選択と表現の自由を求めている.かれらは,新しい試みに挑戦するようなプロジェクトを好み,何か面白いこと,そして自らの技術を向上させる機会を求めている.また,複数のプロジェクトを繋ぎ合わせることによって,さまざまな人びととの交流の輪を広げようと努める.その意味で,オープンソースの開発プロジェクトは,単なる技術開発ではなく,コミュニティ形成のプロセスでもある」
 この指摘は,程度の差こそあれ,オープンソース開発以外の一般のプロジェクトに従事しているエンジニアにもあてはまるだろう.箱の中の猫の生死や健康状態などは,かれらの主要な興味から外れているのだ.いわゆる SPI (プロセス改善)のついての現場と管理者あるいは SPPGスタッフとの意識のずれは,このあたりに由来している.