Microsoftは膨大な数の不具合に「トリアージ(緊急度判断)」で対応 ―― ソフトウェアテストシンポジウム 2012東京(JaSST'12 Tokyo)(1)
●高度な問題解決能力を持つ人材をテスト・エンジニアとして採用
このようなテスト体制を維持するために求められる人材,つまりテスト・エンジニアに求められる資質とはどのようなものなのだろう.Microsoft社でも,ITへの投資が活発だった1995~1996年ごろを中心として,コンピュータやエンジニアリングの知識がない人材をテスト・エンジニアとして大量に採用していた時期があったという.彼らは不具合を見つけるのは得意であっても,テストの自動化やコード・レビュー,デザイン・レビューなどは不得意だった.
2003年ごろ,同氏は当時のCEO(Chief Executive Officer)であったBill Gates氏より,テスト・エンジニアの採用方法を見直してはどうかと提案されたという.新たな採用の基準については,「Sustained Engineering(エンジニアリングの持続性)」という点に留意したという.Windowsを例にとると,Windows 8の開発を手がける一方で,既存のWindows 7やVista,そしてXPの保守も継続しなければならない.かつてのように大量の人材(Windowsだけで2,000人のテスト・エンジニアがいた)を確保できない現状で,質の高いテスト・エンジニアの採用が急務となったが,これが困難を極めたという.
コンピュータ・サイエンスの学位を取得したエンジニアであれば,通常はデベロッパ(開発技術者)を目指す.テスト・エンジニアなどにはなりたがらないのが普通である.こうしたエンジニアに対して,テスト・エンジニアとして勤務してくれるように説得するのが非常に難しかったという.こうした状況を打開するため,コンピュータ・サイエンス以外の学位取得者(例えば海洋生物学者など)や,エンジニアリング以外の経歴,資質を持った人材にまで広げて採用を行うことにした.そして採用に際しては,彼らが単に不具合を検出できるというレベルではなく,会社や製品に対してどのようなものを提供できるのかを見極めるようにした.
このような基準に照らし合わせた「テスト・エンジニアの資質」とは,個々のプロジェクトや製品が抱える問題だけではなく,ビジネスの進め方などの問題に対して解決策を見出すことができる能力ということができる(写真4).テスト・エンジニアは往々にして「消防士」になりがちであり,その場の火を消すことだけに対応しようとする.しかし,その場の火を消し止めても,また同様の問題が発生する.この負のスパイラルから脱却するために,同じ問題が発生しないように,ビジネスや組織そのものを見直す必要がある.問題を未然に防ぐためには,より高度な問題解決能力と創造性が要求されることになる.
写真4 テスト・エンジニアのプロフィール

●組織のフラット化やポスト新設で人材を生かす
同氏は次に,組織再編の重要性について説明した.組織を再編するためには,変化にすばやくきちんと対応できる「アジャイル」な思考やメンタリティが必要となってくる.こうしたアジャイルを実現するためには,コミュニケーションが重要であるという.コミュニケーションの方法としては,メールやメッセージだけではなく,顔を突き合わせた対面型コミュニケーションも重要である.また,こうしたコミュニケーションは,テスト・エンジニア間だけでなく,デベロッパとテスト・エンジニアの間でも必要となってくる.そのために同社では,開発のすべての局面において,デベロッパとテスト・エンジニア全員が関係を共有できるようなフラットな組織再編を推進してきた.
こうした組織再編は当然,構成員のキャリア・パスにも影響を与えることになる.これまでは,キャリアを積んだテスト・エンジニアは,管理職になるという以外に昇進の選択肢がなかった.そこで同社では2005年ごろ,「テスト・アーキテクト」というポジションを新設した(写真5).これは高度な技術力が要求されるポジションであり,ディレクタの命令に従う必要はないが,開発のエンジニアリング・プロセスの改善については全責任を持つことになる.その代わり,管理職的な仕事は一切せず,通常のグループとも独立した形で勤務する.このテスト・アーキテクトというポジションを設けてから,創造的な試みが次々と提案されるようになったという.またこのポジションを導入することにより,優れた人材の流出を防止する効果も得られたという.
写真5 テストの組織構成

エンジニアの中には,ずっと開発現場に残っていたいという思いが強く,管理職になりたがらない人材も多い.管理職になるくらいなら職場を変わる,というエンジニアも少なくない.管理職というかせを外したことで,こうした質の高いエンジニアの離職を思いとどまらせたケースも少なからず見られる.こうした形での頭脳流出(ブレイン・ドレイン)は,今や企業にとって大きな損失となっており,また深刻な問題ともなっている.