1988年~1993年にNTリリースされるまで
WindowsNT開発の道(#4/4)
「闘うプログラマー」の原題は「SHOW STOPPER!」という。プログラムにはバグがつきものだけど、ショーを止めるようなバグの意味で SHOW STOPPER と呼ぶらしい。10章「ショーストッパー」の記載によれば、リリースを遅らせる最悪のバグがこれにあたる。次に重要なバグが1級と呼ばれ、軽度のバグが2級とのこと。NTのサンプル版には1級が数百あり、2級は数千あったらしい。(下巻183頁)
バグ取りは簡単じゃない。一つのバグを修正したら、その影響でシステムが動作しなくなることは、開発者であれば誰しも経験する。NTの場合は600万行に及ぶコードと言う。どこに影響するかなんか分からない。「闘うプログラマー」にもバグ取りの結果、システムが動かなくなりビルドを元に戻す記述がある。
壮絶な開発工程は「闘うプログラマー」をじっくり読むのが一番だ。エンジニアは命を削る覚悟が必要となるが、読む分には非常におもしろい。
8章の「死の行進」以降は開発工程の詳細になる。システム開発の経験がない人は、読んでいても頭から抜け落ちるかもしれない。プログラムのビルドの繰り返し描写が多いからだ。
ワシントン湖畔の豪華な家にひとりで住んでいるが、終始オフィスで寝ているため自分は「ホームレス」だと言った開発者。多くの開発メンバーは高額な報酬を得るようになるが、ストレスのはけ口に もっぱら派手な買い物をしたようだ。
職場から30分のところに邸宅を買い、コロラド州に別荘を買い、新車を4台すべて現金で買った。自宅にテニス・コートを作ったが、テニスをする時間がないと嘆いた開発者。
6月は、1日も休まなかった。20時間働いた日も何日かある。オフィスに簡易ベッドを持ち込んで、30日間一度も自宅に帰らなかった開発者。他の開発者も長時間労働で、恋人・友人・妻や夫、子供たちと関係がおかしくなった。
残業の少ないエンジニアも数名はいたようだが、殆どの開発メンバーはそうじゃ無かった。それぞれ参画する時期により異なるが、これが 1988年からNT3.1がリリースされる1993年までの数年間も続く。
最初のカーネル中心から対応すべき範疇はどんどん広がっていく。新しいファイル管理システムNTFS(NT File System)の導入、DOSやWindowsの多くのアプリケーションを動作可能とする、見た目をWindowsと同じくする。DOSやWindows、OS/2より処理速度を早くする・・・。
左:Windows3.1、右:WindowsNT3.1 中身は違えど見た目は殆ど同じ
ゲイツの要望でNTをWindowsに統合するための作業だ。過去の資産を引きずりながら開発するのは想像以上に大変だと思う。私も若い頃に不夜城の現場経験はあるけど、それを遥かに上回っている。
第9章「バグ」123頁には、「Windowsのコードに組み込まれている数式の間違いすらも、そのまま取り入れるしかなかった」なる記載もある。エラーの互換性さえも保つためだろう。
何だかんだでリリースに至り、ミッションを成し遂げる。実に大したもんだ。今の時代ならば、この労働環境は完全にアウトになるかと。
尚、カトラーはNT3.1の陣頭指揮を執るが、その後のNT3.5以降はジム・オールチンに代わる。NT6.0(=Vista)まで続いたようだ。オールチンの指揮したVistaは失敗し、それが理由なのか知らないが間もなくマイクロソフトを退職している。責任を感じたのかな?その後、スティーブン・シノフスキーが陣頭指揮を取る。
OS/2 と Windows、WindowsNTの関係/クリックで拡大