BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 成長組織におけるQAチーム構築から学んだこと

成長組織におけるQAチーム構築から学んだこと

原文(投稿日:2019/05/30)へのリンク

テストチームを改革することによって、チーム全体の緊密化、学習の短期間化、コラボレーション向上を達成することができると、InfiumのQAチームリーダのNeven Matas氏は主張する。氏はTestCon Moscow 2019で講演し、成長組織におけるQAチーム構築から自身が学んだ教訓を公開した。

Infinumが対処しなければならなかった課題のひとつは、増加するプロジェクトの流入に対処することだった。それらのプロジェクトは、すべてが独自の要件を持っていた。チームの規模、期間、テクノロジ、アーキテクチャの違いは、一般的に、新たなプロジェクトをQAチームが迎え入れ、メンタリングを試みる場合において、プロジェクト毎に異なる角度からのアプローチが必要となることを意味する。

ソフトウェアエージェンシである同社では、各プロジェクトのクライアント要件も大きく異なる傾向があった。探索的テストが時々必要なだけというプロジェクトもあれば、徹底的なソフトウェアテスト・エクスペリエンスに投資したいというものもある、とMatas氏は説明する。例えば、あるプロジェクトでは新機能を簡単にテストすればよいが、別のプロジェクトでは広範なテスト文書の保守やテストケースの自動化など、すべてのレベルでプロジェクトに参加しなければならない。"共通的な解決策があるとは思えませんでした"、とMatas氏は述べている。

Infinumにおいて全プロジェクトに共通することのひとつは、テストチームを改革する(shift to the left)ことにより、優れたQAを実施する上でキーとなる継続的な参加を重視しつつ、すべてのプロジェクト関連の問題にテスタ(初級者または上級者)が関わりを持つ、という観点である。

イテレーションの終了時に、コンパイルされたコードを、その背景にある思考プロセスを理解しない人たちに配布するだけでは、よい仕事はできない、とMatas氏は主張する。"1行のコードも書いていない時点でも、バグを回避することは可能だと確信しています"、と氏は言う。作業の早い段階から参加することにより、チームの緊密化、学習の迅速化、コラボレーションの促進が可能になる、というのが氏らの考えなのだ。

Matas氏はまた、同社の急速な拡大に伴う開発者の増加に追随するため、最初はテスタの採用とメンタリングにより多くの努力を払うことから始めた、と述べている。

さらに氏は、よいQAチームの構築に成功するためのビジョンの構成要素として、次の4つの重要領域を公開した。

コンテキスト — リスクを検証し、主要な機能を認識し、最高のテストROIを引き出すためのオーダーメイドのテスト戦略を開発することにより、各ソフトウェアプロジェクトに異なるアプローチを適用する。

多様性 — さまざまなバックグラウンドを持つ人たちを採用することにより、チームの不均一性を向上し、価値あるドメイン知識を獲得し、多方面へのチームの成長を促進する。

知識 — チームメンバのスキルの開発には一貫して取り組むが、技術的スキルと人間的スキルが同じように重要であるという事実認識を忘れてはならない。

コラボレーション — チームメンバ間の積極的かつ強力なコラボレーションなくして、ソフトウェアプロジェクトの長期的な成功が得られないことは自明である。社員に対して、他の人々と働くこと、改善を推進すること、顧客と会話すること、絶えず挑戦をすることの権利を与える必要がある。それがうまくいけば、"これは私の仕事ではありません"という戦慄すべき言葉を耳にすることはないはずだ。

TestCon Moscow 2019での講演を終えた Neven Matas氏に話を聞いた。

InfoQ: 講演の中で、品質における関心の対象が時間の経過とともに変化した、という話がありました。これについて詳しく説明して頂けますか?

Neven Matas: 当初はプロジェクト毎に、チーム間に分散されたテストや品質ワークロードを処理するような、専門のテスタはいなかったのですが、複雑さが増すにつれて、プロジェクト毎に専任の優秀な人材を配置することの具体的なメリットが分かってきました。品質は常にチームの努力の成果ですが、このような専任化はQAチームに、プロジェクトをより完璧なものにするための新たな方法を見つけるチャンスを与えてくれたのです。テストアプリやソフトウェアテスタについては、誰も知りません。テスタはエンドユーザにしか知られないレベルで、日々の作業を行っているからです。それだけではありません。ボトルネックを特定して、最終製品だけでなく、ソフトウェア開発プロセス全体で問題を解決する方法を見出すことができれば、そのような"大局的な見地"が、最終的には"大局的な影響力"になり得るのです。

InfoQ: 改善を継続する上で、チームをどのようにサポートしていますか?

Matas: 私たちのプロセスで実行しているものの中には、継続的に自己改善する上で有効なことがいくつかあります。

  • ワークショップ —  QAチームは毎週2時間のミーティングを開催しています。チームとして集まって、理論的または実用的なトピックに関する知識を共有するのです。ワークショップの内容は、"より断定的になる方法"から、"単体テストでのアサーションの書き方"までさまざまです。
  • 一対一のミーティング — 私はチームリーダとして、毎週、チームメンバと席を共にして、各人が自身のプロジェクトで抱えている問題と、それを短期間で解決する方法について話し合っています。彼らがうまくできたことについても議論して、後にその知識をチームに浸透させることができるようにします。
  • QAバディ — 早い段階でのフィードバックが必要であるいう認識から、2~3週間ごとにペアの相手を変更しています。このペアでは、経験を共有し、お互いのテストケースやアプローチをチェックし、テスタの疲労を最小限にするためにいくつかのペアテストを実施したりします。
  • 教育予算 — 各チームメンバは1年分の教育予算を受け取って、ワークショップやオンラインチュートリアル、ソフトウェア、カンファレンス、書籍などに使用することができます。また、QAとソフトウェア開発に関する書籍の小さなライブラリを用意して、誰でも使えるようにしています。
  • プロジェクトの移動 — 重要なのは"テスタの疲労"、すなわち、テスタとして、プロジェクトに過度に精通ししたがために、"木を見て森を見ず"という状態に陥ることです。望ましい救済策は、新しい視点を得てテスト感覚を取り戻すために、しばらくの間プロジェクトを切り替えることです。

この記事に星をつける

おすすめ度
スタイル

BT