読者の皆様はじめまして、WACATE常連の永田です。昨年(2009年)年末に開催された「WACATE2009 冬」にてベストポジションペーパー賞をいただいたことがきっかけで、この場をいただけることになりました。参加者として見たWACATEの魅力を「WACATE2009 冬」(2009年12月12日~13日、於:マホロバ・マインズ) のレポートにのせて紹介したいと思います。どうぞよろしくおつき合いください。
WACATE(Workshop for Accelerating CApable Testing Engineers)はソフトウェアテストをメインテーマとしたワークショップで、一度参加すると病みつきになります。教育、研修という観点から大変優れた内容をもち、参加者に強い気づきを与えることにより、毎回、魔法のような時間を過ごすことができます。毎回自分が変わっていく実感を味わえるのです。ソフトウェアテストという共通の学習対象に向かって、20代のまさに若手からベテランまでが一緒になって学び、議論し、刺激しあい、それぞれ気づきとモチベーションを持ち帰ることができます。なぜそのようなことができるのか、今回は、あるトピックに焦点を当ててその秘密を考えてみましょう。
WACATEには「冬」と「夏」があります。冬は、技法からチームビルディングまでいろいろな種類の話題を座学とワークショップを組み合わせて行います。夏は、あるテーマに絞ってそれを徹底的に勉強していきます。それぞれテーマを持っていて、今回の「2009 冬」は、“基礎、覚えていますか”がテーマでした。大変楽しみにしていたのですが、予想以上に広い話題に渡っていながら、そのメッセージは強力でした。その中でも(私が思うに)メインとなるのが2日目の午前中のセッションです。WACATEでは2日間をグループ単位で行動しますが、2日目となるとだいぶチームビルディングが成されているころです。この状態で、2日目の午前中いっぱいを使ってグループ演習を行います。今回はWACATE実行委員の原さんが行う“メトリクスのWHYを考えよう”という内容でした(演習の概要については「WACATE 2009 冬 プログラム内容」をご覧ください)。
1.メトリクスの本質を学ぶ
これはすごいお題です。テストの基本というテーマにおいてのメインイベントがメトリクスの本質というのは、さすがWACATEです。テストは品質を評価、つまり測定するわけですが、それを表現するにはメトリクスを使わなければなりません。テスト技法で来るかと思いきや、メトリクスを話題にするとは、まさにテストの本質をついてます。その本質を学ぶというのですから、これはすごいお題なのです。しかもやってみると内容は恐ろしく奥深いものでした。
2. [演習1]メトリクス測定結果を洞察・分析・評価する。
さっそく演習に突入します。巧みにガイドされ、段階的に体感させて学習する方法です。
まず、ガイドが始まります。あるシステムのプロジェクトで単体システム終盤でトラブルが発生、あなたはそこに呼び出されました。そこで見せられたのは、全ソースコードの「コメント率」を表したものです。コメント率なんて初めて見る人たちばかりです。表の軸の単位などを一通りされたあと、そこで質問されます。このグラフから、「推察されること」、「発生している開発現状」、「当プロジェクトの問題点」、「推奨・必須アクションプラン」をチームで検討して記入しなさい。見たこともないグラフ1枚を分析し、そこで起こっている現状を推定、さらにその問題点を推定し、そのアクションプランを述べよという、結構ハードな問題です。
起こっている状況や問題点を読み取る、つまりメトリクスの解釈は非常に大切なことです。実際、評価報告書ではメトリクスは取ってグラフにしたのを張り付けているだけで、その解釈、考察、問題点、対策などがまったく書かれていないものがあったりします。これはよい訓練ですね。実践で使う問題分析作業のパターンですが、うまくリーダを決め、タイムキーパー、書記など役割を決めて回していかないとまとまりません。眠気が一挙に吹っ飛びます。そして、ここでうまくガイドしてそれぞれの意見を引き出すと、なかなかいい意見を見ることができます。たとえば、“ここでコメントがこんなに多いのは、コードを修正するときに前に別の人が書いたコードを消さずにコメントアウトしたからだ”という意見が出てきました。そうだとすると、どんどんコードを見にくくし、レガシーコードを作っていくパターンと推定できます。
WACATEのよいところは、いろいろなドメイン、いろいろな立場の人が集まっていることです。そこから、自分の思ってもみない考えに出会うことができるのです。私がいたグループも、設計者の人もいれば、SQAの人もいます。エンタープライズ系の人もいれば、組込みの人もいます。もちろん最初はなかなかコメントが出てこないのですが、そこはWACATE経験者やベテランがガイド/フォローして、だんだんと議論が活発になっていきます。このエンジンの掛かり方が、WACATEでは大変早いのです。そこから、まるで化学反応のようにお互いが反応しあっておもしろい議論ができ、アイデアが生まれてきます。これがWACATEの醍醐味なのです。
3.[演習2]メトリクスは誰のものか
これは強力な問いです。メトリクスに限らず、何かを実行したとき、その結果によって誰が喜ぶのか。これを明確にすることは大変重要なことです。喜ぶ人がいないとか、喜んでもらおうと思っている人が喜ばなければ、つまりそれは効果がないこと、意味がないことになります。この問いに対する答えをうまく表現するのも意外に難しいことです。演習2は、自分がやっていることに効果があるのか、誰に影響を与えるのかを明確にするということで、現場で直面する大変現実的で重要な訓練です。
4.現場とのつながり
一番のカギとなる演習3は、GQMテンプレートを使いメトリクスの目的を表現するものでした。
“配られた回答シート(GQMテンプレート)を記入して、メトリクスを取ることの重要性及び必要性を説明すること。説明相手は、自分の上司や経営者を想定し、今後の「コメント率」メトリクスの測定活動の予算を確保することがねらいです”この説明に思わず身震いをしました。これはまさに現場で直面することです。
たとえばメトリクスを取るために、設計部門に協力してもらわなければならないことがあります。設計は、余計な仕事を嫌がります。これは、お金の問題よりも厄介です。どうやったらモチベーションを持たせることができるでしょうか。納得させる説明が必要になります。この演習は、こうした一番大切なアクションに対する稽古でした。
昨年開催されたJaSST'09 Tokaiの基調講演において、電気通信大学の西先生が、効果的なテストに必要な考え方の1つに説明責任があると述べておられました。まさにこのWACATEの演習で考えて、発表していくことがその説明責任であり、まさに実践に即したお仕事のエクササイズです。
5.チームの形成と時間の使い方
WACATE参加者が鍛えられるもうひとつの要素がチーム形成と時間管理です。
1日を過ごしてグループが形成できたとしても、演習時はひとつの解を模索していくチームとして振る舞わねばなりません。演習ではリーダーを決め、段取りを考え、担当者をアサインし、議論や作業を成果物としてまとめていくということを行っていきますが。このプロセスの中で、役割分担、協力、コミュニケーション、傾聴、論理的思考といった要素がグループの中でぐるぐると回っていきます。いかに有機的なチームを作り上げ、チームを成功に導くかは、ここまで挙げたような要素に取り組めたが鍵となります。このとき各自は、チームにおいてどのような責務を負うかをしっかりと認識する状況把握の能力が求められます。
また、決められた演習時間に成果物を作り上げるのは時間を意識しなければなりません。普段、誰かが決定したスケジュールどおりに業務を行うことが多い若手にとって、全体の段取りスケジュールと個別作業のスケジュールやそのタイムキープと遅延した場合の挽回策の立案と実行など、今後の成長に向けた良い訓練となります。
6.演習の最後は発表
最後の難関は発表です。若い20代の人で行うことが条件でした。普段会社ではなかなか発表の機会がない若手には、絶好の発表の訓練の場です。声を出し、多数の人を前に説明するのは緊張します。グループ全員で前に出て発表者をバックアップします。また、経験が少ない若手がスムーズに発表できるようなアドバイスも行います。発表者以外も「発表の指導を行う」という訓練を行うことができます。
いずれにせよ失敗した者勝ち。場数を踏むことが上達の早道です。終わったら全員で思いっきり拍手します。「良かったよ、お疲れさまでした」と声を掛け合って相手に敬意をはらい、達成感を分かち合います。これは他の演習でも同様です。このような分かち合いを2日間やっていくうちに、グループやWACATEという場がどんどん盛り上がっていくのです。
7.できそうでできない
WACATEに参加すると、このようなワークショップが簡単にできそうな錯覚を起こしますが、この学習空間を作り上げるのは実は非常に難しいことです。試しに社内でやってみようとしますが、なかなかうまくいきません。まずは、ワークショップというと人が集まりません。演習がいや、失敗がいやなのです。座学を聞いて終わらせたいと思うのですね。そして人前で発表するのをいやがります。恥ずかしいと引いてしまいます。
でも、WACATEを味わっている者にとって、これこそが重要なことに気づいています。ワークショップにおける気づきは非常に学習効果が高いものです。それを支えるのはソフトウェアテストに対する共通の思い、ソフトウェア品質に対する共通の価値観です。お互いに学びあい助け合い認めあう心、それに触れたときに皆WACATEのとりことなってしまいます。
8.教育の本質
振り返ると、“怒涛のごとく”という言葉がふさわしい2時間でした。このワークショップでの気づきをまとめると、なんといっても、何のためにこのメトリクスを測るか、メトリクスを測る意義と目的を考えることがまず重要なことです。それを考える上で、その解析、結果をイメージして、その効果を表現していく説明責任が大切なこと、品質を語るには、このスキルを磨かなければと強く思いました。
さて、今回はメトリクスの演習を取り上げましたが、グループ学習において、実に巧みなファシリテーションが行われていることがわかります。そしてすごいのが、そのファシリテーションが自然にグループから生まれてきていることです。
もちろん、原さんの講師としてのガイドがうまいこともあります。でももっと重要なのは、グループの自発的な活動です。グループの中ではベテランも少しは手伝っていますが、むしろ常連など過去にWACATEに参加した人が引っ張っていきます。1日目最初の頃の少し硬い感じが、プログラムが進むにつれほぐれていき、議論が活発になっていきます。参加者それぞれの個性を生かしながら、協力し、議論し、考え、そしてみんなで失敗します。
この取り組みの過程で、グループをまとめていく力、コミュニケーション能力、プレゼンテーション能力、実が鍛えられていくのです。しかしながら、実に多くのことに取り組んでいながらも、皆楽しく前向きに取り組んでいます。それぞれが主役であり、自ら参加している自覚を持っています。WACATEというイベント自体は実行委員が企画をしていますが、実際のWACATEをドライブしているのは参加者を含めた全員であることがわかります。
今まで述べてきたWACATEの優れた要素をマインドマップにまとめてみると次のようになります。
この境地に到達できるワークショップを企画するというのは大変なことです。毎回、WACATE実行委員の企画力と実行力には敬服してしまいます。この「グループで協力し合いながら学んでいく」という学習形態は"Cooperative Learning"と呼ばれています。学習者自らが能動的に学んでいくといく、まさに教育の本質が感じられる活動です。いろいろな仕掛けはあるけれど、これはやはり奇跡の集まりだと思います。本稿にて興味をもたれた皆さん、ぜひ体験してみませんか? そして一緒にコラボレートしていきましょう!
9.終わりに
筆者が考えるWACATEの魅力を、WACATE2009冬のレポートに乗せて簡単にお伝えしました。ですが、まだまだその魅力の全ては書ききれませんし、実際に体験してみないと本当には理解できないと思います。本稿以外の情報としては、下記にあるgihyo.jpのレポートやWACATEが発行している無料情報誌をご参照ください。
いろいろレポートを読んでいくうちに、参加したくなってきた方もきっとおられることでしょう。なんでも次回のWACATE「WACATE2010 夏(仮)」は2010年6月12日(土)~13日(日)に開催予定だそうです。本稿で興味をお持ちになった皆さんは、ぜひ今から予定を確保してください。一緒に盛り上がりましょう。