■問題解決のためにどのような判断基準があったのか。Windows Server 2003の開発とWindows XP SP2の開発はどちらが厳しかったのか。Windows XP SP2の開発者たちの“恐れ”と“自負”,プロとしての意識のありようを語ってもらった。
(聞き手=Paul Thurrott)




Todd Wanke氏

 

Rebecca Norlander氏

 

Mark Harris氏

 

Laurie Litwack氏

 

Jim Allchin氏

「ニワトリに口紅」「頭に理解」
[Todd Wanke氏]あなたにTシャツを持ってきているんですが…この柄はニワトリの…「ニワトリに口紅」っていうDarrin Muirが言った言葉です。パッチや何かを持ってくることについて,Darrinはこう言ったんです。「それはニワトリに赤い口紅を塗るみたいなもんだね」って。

(大笑い)

 われわれはそのTシャツをたった…50枚だけ作りました。それにはWindows XP SP2の「トップテン」の名言が書いてあるので,今日の話に関係があるわけです。開発工程を通して,からかい半分にあなたがたが言うようなことや,あなたが1つ言うと別の結果になるとか,いろいろなことがあるので,われわれはTシャツの後ろにいくつかうまい文句を書き並べたんです。そのうちの1つは私が言ったもので「もし,われわれが失敗をすべて取り出したら,成功率はどうなるか?」(大笑い)。 私がそう言ったときは文字通りの意味でした。

――――つまり100%ですね,Todd。

[Todd]そっ,そう…。それからあるときはこうも言いました。「おれは一番頭のいい人間じゃないが,これを理解することはできるはずだ」(笑い)。つまりそういった文句がずらずら書いてあるんです。その中身が全部私の言ったことではないけど…。

[Ryan Burkhardt氏]ほとんどはToddが言ったんですけどね(笑い)。

[Todd]私はジョークの的だったんです。しかし,われわれはまさに今まで経験のない状態にいたから,本当にストレスが多いプロジェクトでした。このプロジェクトにはたくさんの熱意がつぎ込まれました…プロジェクトを健全な状態にするためにね。

 われわれが向き合っていたセキュリティの問題は,かなり広がっていたのです。われわれは自分たちの方針に必ずしも確信を持っていなかったのです。その時点では当たりでした(ホワイトボードのBeta/RC1フェーズのところを指して)。既知の問題のために考えたソリューションを少しずつ削り始めよう,何かミスしているところを探そう,ということになりました。それはプロジェクトの中でいいタイミングだったし,1つの転回点だったように思います。OK,これはうまくいくぞ,と思いました。

 しかしご存知の通り,当時はわれわれが抱えていた複数のぜい弱性が,まさに…まさに急に現れ,だんだん危険性を増していました。

――――今でも思い出しますが,2004年夏までは,みんな弱点の話をしては,「おい,SP2が出れば,だれもこんな問題に遭わないのにね」と言っていたものです。

SP2の機能に責任を持つ,Movie Makerの更新はグループ・ポリシーのため
[Todd]ご存知の通り,XP SP2の作業の間,私はいくつか小さなことで深く考えたことがありました。私はInternet Explorerがポップアップ・ブロッカーを持っていないということが残念でした。私にとってそのことが,SP2以前のWebブラウジングを不愉快にしていました。個人的には,IEに施したことを非常に大事なことだと思ってやりましたし,われわれはユーザーの手に,ある種のコントロールを戻しました。ポップアップ・ブロッカーは本当にやって良かったと思います。

 それから,われわれがプレーヤ関連でやったのは,「Windows Media Player」です。Windows Media Player 10が入れられれば,素晴らしかったと思いますが…今持っているものにわれわれは満足しています。

――――何人かはこう言いますね。「おお,これはまさにMicrosoftが自社ソフトの最新版を出すために,口実を使っているのだ」と。しかし,本当はそうじゃないでしょう?私はWMP 9が以前のバージョンにはないセキュリティ強化を施されていることを知っています。

[Todd]その通り。われわれがしたことについて,実例を見たければ,Windows Media Player 9からはじめましょう。われわれは,Windows XPとXP SP1にあったWMP 8に戻ってセキュリティを強化することもできた。しかし,当時われわれがセキュリティ監査をしていたのは…WMP 9だったのです。

 そこでWindows Server 2003で出荷されたのは,Windows Media Player 9だった。これは当時としては,新しくて安全性の高いメディア・プレーヤでした。われわれがやりたくなかったことは,前に戻ってWMP 8で,セキュリティの強化作業をすることでした。なぜかといえば,既にWMP 9でやってしまっていたからです。SP2の作業中,われわれはWMP 9が確実に,より安全性の高いプラットフォームになるように,さらに改良する仕事に取り組みました。それが,Windows XP SP2にWMP 9を持ってきた理由です。

 もう1つご紹介したい別の例は,「Windows Movie Maker」です。「なぜ,XP SP2に新しいMovie Makerを組み込んだんだい?」とみんなが聞きます。正直にいって,それには1つ理由があるのです。ええと,Brian Valentineも私も同じ意見なんですが…古いバージョンはグループ・ポリシーに対応できなかったのです。だから,われわれは新しいWindows Movie Maker 2を入れたのです。正直にお話しすれば,それが唯一の理由です。Movie Maker 1をグループ・ポリシー対応にできないということは,それをポリシーで無効にできないということです。企業ユーザーはわれわれに,Movie Maker 1を無効にしたいと言い続けていました。

 それで,このDCR(設計変更リクエスト)レビューの間には,いくつかのトレードオフが出てきて,われわれはこう自問したものです。「OK,アプリケーションを改訂するとして,その理由は何だ」。そして実際には,セキュリティがその理由になりました。理由を持たなければいけなかったし,その理由はセキュリティで裏づけされていなければならなかった。

 私はBluetooth関連でやった仕事も好きでした。これから立ち上がるモバイルの波を大いに支持する一人です。みんながこのごろはBluetoothデバイスをやっているようです。BMWにせよMercedesにせよNokiaにせよ,何であれ,すべてがそのように動いています。そして,われわれがやったBluetooth関連の機能はクールな部類に入ると思いました。

 古いBluetoothスタックは,特によいものではなかったうえに,新しいBluetoothスタックは,「その1」きちんと動いた,「その2」安全だったのです。

 私がプロジェクトに,Mark Harrisを連れてきた時には,どちらかといえばこのプロジェクトを通して彼を指導していました。私は,個人的に彼にたくさんの時間をかけました。私が最初に彼に言ったことは,プロジェクトを運用しているときに,やる必要があるのはちょっとだけだということです。

 まず,いつも楽しんでいる自分を確認すること。第2に,プロジェクトの一部として趣味を持つ必要があること。つまり彼が何の作業をしているのかについて,説得力のあるものがなければならなかったし,自分が本当に打ち込める何かがなければならなかった。彼は,XP SP2では「自動更新」を担当しました。彼はそのためにグループ・ポリシーのテスト・マネージャになったのです。彼が打ち込んで自分の時間を実にたくさん費やしたのは,自動更新とSoftware Update Services(SUS)を水準に到達させることでした。

 私はというと,Internet Explorer,Bluetooth,Windows Media Playerがそれに該当しました。私自身が統括し,テストし,バグ出しをしました。そして,うまく動かなかったときは人々を怒鳴りつけました。私が大事だと思ったのは,そういうことでした。まず関心を持たなければいけません。そしてプロジェクト・マネージャとしてそのプロジェクトの内と外からの評判を知っておくこと,1日たりと無駄にせずに使うこと――それらは非常に大事です。

いつでも出せるが,いつになったら出るのか?
――――あなた自身は,Windows Server 2003とWindows XP SP2を比べて,感想はどうですか?ストレスがかかったことは分かりますが…

[Todd]いいかな,それは面白い話で,昨晩もちょうどそのことを考えていたんですが…私はまだ回復しきっていないんですよ(大笑い)…精神的にも肉体的にもね。

 Windows Serverは進行中にセキュリティの要求が出てきたから,厳しいプロジェクトになったのです。2003のプロジェクトでは,われわれは「製品をまだ出荷しないぞ」と考えている時期がありました。

 XP SP2のプロジェクトでは,そこまでは行きませんでした。ただ,期限内に必要とする品質に到達できるかどうか,確信がありませんでした。そこが,Windows Server 2003よりも厳しかったかな…

――――期限内って?

[Todd]次の危険な攻撃が流行する前に,ということです。

[Ryan]あなた(Todd)は,いつでもこれを出せると言っていたけれど,私は個人的には,これはもう出荷されないかもしれないと思いましたよ。

――――なるほど,あなたが無駄にした時間の長さは,XP SP2の利用者の数を掛け算しなくてはいけませんね。

[Todd]ええ。

――――私が思うに,Windows Serverが遅れても,お客は「ちゃんとやってね」と言うだけですよね。人々が求めているのはそういうことです。不幸なことに,クライアント向けのセキュリティを担当している場合,多くの人々がこう言うでしょう。「おい?俺たちは今すぐこれが必要なんだぜ」って。

[Jon Murchinson氏]しかし私が思うに,人々はわれわれがきちんと仕事をやることも望んでいるでしょう。それは緊急と正確さのバランスの問題です。難しい組み合わせだ。

[Todd] もう1つの問題点は,XP SP2の最終版のリリースにかかった時,全く異なるたくさんの問題が持ち込まれてくるということです。さあ,こういう事態をどう片付ければいいと思いますか? 最終段階に入って数多くのパッチが出てどう修正すればいいでしょうか?

 特にその問題が,例えばユーザーの1~2%に影響があるような問題だとしたらどうでしょう。われわれがプロジェクトの最終段階に疾走している時に,どうやって「自動更新」と新しい「Windows Update Services」のインフラを使ってそれを出そうかと考えていました。

 それにわれわれは,全パートナとも手はずを整えなければならなかったし,大きなリリースを出すためにやるべきことを,みんな片付けなくてはならなかったのです。しかし,結局これは違う形のリリースになりました。つまり,われわれはこれを,入れるか入れないか,ユーザーの選択に任せるつもりではなかったのです。われわれはOEM PCメーカーの後ろにくっ付いて行くつもりだったので…それはまた別の問題がありましたけど。

――――あなたがたが最終製品を出す場合,何かの理由でインストールできないとか,未知の問題が起きる,といった恐れが常にあるでしょう。でも,実際にそんなことが起きたことはないように思います。

[Todd]2つ問題があります。まず1つは,あなたが(ベータ・テスト中に)見つけられなかった問題が出荷時に残っていて,その問題が多数のユーザーに影響を与えるようなものです。

 考えておくべきなのは,2つ目の問題です。出荷したその日にハッカーたちがある攻撃方法で,12カ月か14カ月かけた製品をすべて突破してしまうことです。われわれはいつも2つの問題を気にしていました。

SP2を入れてブルー・スクリーン!!
――――でもどちらも実際に起きたことはなかったでしょう?

[Todd]1つあります。

[Ryan]「TV Media」です。XP SP2のアップグレード中に,マシンをクラッシュさせるものでした。ブルー・スクリーン表示になってしまう。アップグレードされるはずのファイル群を,修正してしまったからです。これはびっくりでした。

 XP SP2はこれまでにやった中でも最大のベータ・テストをしたプログラムであり,コアのWindowsリリースも含めて一番広範囲にテストされたリリースでした。それでもわれわれはミスをした。ちゃんとうまくカバーする体制を作っていなかったのです。われわれがそれを見過ごしたということではなく,こういったシナリオをきちんとカバーできる人をそろえておかなかったのです。ほかのみんなに比べ,われわれのベータ・テスターたちのシステム上にスパイウエアが少ないという事実は,面白かったのですが。

――――ベータ・テスターは一般大衆より,ちょっとばかり…あるいはすごく専門的な違いがあるのは確かでしょう。

[Todd]もう1つ面白かったポイントは,TV Mediaの問題が,XP SP2側の問題ではなかったということです。それはインストーラの問題でした。Windows NT 4.0とWindows 2000,さらにXP SP2でも共通する問題だったのです。それがたまたまXP SP2の出荷開始のときに顕在化したわけです。

――――なるほど。でも人々にとっては,XP SP2をインストールしたときにそれが起きたわけですよね。彼らにはそう見える。

[Todd]ええ。以上のいくつかの例はわれわれが終盤で考えていた重大な点でした。

[Ryan]そう,われわれが結局出荷しないんじゃないかと思ったと私が言った理由はそれです。製品に影響するものが,待ち行列に入ってこないことが分かるまで,われわれは出荷しません。夏の間もその前も,新しい問題が入ってきたし,何が起きているのか,そしてそれがXP SP2に影響するのか評価する工程を通さなければいけないからです。繰り返しを続けているときはそれほどよくはならなかった。1つのリスクでした。そして最後はラッキーでした。つまり問題の起きない静かな時間があったからです。

[Todd]われわれがやりたかったことの最後は,…リリースに関することでは,われわれが出荷した次の日,あなたがたが「自動更新」に行ったときに,新しい弱点が確実に何もないようにしたかった。あなたは,卵とニワトリの問題に悩まされることになる。なぜかというと,弱点が分かると修正を入手する必要があります。そのサイクルがどう動くか,そのサイクルが毎回リセットされるかどうかも知っておく必要があります。10日間弱点なしに過ごせるまで,あなたはこの10日間を何度も何度も繰り返す羽目になります。しかしこの製品は最後には持ちこたえました。