Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

ポーランドで行われた海外カンファレンス「Agile & Automation Days 2019」に登壇しました!

メルカリで QA Automation Engineer をしている 根本 征 です。

先日 10/28~29 にポーランド・グダニスクで行われた海外カンファレンス「Agile & Automation Days 2019」にスピーカーとして登壇しました。

今回はその際の登壇内容や、参加した感想など紹介したいと思います。

Agile & Automation Days 2019 について

Agile & Automation Days は 2016年から毎年ポーランドで行われている主にテストエンジニア・テスト自動化エンジニア・アジャイルコーチ向けのカンファレンスです。

今年はグダニスクにある第二次世界大戦ミュージアム(The National WWⅡ Museum)で行われました。

そして、今年のカンファレンスのテーマは「Delivery at Speed (, while not jeopardizing the quality)」でした。


f:id:tadashi-nemoto0713:20191104165330j:plain:w600
Delivery at Speed


近年ソフトウェア開発では、マーケットに提供するスピードが重要視されるようになってきました。

その中で品質を担保しながらソフトウェアのデリバリースピードを高めていくというテーマで、ソフトウェアテスト・テスト自動化だけにとどまらず、DevOps・A/Bテスト・セキュリティ(DevSecOps)など幅広い分野の発表がありました。

登壇内容について

去年私が書いた下記のブログ記事を元に、Azure・Docker・Androidエミュレーターを活用したテスト環境について紹介しました。

tech.mercari.com


登壇の際のスライド・デモの際に利用したサンプルコードを公開しているので、興味がある方は参考にしていただければと思います。


GitHub - tadashi0713/webdriverio-appium-on-docker-android


はじめての海外カンファレンスでの登壇はかなり不安でしたが、参加者アンケートでも反応が良く、登壇後何人かから質問もいただきました。


今回の開催地の東欧地域だと、日本などと比較するとモバイルアプリの開発・テスト、とりわけモバイルアプリのテスト自動化はこれからという印象でした。

参加者の多くがこれから取り組みたい・学びたいという方だったので、今回の自分の登壇内容が何かしら役に立ってくれるとうれしいと思います。

他のセッションを聞いて 〜品質の「特性」と「責任」の変化〜

今回のカンファレンスでは様々な分野のセッションがありましたが、その中で私はより速いソフトウェアのデリバリーを実現するためには 品質の「特性」と「責任」の変化が必要だ ということを感じました。

以前は Quality Triangle(Cost, Scope, Time) などによって、品質とスピードはトレードオフのように考えられることもありました。

しかし Anne-Marie Charrett 氏の Keynote では、Speed to market、つまりマーケットにいかに速くリリースできるかも品質の特性として重要であり、 スピードと品質は相反するものではない と主張していました。


f:id:tadashi-nemoto0713:20191104182204j:plain:w600
New quality attributes: Speed to market

また、現在のソフトウェアは1回リリースしたら終わりというものはほとんどなく、何回もリリースするものになっています。

そのため、バグ・障害が発生した際のソフトウェアのRecoverability(回復性)、そしてObservability(観測容易性)も特性として重要になってくると主張していました。

上記のように品質の特性が変わってくる中で、テストエンジニアやテスト自動化エンジニアは自分の領域を広げたり、他の分野のエンジニアとのコラボレーションが必要になってくると考えました。



また、品質の特性も変化する中で「誰が責任を持つか」というのも変化してきています。

これまでは「QAが品質の砦」という意識がある組織も少なくなかったと思いますが、よりソフトウェア開発のスピードを上げるためには チームで品質に責任を持っていく ことが重要だとAnne-Marie Charrett 氏は主張していました。


f:id:tadashi-nemoto0713:20191104173922j:plain:w600
Quality is a team responsibility


具体的にチームで品質に責任を持っていく事例として、Ali Hill 氏によるセッション「Coaching your team to test」がありました。

このセッションでは、彼がQAエンジニアとして入ったプロジェクトでどのようにマニュアルテスト・自動テストをチーム内に布教していったかについて紹介されていました。

チーム内でマニュアルテスト・自動テストを行う文化が広がっていくことによって、もちろん単純に自分が持っているタスクを減らすことができるなどのメリットはあります。

しかし、この活動を行うことによる最大のメリットは「Gained shared understanding(共通認識を持つ)」ことにあると主張していました。

実際にQA・エンジニア間で共通認識が増えることによって、フィードバックの質・スピードが改善されたり、プロセス改善のためのコミュニケーションが増えたといいます。

これが「チームで品質に責任を持つことによって、ソフトウェア開発のスピードを上げることができる」なのだと私は考えました。


f:id:tadashi-nemoto0713:20191104184410j:plain:w600
Coaching your team to test

登壇しての感想、おわりに

今回海外カンファレンスにはじめて登壇して、3つほど感じたことがあるので最後に述べたいと思います。

まず、登壇した方が参加者とコミュニケーションがとりやすい ということです。

今回のカンファレンスでは日本人は私だけだったのでかなり心配しましたが、特に登壇者同士はとても仲良くなれました。

また、カンファレンス内のセッションだけではなく、ネットワーキングの中で得られる学びもとても多いと感じました。

登壇者の何名かは Agile Testing Days や EuroSTAR などのソフトウェアテストカンファレンスでも登壇しているので、またどこかで会えればいいなと考えています。


f:id:tadashi-nemoto0713:20191104174736j:plain:w600


次に まだ海外の中で日本のプレゼンスが低い ということです。

登壇者・参加者と話す中で、「日本でのカンファレンスを知らない、日本人登壇者を知らない」というのを何度か聞きました。

最近だと SeleniumConf Tokyo など、日本で国際カンファレンスが行われる機会も出てきました。

しかし、依然として日本人の登壇者・日本での国際カンファレンス開催は少ない現状だと思います。

今後はより海外カンファレンスに登壇する機会を増やしながら、コミュニティ活動貢献なども行っていきたいと考えました。


また、少し違う分野のカンファレンスで登壇・参加する というのも今後やっていきたいなと考えました。

今回のカンファレンスではセキュリティエンジニアの登壇者もいました。

彼が今回のカンファレンスに登壇しようとした理由を聞いたところ「セキュリティエンジニア向けのカンファレンスではできない、普段セキュリティを専門にしていない人に気付きを与えたい」と言っていました。

たしかに、自分が仕事で専門にしている分野だと、自ずとその分野の前提や動向についてある程度知るようになります。

普段その分野を専門にしていない・しかしながら関係している人たちに向けて発信するのも、新たな気付き・学びを得てもらうという観点において良いのではないかと考えました(内容の選定はとても難しいと思いますが)。


最後に今回チャレンジをサポートしてくれた社員の方々やカンファレンス運営の方々に感謝しつつ、別の海外カンファレンスにも登壇できるよう努力していきたいと思います。