複雑なエコシステムに対応する Windows 10 の品質向上に向けたアプローチ
※本ブログは、米国時間 11/13 に公開された”Windows 10 Quality approach for a complex ecosystem” の抄訳です。
マイクロソフトは October 2018 Update の公開を一時停止しておりましたが、本日再リリースいたしました。このような措置は、Windows 10 の「Windows as a Service」開始以降初めてのことであるため、Windows の広範なロールアウトを開始する前の品質のテスト、検証作業について疑問に思われたとしても無理はありません。
Windows 10 の新しいリリースのたびに、品質測定結果は総合的に向上しているものの、マイクロソフトの更新プログラムをインストールしたお客様のうち 1 人でも問題が発生した場合には、真摯に対処する必要があります。今回は、Windows の品質と Windows as a Service のアプローチを継続的に強化するしくみの概要をご紹介します。マイクロソフトの品質向上に向けたアプローチの透明性を高めるため、今回のブログを皮切りに、今後のブログ シリーズでは Windows リリースの品質を確保するための取り組みについて詳しくご説明する予定です。
Windows の品質を議論するうえでは、Windows エコシステムの規模の大きさを理解することが非常に重要です。このエコシステムでは、数万ものハードウェアおよびソフトウェア パートナーが Windows の価値を拡張し、数億ものお客様に独自のイノベーションを提供しています。Windows 10 だけでも、7 億台以上の月間アクティブ デバイス、3,500 万以上のアプリケーション タイトル、1 億 7,500 万以上のアプリケーション バージョン、1,600 万とおりのハードウェアとドライバーの組み合わせについて品質を確保するべく努めています。さらに、このエコシステムでは日々新しいドライバー、ファームウェア、アプリケーションの更新プログラムやセキュリティ以外の更新プログラムが提供されています。つまり、Windows エコシステムは非常に大規模で絶えず変化しており、毎回の更新プログラムを提供するうえでは常に注意と配慮が必要になるということです。地球上のあらゆる人々、あらゆる組織がより多くのことを達成できるように支援するというマイクロソフトのミッションを達成するためには、これだけの規模と複雑さの中でもすべてが問題なく動作することが不可欠なのです。
Windows 10 のリリースに伴い、マイクロソフトが Windows を開発、提供、更新する方法は変化しました。それが「Windows as a Service」です。まず、基本機能テストを開発チームが担当して、最初の段階から高品質のコードを提供できるようにしました。また、特定のチームがエンドツーエンドの検証を担当するという考え方を捨て、品質向上に向けたアプローチにまったく新しい機能を追加しました。それは、データとフィードバックを使用して、現実世界におけるハードウェアとソフトウェアのあらゆる組み合わせについて、マイクロソフトの製品を使用しているお客様のエクスペリエンスに関する理解を深め、重点的に取り組むことです。このように、あらゆる複雑な環境におけるテスト、エンゲージメント プログラム、フィードバック、テレメトリ、実際のデータの利用に加えて、パートナーと緊密に協力するという強力なアプローチにより、機能のイノベーションと毎月の更新プログラムへの取り組みを強化して品質を向上させることができます。
このデータに基づくリスニングのアプローチにより、新しい方法で品質を追跡することも可能になりました。この 3 年間で、Windows 10 を実行しているマシンの台数は増加したにもかかわらず、製品品質の主要な指標の 1 つであるカスタマー サービスへの電話やチャットでの問い合わせ件数は着実に減少しています。また、ネット プロモーター スコア (NPS) も主要な指標として追跡しており、お客様に Windows エクスペリエンスを評価するようにお願いして、「推奨者 (promoter)」と「批判者 (detractor)」の割合を追跡しています。現時点では、Windows 10 のすべてのバージョンの中で Windows 10 April 2018 Update が最も高い NPS の評価を獲得しています。このように全体的に品質が改善傾向にあることは励みになりますが、問題が発生したお客様にとっては傾向など重要ではないことも承知しています。マイクロソフトの目標は、すべてのお客様に優れた Windows エクスペリエンスのみを提供することであり、すべてのフィードバックを真摯に受け止めています。問題が発生するたびに学習し、その教訓を存分に活かして、製品の強化とプロセスの透明性向上に努めています。
レドモンド本社でのテスト
マイクロソフトの製品品質の向上に向けたアプローチは、お客様の意見に耳を傾け、そのフィードバックを開発プロセスのあらゆる側面に反映することから始まります。まず、お客様やパートナーの協力を仰ぎ、必要なテストと成功指標の定義をはじめ、製品の仕様を決定するうえで役立つフィードバックを収集します。機能の開発においては、問題を迅速に検出、修正できるように、さまざまな自動テスト プロセスを採用しています。テストでは常に不具合を修正することを目指しており、社内の従業員が実際に使用してみて問題を発見するケースも少なくありません。この一連の自動テストは、時間の経過と共に増加していきます。これらのテストの最も根本的な部分に合格した機能やコードのみがメインの Windows ビルドに「統合」され、最終的にはお客様にリリースされます。社内で実施している広範なテストの詳細については、今後のブログでご紹介しますが、ここではテストが Windows を提供するうえで重要な要素だということだけお伝えしておきます。
マイクロソフトの社内には、Windows の積極的な「セルフホスト」の文化があります。「セルフホスト」とは、Windows の開発に携わる従業員が自分のマシンで社内向けの最新バージョンを実行して、Windows を実際に使用することです。「積極的」とは、各地のチームが独自のビルドを実行し、発見した問題を追求するように徹底することです。強力なセルフホストの文化から、Windows の開発に携わる従業員が誇りを持って業務に取り組めるようになっています。
パートナーとの協力
パートナーとマイクロソフトの共通のエコシステムは非常に広範にわたるため、レドモンド本社だけでなく、世界中の Windows の専用テスト ラボや数多くのパートナーの施設でもテストが行われています。主要なテスト パートナーとの提携により、公開中および開発中のリリースを以下のように大規模に検証しています。
- 外部のテスト ラボにおけるアプリケーションの互換性、ハードウェア、周辺機器を対象とするグローバルかつ継続的なテスト
- ISV による幅広いアプリ (ウイルス対策 (AV) など) のテスト
- マイクロソフトのパートナー OEM による、膨大な数のシステム、デバイス、ドライバーのテストと品質の確保
ドライバー エコシステムへのアプローチ自体も興味深いため、今後のブログ シリーズで取り上げる予定です。高品質のデバイス ドライバーは優れたエクスペリエンスを実現するためのカギであるため、ハードウェア パートナーとは緊密に協力してドライバーを大規模に提供する必要があります。以下のグラフは、リリースされたドライバーの数を月別に示したものです。ピークの 6 月には 15,000 近くのドライバーがエコシステムに提供されました。
お客様との協力
高品質な製品を提供するためには、マイクロソフトの設計や計画に関するお客様からのフィードバックが必要です。そこで、Windows 10 のリリース時に Windows Insider Program が開始されました。Windows Insider Program のメリットは、参加者の皆様から Windows エクスペリエンスに関する貴重なフィードバックを頂ける以外に、マイクロソフトの管理された環境では実現できないような大規模かつ多様なデバイスの使用によりテストを実行できる点にあります。Windows Insider Program を通じて、ユーザー エクスペリエンス、互換性、パフォーマンスなどに関する新鮮なフィードバックを収集することができます。Insider Program の参加者の数は、プレリリース バージョンと、ドライバーや多数のアプリケーションの累積品質更新プログラムが提供されるリリース プレビュー バージョンで同程度になるように調整されています。
マイクロソフトは、さまざまなプログラムを通じて企業のお客様の協力も得ています。Windows Insider Program for Business では、企業のお客様が Insider Preview ビルドを入手して、次回の Windows リリースの一般提供が開始される前に、アプリやインフラストラクチャの検証を行うことができます。このプログラムにより、IT 担当者は社内で Windows を展開および管理するために使用している機能に関するフィードバックを提供できます。このプログラムは過去 6 か月間で 43% の成長を遂げており、つい先日 Microsoft 365 の完全な展開および管理テスト環境のOlympia v2 (英語) が公開されました。また、大企業のお客様向けの招待制のプログラムである Technology Adoption Preview (TAP) では、運用環境における製品テストを通じて、お客様が製品更新プログラムに関する早期のフィードバックを提供し、開発プロセス中の問題の特定に役立てることができます。
更新プログラムの開発および安定化の段階では、すべてのエンゲージメント プログラムを利用して、お客様が実際に使用している設定でしか発生しない問題を特定、修正します。また、エコシステムのパートナーと同様に、引き続き自動テストと手動テストも行います。さらに、フィードバック Hub やソーシャル メディアなど、利用可能なあらゆるフィードバック ツールを活用して、以前のフライトやリリースと品質を比較します。そして、ユーザーの更新エクスペリエンスが十分であると確信できた場合にのみ、お客様への機能更新プログラムのリリースを慎重に開始します。
データに基づく意思決定
品質向上に向けたアプローチにおいて特に重要な変更点として、開発中および公開中の製品の信頼性についてデータに基づく意思決定を継続的に改善していることが挙げられます。最初に、詳細なダッシュボードと指標を使用して、日常的に自分の PC にインストールしているビルドを評価し、測定可能な品質が許容されるレベルに達したという明確な証拠が得られた場合にのみ、Windows Insider Program でフライトを公開してフィードバックを収集します。このダッシュボードと指標は、製品のフライトやリリースの公開後に収集した品質データやフィードバックの量に合わせて拡張されます。製品品質の向上に取り組むうえでは、これらの指標を入念に追跡し、さまざまな指標について現在の品質レベルと過去の傾向を比較して、不具合を検出します。大切なお客様を保護するため、マイクロソフトのデータに基づくアプローチは、最高水準のデータ プライバシー保護に基づいて実施されています。詳細については、マイクロソフトのプライバシーに関するページをご覧ください。
ロールアウトの原則
「Windows as a Service」という進化により、Windows 10 よりも前のバージョンのように Windows が「リリース」されることはなくなりました。マイクロソフトは、リアルタイムの検出および対応機能を利用して、慎重かつデータに基づく方法で Windows をロールアウトしています。これは、Windows エクスペリエンスの強化にあたって特に影響の大きい変更点です。
機能更新プログラムのロールアウトに関する第 1 の原則は、スムーズに更新できることを示すデータが得られたデバイスのみを更新することです。最近では、機械学習 (ML) モデルを使用して、更新プログラムを優先的に提供するデバイスを選択しています。デバイスで問題が検出された場合は、その問題が解決されるまで更新プログラムは提供されません。
第 2 の原則は、ロールアウトを段階的に開始し、ロールアウトのスピードよりも更新エクスペリエンスを優先することです。新しい機能更新プログラムがリリースされると、更新プログラムを早期に入手するために行動を起こしたユーザーのごく一部に優先的に提供されます。
第 3 の原則は、注意深く監視して新しい問題を学習することです。そのために、マイクロソフトのテレメトリを監視したり、カスタマー サービス チームと緊密に協力してお客様からの報告内容を把握したり、フィードバック Hub から直接フィードバック ログやスクリーンショットを分析したり、ソーシャル メディア チャネルから送信されたシグナルをリスニングしたりしています。スムーズな更新を妨げる要素の組み合わせが検出された場合は、ブロックを作成して、同様のデバイスで問題が完全に解決されるまで更新プログラムが提供されないようにします。今後も、特に発生件数が少なくシグナルが弱い可能性があるものの、重大な影響を及ぼす問題を検出する機能を強化する方法を検討してまいります。最近では、発生件数が少ない問題を認識する機能を強化するため、ユーザーがフィードバックを提供する際に問題の影響や重大度を指定できる機能が追加されました。
迅速な対応と透明性
Windows のように大規模かつ多様で複雑なエコシステムでは、複数の要素による検出プロセスでも問題が見過ごされる可能性があります。マイクロソフトは、ロールアウト前に問題を解決できるように常に全力で取り組んでいますが、問題が発生する可能性はゼロではありません。問題が発生した場合、マイクロソフトはその影響を最小限に抑え、迅速かつ透明性の高い方法で対応し、お客様に情報を提供して保護するように努めています。これまではほとんど、問題を迅速に検出し解決することのみに集中していましたが、今後は透明性と情報共有に重点を置きます。マイクロソフトは原則として透明性を重視しており、今後も問題が発生した場合には、お客様との明確かつ定期的な情報共有に努めます。ただし当然のことながら、お客様を保護する責任もあります。そのため、一部のケース (ゼロデイ攻撃など) では、セキュリティ更新プログラムがリリースされて問題が明確になるまでは、透明性よりもお客様の保護を優先する場合があります。
今後の展望
マイクロソフトは、さまざまな面でお客様に最も安全かつ優れた Windows エクスペリエンスを提供できるように取り組んでいます。状況は全体的に改善しているものの、わずらわしい問題に悩まされているというご意見もあり、現状を真摯に受け止めています。今後も、問題を予防すると共に、問題が発生した場合には迅速かつ透明性の高い方法で対応する機能の強化に取り組んでまいります。現時点で利用可能なあらゆるツールを活用し、製品の設計、開発、検証、提供に関する新しい品質重視のイノベーションに注力します。今後の記事では、品質向上に向けたアプローチと新しい品質重視のイノベーションの詳細についてご紹介します。どうぞご期待ください。