WACATE(ワカテ)という勉強会を聞いたことがありますか? WACATEとはWorkshop for Accelerating CApable Testing Engineersの略で、若手テストエンジニアによる若手テストエンジニアのためのワークショップです。
実はこれ、若手を中心にソフトウェアテストに関心があるさまざまな年代の人が全国から集まる1泊2日の合宿形式の勉強会なのです。価格は2日で2万2千円(35歳以下) 。高いと思うか安いと思うかは人それぞれですが、夏と冬の年に2回ずつ、この勉強会が5年間も継続していることを考えると、価値>価格と思っている人が多い証拠ではないでしょうか? WACATEの本当の価値を知るには実際に参加してもらうしかないのですが、参加するかどうか迷っている人のために、WACATEの熱気と面白さを少しでもお伝えできればと思います。
こんにちは、nemorine(ねもりん)といいます。仙台にある某半導体装置メーカに勤務しながら、ソフトウェア開発に関わっています。開発の方法や品質、テストに悩みながらも楽しく仕事をしています。今回は地元の仙台のソフトウェアテスト勉強会がきっかけで知り合った3人の仲間と一緒にWACATEへ参加しました。自分も含め全員が開発者です。今回のWACATEでは参加者の投票により選ばれるBest Position Paper賞(BPP賞)をいただくことができました。この場をお借りしまして2013年6月22日、23日にマホロバ・マインズ三浦において実施されたWACATE2013夏のレポートをお送りします。
BPP賞受賞の模様
熱い夏の始まり ─オープニングセッション
オープニングセッション担当はWACATE実行委員の中野さやかさん。夏らしく和装で登場し、参加者の目を惹き付けました。中野さんからは『WACATEとは何か?』 、『 この2日間で持ちかえるものは何か?』『 積極性が重要』など、WACATEを参加者自身にとってより有意義なものにしていくためのコツをお話してもらいました。
初めての人はWACATEのスタイルにちょっと驚くかもしれませんが、やはり貴重な土日を使い、2万円超という壁を乗り越えてきたエンジニアは違いますね。参加者の皆さんの目はキラキラしていました。
中野さやかさんによるオープニングセッション
初対面でも大丈夫!─ポジションペーパーセッション
オープニングの後は、WACATE実行委員の藤原洋平さんがモデレータでWACATE名物のポジションペーパーセッションがスタート。WACATEでは参加申し込み時に自分が考えていることや今困っていることなどをフリーフォーマットで記述するポジションペーパー(通称ポジペ)を提出します。ポジションペーパーセッションではそのポジペを使い、参加者がグループ内で自己紹介を行うわけです。この仕組みのおかげで初めて会った人でもこの人はどういう問題意識を持って参加しているかを知ることができるのです。しかもこの自己紹介はグループのメンバーを入れ替えて2回実施しますので、合計10人のお話を聞くことができます。
自分の最初のグループに印象的なポジションペーパーを書いた女性エンジニアが居ました。彼女のポジペには「誰にでもできる簡単なお仕事」と言われて、バイトから入ったソフトウェアテストの世界が「誰にでもできる簡単なお仕事ではない!」ということに気づき、そしてその現状を打破するためにWACATEに参加した、という彼女の考えの変化と行動がしっかりと書かれていました。そうなんです!ソフトウェアテストは簡単なお仕事ではないのです!!
そして実はこのポジペ、2日間を通してWACATEを楽しむ超重要なアイテムになります。初参加の人はなくさないように名前を書いておきましょう!
ポジションペーパーセッション
効果的な学習方法を実践しよう!─BPPセッション
「フィードバックループを作ろう」というタイトルで前回のWACATEでBPP賞を取ったしんすく氏がお話してくれました。フィードバックループとは何だろう?と初めから興味津々で聞き入ってしまいました。
一般的な(ソフトウェアの)学習としては、認知する→学ぶ→手を動かす→何かを作ってみる→さらに高度に知る→( 認知する)ようなループで実施しています。これをしんすく氏は自身の内なるループという意味で、『 インナーループ』と名付けています。
しかし、しんすく氏はこれらに加えて『話してみる』 、『 発表してみる』など他人へのアウトプットである『アウターループ』が重要であると説きます。さらに『インナーループ』と『アウターループ』の二つのループを回し続けていくことで、学習が加速していくことを自らの経験を元に説明してくれました。
最後にしんすく氏は、『 このWACATEの2日間でぜひアウターループを実践してください』と参加者に呼びかけ、セッションを締めくくりました。自らの経験に基づいた素晴らしいセッションでした。
ソフトウェアテストの本質を考える ─テストクエストぼうけんのしょ1
懐かしのドラゴンクエストの音楽と共に始まった「テストクエストぼうけんのしょ1」のセッション。驚いたのは、プレゼンターのWACATE実行委員の上條飛鳥さんが、一切パワーポイントを見ないでプレゼンしていたことです。上條さんのWACATEにかける熱い思いを感じました。
このセッションでは王様の悩みに答えるというスタイルで、以下の3つの質問をグループ内で意見を出し合いました。
テストなんて本当は必要ないのではないですか?
あなたの実施しているテストは理想のテストですか?
本当にテストをやるだけでいいのでしょうか?
自分たちの班では時間的な余裕が無かったので、1問目の問いに絞って議論を行いました。結論としては、『 開発者、経営者、ユーザが不幸になるときはテストが必要であるが、場合によっては必ずしもテストが必要ではない』ということになりました。
数学のように唯一の答えがあるものではないのですが、議論することでグループのメンバーのいろいろな考えを知ることができます。そこがWACATEの魅力の1つでもあると思っています。
最後は初参加者がグループを代表してグループの意見を発表しました。『 アウターループ』を早速実践した初参加者は新たな"勇者"としての一歩を踏み出していました。
メンバーの知恵を結集して考える ─みんなのテスト分析
グループで絶品の海鮮丼のランチを食べてエネルギーを補充した後は、いよいよ今回のWACATEのメインであるみんなのテスト分析のセッションになります。最初にモデレータのWACATE実行委員の上田卓由さんからワークに関しての簡単な説明がありました。
今回のテスト分析の対象はWeb経由で参加する勉強カイザーというサービスの仕様書。仕様書を読んで、グループで検討して、まとめるまで約3時間。実際にやってみるとわかりますが、全然時間が足りません。しかし実際の現場でもこういうことはありますよね。仕事は常に有限の時間ですので、限られた時間に納得のいく結論を出す練習をすることができます。初参加者はかなり戸惑うと思いますが、各班に巧妙に配置されたベテランが初参加者をしっかりサポートしてくれます。
またグループ内のディスカッションの時間には、2日目のクロージングセッションを担当するIBMの細川氏も駆けつけ、各班にアドバイスを行っていました。さまざまなシンポジウムなどで登壇している有名な方とフランクに接する機会があるというのはWACATEならではのことだと思います。
自分たちのグループは、タイムマネジメントや方針など悪戦苦闘しながらも、上手く分担することでメンバーみんなが納得できるテスト分析ができました。とはいえ、『 すでにサービスが稼動する直前という設定の中で、どこまで改善提案するべきか』など、まだ自分たちの中でもモヤモヤと気になっているところもありました。
グループディスカッション中
お酒がつなぐ人の輪 ─ディナーセッション
お風呂でさっぱりした後は、お楽しみのディナーセッションです。地場の野菜や三浦海岸の美味しい魚などを酒の肴に初日のワークやテスト話に花が咲きます。ディナーセッションを楽しむコツはポジペを持っての挨拶回りです。お酒を注ぎながら、ポジペに書かれていることなど沢山の人とお話しましょう。そして自分の悩み、気になっていることも話しながら、ヒントをくれそうな人を探しておきましょう。自分もワークのモヤモヤしたところを友人に相談することで、自分の考えをまとめることができました。
実行委員からの出し物として恒例のオールナイト日本的なトークや本の抽選会などのイベントも行われます。自分も抽選会で『テストツールまるわかりガイド』が当たり、ホクホクしながら次の夜の分科会へ向かいました。
ディナーセッション
興味の赴くままに─夜の分科会
ディナーセッションのあとは、ホテルのVIPルームを借りての、『 夜の分科会』 。こちらもWACATEの名物と言っても過言ではありません。
今回は「テスト初心者いらっしゃい」「 バグ票ワーストプラクティス」「 軽量品質保証」「 どのようにして生きるか(ライフワークバランスをどうするか) 」の4つの分科会が立ち上がりました。自分が参加したのは今回のBPPセッションを担当したしんすく氏の「軽量品質」セッション。夜が更けていくにつれ、さらに議論が白熱していきます。ゲストの細川氏も加わり、さらに議論はヒートアップ! 軽量品質の究極とも言える『2時間しか時間が無いときに何をテストするか』という議題については、『 ユーザがよく使うシナリオ(=ハッピーパス)を通しましょう!』という結論になりました。2時間というのは極端な例かもしれませんが、こういう話ができるのも夜の分科会ならでは、だと思っています。
ディナーセッションから分科会は自分の悩みをフランクに相談するチャンスです。WACATEにはいろいろなスキル、経験を持った人が参加していますので恥ずかしがらずに積極的に相談してみましょう。
朝一の成果報告 ─テスト分析発表
昨日の『みんなのテスト分析』の成果報告会からWACATEの2日目が始まりました。モデレータはWACATE実行委員の藤原洋平さん。セッション開始前に集合し、発表に向けて情報を整理しているグループもちらほら見られました。発表はテスト対象の分析だけに留まらず、グループによっては、テスト対象であるシステムのビジネス的価値、自分たちが担当するテストの価値や、この報告の価値を考えるというレベルの高い発表になりました。
発表後にはゲストであるIBMの細川氏、初期のWACATEを支えた山本氏からコメントをいただきました。お二人からの切れ味鋭い質問を受け、回答にまごついてしまったグループや、自分たちの考えをしっかりと答えることができたグループなどさまざまでしたが、自分たちが本気で取り組んだ成果物に対してのフィードバックは本当にためになるものだと思います。このフィードバックは単純に話を聞くだけのセミナーでは絶対に得られないものだと確信しています。
グループ発表
まずは基本を押さえる ─分けてみよう 悩んでみよう 同値分割/境界値分析(前半)
WACATE実行委員の近江久美子さんによるセッション。テスト技法としてはあまりに有名な同値分割・境界値分析のワークです。ソフトウェア開発に関わる人であれば、ほとんどの人が聞いたことがあると思いますが、実は奥の深い技法だと思っています。同値分割・境界値分析の基本的な説明の後、配られた問題を解いていきます。
簡単そうに見えて、仕様のモレがあり、考えさせられる問題でした。やはり"テストをする"という視点で見ていくと、仕様のモレやどこまで保証するのかなど見えてくるものが多いと改めて感じました。
より実務に近い題材で実践する ─分けてみよう 悩んでみよう 同値分割/境界値分析(後編)
マホロバ名物のカレーバイキングでお腹を満たした後は、同値分割・境界値分析(後編)のセッション。初日で使用した題材である勉強カイザーの仕様に対して、同値分割できる箇所を探していきます。通常の参考書では最初から同値分割がしやすい問題が提示されていますが、本ワークでは、より実践的に仕様書から探していきました。
通常では見つけにくい図で書かれている仕様の同値分割や、見つけた同値は有効同値なのか、無効同値なのかなど、グループで活発に行われたディスカッションを通じ、ソフトウェアテスト初心者だけではなく、業務で同値分割・境界値分析をバリバリ使っている人にも再考する良い機会になったと思います。
さらに深く振り返る… ─そのテスト、再考
WACATE実行委員の中野さやかさんの『そのテスト、再考』と題したセッションでは、2日間に渡るワークの振り返りを行いました。自分たちのグループの良かったことや、やり残したこと、他のグループの発表からの気付きなどをグループ毎に話し合いました。自分たちのグループでははじめに『テストクエスト ぼうけんのしょ1』でやり残した"理想のテスト"について考えてみました。
理想の定義はいろいろあると思いますが、自分たちのイメージする"理想のテスト"というのは無限のリソースがあった場合にのみ成立するものであり、現実世界では限られたリソースの中でどこに重点を置いて、品質を保証していくかということをしっかり考えていく必要があるという結論になりました。続いて『みんなのテスト分析』についても自分たちのグループの良いところを考えていきました。
他のグループの振り返りを見たところ、やり方もさまざまで、フリーディスカッションのところもあれば、マインドマップに書き出していったところ、Keep/Problem/Try(KPT)を用いたところなどグループごとにカラーが出ていました。近ごろはソフトウェア開発の現場でも振り返りを取り入れているところが多いと思いますが、ワークショップでもこういう振り返りの効果を感じることができると、自分たちの現場で実施する良いきっかけになったのではないでしょうか?
振り返りのまっただ中
技法よりも大事なものがある! ─ 欠陥とは何か?欠陥研究の発想、洞察力とその思考
2日間の熱いWACATEを締めくくるのはIBM細川宣啓氏の『欠陥とは何か?欠陥研究の発想、洞察力とその思考』と題したクロージングセッション。研究の内容ももちろんのことプレゼン技術も素晴らしい細川氏ですが、今回は一方向のプレゼンではなく、授業風のスタイルで参加者をどんどん巻き込みながら、欠陥についてのお話をしていただきました。
もちろん技法も大事だが、実際はその技法を用いてどのような欠陥を検出するのかを最初に考えなければいけない。そのためには、欠陥を定義し、各組織で出た欠陥を保存しなければならないということを自身の経験を元に語っていただきました。また欠陥を抽象化し、ビジュアル的に保存できるように、欠陥のモデリング方法を定めていました。短時間ですが欠陥モデリングの演習を実施することで、参加者全員がその意味と有効性を感じることができたと思います。自分の会社でも欠陥は個別事象に特化し保存しているため、同じような欠陥がでてしまうことがあります。抽象化することで社内のみならず社外へと展開できる欠陥モデリングという手法にハッとさせられました。
最後に、『 銀の弾丸(技法)を撃つ前に、まず倒すべき対象である狼男(欠陥)を知る必要がある』という言葉でセッションを締めていただきました。この二日間、テスト分析、同値分析、境界値分析など技法的なワークを実施した参加者にとっては、特に刺激に満ちたセッションになったと思います。
三賞の発表 ─クロージングセッション
最後にクロージングセッションで『ポジションペーパー三賞』が発表されました。『 ポジションペーパー三賞』はクロージングセッションの講師が独断と偏見で選ぶ『Biased Favorite Paper賞』 、WACATE実行委員が"もっとも加速している"と思われるポジションペーパーを選ぶ『Most Accelerating Paper賞』 、そして参加者全員が一票を投じて選ぶ『Best Position Paper賞』から構成されています。自分は幸運にも皆さんからのたくさんの投票によって『Best Position Paper賞』をいただくことができました。副賞として本記事を書く権利(義務?)もいただきました。自分のポジションペーパーでは、仙台で立ち上げたソフトウェアテスト勉強会のこと、そしてJaSST東北を初開催するまでの流れを絵に描いて表現してみました。JaSST東北という一大イベントを立ち上げるまでの経過と共にわかりやすい絵が評価されたのだと思っています。投票していただいた皆さん、本当にありがとうございました。
nemorineのポジションペーパー(色つき)は以下で公開しています。
WACATEの魅力
自分が考えるWACATEの魅力、それはずばり『人』です!!
WACATEには開発者、テスター、QA、マネージャなどさまざまな役割の人が全国から集まってきます。特にWACATEは人のつながりを促進する仕組みやベテランから若手へ知識を移転する仕組みが随所に溢れています。今回は主に『人』や『人とのつながり』に焦点を当てながら、WACATEの場の感覚が伝わるように自分の目線でレポートしていきました。
もし参加するのに迷っているのであれば、ぜひ勇気を持って一歩を踏み出してください。決して安い金額とは言えませんが、同じ悩みを共有し、新しいことに挑戦している人とつながることは、きっと皆さんにとってプライスレスな最高の体験になるはずです。
次回のWACATEではBPPセッションを担当します。もし、この記事を見て参加しようと思った方はぜひ声を掛けてください。
WACATE2013冬で皆さんにお会いできることを楽しみにしています。