ソフトウェア品質シンポジウム2015に参加した

さる9月17日と18日、ソフトウェア品質シンポジウム2015の本会議に参加した。自分のためにブログに気づいたことを整理してみようと思う。

なぜ参加しようと思ったのか?

  • ソフトウェアテストについての専門知識がないのに、ソフトウェアテストをやっている部署にうっかり入ってしまい、この分野について少しでも知識を得たいと思った。
  • 仕事を通じて自分が成長するための目標を決める手助けになると思った。
  • 上司に業務として参加するように命じられた。

参加によって得たこと

自分が興味ある!と思う分野を知った

「はじめての分野でだいたいわからないのが当たり前、せっかくだからいろいろ聞いてどんなものに心惹かれるか調べよう」という意気込みで、いくつものセッションを聴講した。

聴講したセッションの中で最も興味が湧いたのは、「テスト自動化」のセッションだった。自動化は部署が目指すゴールを実現するための重要な手段である。

この中で興味を持ったのひとつが、デンソー榎本氏による記号実行を用いたテストデータ自動生成の試行評価であった。

これは、コードカバレッジ要求を満足するテストケースを自動生成したい中で、それまでの方法では困難だった一部のテストケースの生成を、新技術を導入して可能にしたという発表であった。この新技術は一般に浸透しておらず、アカデミックな研究分野で用いられるレベルのツールが存在するだけだったということだが、それを実際に利用し、役に立つ結果を得た点が興味深いと感じた。

明日仕事で使えそう!という情報を得た

また、上記セッションの中で、.reviewrc 森田氏によるテスト自動化パターン言語の構築とその効果の発表を聞いた。

この発表は、テスト自動化に関する暗黙知パターンランゲージとしてまとめたという発表であった。実際のパターンランゲージは森田氏によってGitHubで公開されている。

今のプロジェクトでは、チームとしてテスト自動化の業務を進めている。このパターンランゲージが、チームの現在の状況と進むべき目標を説明する簡易な言葉とその解説を提供してくれており、チームメンバーとの間のコミュニケーションで大いに活用できるのではと期待した。

パターンランゲージの重要性

パターンランゲージという言葉を初めて聞いたのは、森田氏の発表とは別の、1日目にあったSIG(「アジャイル開発とQAについて話し合おう」)であった。同時に同様の概念はそれまで何度も目にしたことを思い出した(GoFデザインパターンAWSのCloud Design Patternなど)。

SIGでは、Fearless Journey (という、チームが目標達成の障害を克服しながらゴールを目指すことを学ぶゲーム)をカスタマイズしたゲームに参加した。Fearless Journeyにある「戦略カード」は、まさに障害を克服するためのパターンランゲージなのだと知った(SIG中のカスタマイズされたバージョンでは、戦略カードの内容は参加者のメンバーが各自で考えたものだった)。

パターンランゲージは、自分やチームが成長する上でとても有用なツールであると感じた。これから仕事で活用していきたい。

中期的な目標としての発表の機会

ソフトウェア品質シンポジウムは、仕事上でなにか問題を解いたときに、それに対する外部のフィードバックを得るいい機会だよ、と上司にアドバイス頂いた。

なるほど確かに、自分の仕事が外から見てどう評価されるのか、を知るのはとても良い機会だし、外から見てちゃんと評価される仕事をしたい。

最近中期的な目標をどうしようか迷っていたけれど、来年のソフトウェア品質シンポジウムで発表することを目標にして、そのためにちゃんと結果の出る仕事をしよう!と心に決めた。

カンファレンスで持ち帰るものを増やす方法

もう一つ上司にアドバイス頂いたことが、単に発表を聞くだけじゃなくて、懇親会などで発表者とちゃんと話をしたほうがいいよ、ということだった。そうすることで、単に発表の話を聞くだけじゃなくて、その発表の裏にある価値ある情報を持ち帰れるからだ。

これまで何度かカンファレンスに出席したことはあるが、あまり発表者に積極的に話しかけに行くことはなかった。今回も参加者と積極的に話ができたわけではなかったけれど、次回このような機会があった際には必ずそうしよう。

最後に

ソフトウェア品質シンポジウムに参加することでたくさん得るものがあった。その中で自分にとって一番の収穫だったのは、来年のシンポジウムで発表する、という中期的な目標ができたことだった。

業務を止めてまでこのシンポジウムの参加を許していただいた上司とチームメンバーに感謝したい。