「WACATE 2010 夏」参加レポート(その3)――いよいよ成果発表!
こんにちは、第3バイオリンです。
「WACATE 2010 夏」レポート第3弾です。今回は、2日目のセッションの内容と、ワークショップの成果発表の模様をお伝えします。
■BPPセッション「この半年で学んだ“リスクベーステスト”」
「WACATE 2009 冬」でベストポジションペーパー賞を受賞した、「WACATEの心を持つ」永田 敦さんのセッションです。
近年、ソフトウェア製品は複雑化し、それに伴ってテストケースは増える一方です。しかし、それに反比例するかのように開発期間は短縮され、リソースは減らされているのが現状です。
この矛盾を解消するための手段のひとつとして、永田さんが提案するのがリスクベーステストです。リスクベーステストとは、品質リスクの分析により、テストの優先付けとテストケースの配分を行うテスト手法です。リスクの大きさは、以下の式で表すことができます。
リスク=(障害が起こる頻度)×(障害がもたらす顧客への影響度)
リスクが大きい部分は、それに見合うようにテストのボリュームも大きくして、なるべく早いうちに実施してしまいます。また、残留リスクを管理してステークホルダーに報告します。なぜなら、「これだけリスクが残っている」という説明は、バグの数や信頼度成長曲線よりもわかりやすい目安になるからです。
これまでのリスクベーステストは、テストエンジニアの勘や経験に頼る部分が多かったのですが、永田さんはリスク分析表を用いて、何がリスクになるか、誰がそれを決めるかを定性的に考える手段を提示しました。
永田さんのセッションを聞いて、顧客に対して、リスクの内容やインパクトの大きさを、その根拠と一緒に提示することの大切さや難しさを感じました。これも「見える化」のひとつですね。
■fault-proneモジュール予測の研究動向とテスト戦略
東洋大学の野中 誠さんのセッションです。
昔から言われているテストの世界のお約束のひとつに「欠陥の80%は、全体の20%のモジュールに存在する」というのがあります(いわゆる、パレートの法則ですね)。それならば、欠陥が集中している20%の部分を特定し、そこを狙ってテストをしたいと思うのが当然です。
そこで野中さんから、欠陥が作りこまれそうな(fault-prone)モジュールを予測する方法についての研究動向の説明がありました。
fault-proneモジュール予測については、これまでにもいろいろ研究され、多くの論文が執筆されてきました。その過程で、予測に使われるメトリクスの種類もどんどん増えていきました(詳しい解説はここでは割愛します。興味がある方は論文検索してみてください)。
この説明のあと、野中さんはこのようなことをおっしゃいました。
「どんな議論がなされているかを知る必要はあるけど、論文の内容を鵜呑みにしてはならない。メトリクスにのめり込みすぎてはならない」
ここで野中さんは、経済学者ケインズの言葉を紹介しました。
「正確に誤るよりも、漠然と正しくありたい」
現場のデータには誤差があります。それを手法に当てはめると、ときには「数学的におかしい」結果が出ることもあるでしょう。
このとき手法にこだわりすぎると、「数学的におかしい」というだけで、有益な情報を切り捨ててしまうこともありえます。「正確に誤る」とはそういうことです。そうなっては本末転倒もいいところで、本来やりたいことを見失う恐れがあります。漠然とでも構わないので、役に立ちそうなことを見つけることが大切だと、野中さんは締めくくりました。
1日目のワークショップで、GQM法にこだわるばかりに本来の目的を見失ってしまったわたしにとっては少々耳に痛いお話でした。実はこのあとのワークショップの成果発表でさらに痛い目に遭うのですが、このときのわたしはそんなことを知る由もありませんでした。
■ワークショップ「成果発表」
いよいよワークショップの成果発表です。
最初に、発表資料のテンプレートなどが入ったUSBメモリが各グループに配布されました。発表時間まで、これまでの振り返りを行いつつ、発表資料の作成です。
参加者が資料の作成に取り掛かったとき、細川さんと湯本さんが各グループの机にアヒルの人形を配り始めました。「これは何ですか?」とのわたしの質問に、細川さんが「アヒルの品質部長です」と答えました。細川さんは続けます。
「この品質部長に説明をすることで、資料の内容の矛盾に気がつくはずです」
なるほど。実際に声に出して説明してみて、はじめて気がつくこともありますよね。
わたしとチームメンバーは報告書の改善案と、さらにグループで作業するにあたってうまくいったこと、うまくいかなかったことや今後につなげるための反省点、さらに、各自が今回のWACATEに参加して得た気づきを資料にまとめました。
あとは完成した資料をアヒルの品質部長にレビューしてもらえば……と思ったのですが、残念ながら時間切れとなってしまいました。
実は、WACATE終了後にアヒルの品質部長をプレゼントしてもらいました。今後、何かあったときには、品質部長に相談します(もちろん、人が見ていないところで)。
■チームリーダー、しっかりして!
いよいよ成果発表の時間です。各グループが順番に発表し、野中さん、細川さん、湯本さんに講評をいただくことになりました。
わたしのグループはプロジェクトの進捗状況やリスクの内訳を、グラフや表を使って見える化しました。制限時間内に資料の内容をすべて説明して、ほっとしているわたしに対して、さっそく野中さんから鋭い突っ込みが入りました。
「事実は伝わりました。しかし、そこから本部長に何をしてほしいのかが見えませんね。これだと、“本部長、あとは自分で判断してください” と言っているのと同じですが、そのつもりなんですか」
厳しい指摘を受けたわたしは慌てふためき、思わず後ろにいるメンバーの顔をうかがってしまいました。なんだか情けないチームリーダーですね。メンバーにフォローしてもらいながら、何とか説明を続けましたが、それにしてももう少し落ち着けばよかったと思います。
野中さんからは「何か提案があって、それに対して合理的な説明をするために事実を列挙するのはOKです。ただ事実だけを列挙したのでは、誰に何をしてほしいのかが伝わりません」と指摘されました。
そうですよね……ここでも報告書の改善にこだわるあまり、本部長に提案する、という目的から外れてしまいました。
(余談ですが、わたしがあんまり慌ててしまったため、野中さんは「言いすぎた。そんなつもりじゃなかった」と心配しておられました。こちらこそ、気を遣わせてしまって申し訳なかったです)
すべてのグループの発表後、湯本さんから全体の総評がありました。
「メトリクスだけで何かがわかるわけではない。自分の仮説を証明するために、自分の考えを補完するために客観的なデータとしてメトリクスを使用することが大事」
今回のワークショップを通して、メトリクスから得られるデータを並べただけで報告できたつもりになってしまう、その恐ろしさを実感してしまいました。これから報告書を作成するときには「誰に何をしてほしいのか」を忘れないようにしたいものです。
■クロージングセッション「テストコンサルタントの『見たい』『見せたい』『伝えたい』」
「WACATE 2010 夏」最後を飾るのは、豆蔵の湯本 剛さんのクロージングセッションです。
湯本さんは、テストエンジニアから始まり、テストコンサルタントに転向して現在に至るまでテスト一筋のキャリアを歩んでこられました。そんな湯本さんが「テストについてどう思ってきたか」をご自身の体験をもとに語ってくださりました。
まず、「なぜテストをするのか?」という質問から始まりました。
テストに携わる人にはいろいろな人がいて、それぞれにいろいろな想いがあります。その「想い」を実現するために、テストの目的や手段も数多くあります。
ここで湯本さんは、「究極の目的は“人を幸せにすること”」と語りました。しかし、一口に「幸せ」といっても、いろいろな形があります。どうすれば、その「幸せ」を実現することができるのでしょうか。
湯本さんはテストエンジニアだったころ、「単純にバグが見つかることが楽しい」「人より多くバグを見つけて、優秀であることをアピールしたい」という目的を持って仕事をしていました。しかし、テストリーダーになったころから自分の目的と、組織が求める目的が矛盾するようになってしまいました。そこで湯本さんは会社を辞めてテストコンサルタントに転向しました。テストコンサルタントは、現場を改善することが仕事です。今は「テストのあるべき姿を伝えたい」「テストの価値を上げたい」という目的を持って仕事をしているそうです。
テストの目的と手段は必ずしも1対1の関係であるとは限りません。同時に、目的の向こうにある「想い」も、複雑に絡み合っています。つまり、目的はその先にある「想い」が誰のためにあるかによって変化します。また、自分の立場が変わることで目的が変化することもあります。ただ、どんなに目的が変化しても常に視点を上げてゴールを高めていくこと、目的と手段の両方が伴っていることが大切です。これが湯本さんの、若いテストエンジニアに対して「伝えたい」ことでした。
さらに湯本さんは、「見る」ときには現状を自分の感覚とすり合わせて、数字などを使って具体的なイメージを共有すること、また「見せる」ときには「相手は当然わかるだろう」という思い込みは捨てて、伝えたいことを端的に伝えることが大切であると話してくださいました。
わたしにも、仕事を通して伝えたいこと、コラムを書くことで伝えたいことがたくさんあります。湯本さんは「伝えたいことがないと、伝えることができない」ともおっしゃっていましたが、伝えたいことを上手に伝えるためには、上手に「見る」「見せる」ことも考えなくてはならないと思いました。
第3弾はここまでです。次回はいよいよ最終回。後夜祭の様子と、今回のWACATEで得た気づきについてお話ししたいと思います。