mhlyc -practice

ソフトウェアテストと品質保証がメインテーマです。

QAと開発の関係を良くするパターン・悪くするパターン

これはソフトウェアテスト Advent Calendar 2017 - Qiitaの8日目の記事です。

 

アドベントカレンダーの昨日の記事は、テストを書くときに心がけていること - Qiitaでした。

テストコードを書くときのコツについて分かりやすくまとめられています。ぜひ読んでみてください!

 

さて、わたしはQAと開発の関係を良くするパターン・悪くするパターンと題して書いていきます。

QAと開発の関係

QAと開発は、一般に(少なくとも私の経験上は)密接な関わりがあります。例えば私の周りでは、以下のような関わりがあります。

  • 開発部門が作ったプロダクトをQAがテストする
  • 開発部門の開発プロセスについてQAがアドバイスしたり、一緒にプロセスの改善を考える
  • 開発部門の品質評価、不具合分析についてQAがアドバイス、サポートする

 しかし、ここで重要になってくるのがQAと開発の関係性です。

QAと開発の関係が悪いとどうなるか

QAと開発の関係が悪い、いわゆる仲が悪い状態では以下のような問題につながるおそれがあります。

  • 開発「どうせQAの指摘は役に立たない。揚げ足取りのような指摘しかしない」→本来対策すべきQAの指摘に対しても対応しなくなる→品質悪化
  • QA「開発は俺たちの言うことなんか聞いてくれない。だから何を言っても無駄だ」→本来ならばQAが気づける開発プロセス上の問題を指摘しない→品質悪化
  • 開発「QAはバカで俺たちの方がモノをよく知っている。QAに聞くことなんかない」→QAが持っている不具合分析や品質評価に関するノウハウを活用できない→顧客・ステークホルダに対する説明責任の欠如

QAと開発の関係が良くなるに越したことはないでしょう。では、どうしたらQAと開発の関係が良くなる/悪くなるのでしょうか?この記事では私の体験から、いくつかのパターンを紹介します。

QAと開発の関係を良くするパターン

  • PMとQAマネージャの仲が良い(話す機会が多い)

PMとQAマネージャの仲が良いのは非常に重要です。仲が良いというのは、別に一緒に遊びに行くとかいう必要はないですが、気軽に立ち話ができる関係ということです。

PM、QAマネージャがお互いに、ちょっとした出来事や心配事をシェアできるような関係性になっていることが理想です。そうすると、問題が開発部門・QAのどちらかに隠されることがなく、すぐにプロジェクト全体で共有され対策が打てるようになります。

  • PMや開発リーダーがQA担当者を認識して声をかけてくれる

これも重要です。QAの担当者としては結構目の前の作業に追われてコミュニケーションもろくに取れないようなことがありますが、PMや開発リーダーが気にかけてくれたり声をかけてくれたりすると非常にモチベーションアップにつながります。

  • 単純にQAと開発者の物理的距離が近い

これも重要です。近いと立ち話もしようかなという気になりますが、遠いとわざわざ行くのはちょっと・・・となりがちです。

繰り返しますが、立ち話のできる関係は非常に重要です。立ち話には上がるのに障害や課題の一覧には載ってこない話、なんてのもあったりします。

  • PMや開発リーダーがQAが入る価値を認識してくれている

PMや開発リーダーが「QAは〜をしてくれるからありがたいよね」と、QAの入る価値を認識してくれていることはとても大切です。これがあると、プロジェクト全体を良くしていくためにQAの関わりをどうしようか、といった議論が非常に進めやすくなります。

QAと開発の関係を悪くするパターン

逆に関係を悪くするパターンを紹介します。上に書いた内容の裏返しです。

  • PMとQAマネージャの仲が悪い(話す機会が少ない)

PMとQAマネージャが「本当に用事がある時しか会話しない」という状態です。これだと、ちょっとした問題ではまずプロジェクト全体の問題としてあがってこないので、「は!?聞いてないんだけど!」「なんでもっと早く言わないの!?」みたいなことがしょっちゅう起きてさらに関係が悪化します。そのうち、本当に用件があって話す時でさえも認識が噛み合わなくなって話が進まなくなります。

  • PMや開発リーダーがQA担当者のことを認識していない

PMや開発リーダーがQA担当者のことを「誰?」と言って認識すらしていない状態です。名前すら認識されていないのは、どう考えてもコミュニケーション量が不足しています。名前も知らないような人に何か言われたとしても、事務的なことはやってくれるかもしれませんが、ちょっと面倒なことだったら「まぁやらなくてもいいか」と放置されてしまうかもしれません。QAの担当者として名前・顔を売っていくのはかなり重要です。

  • QAと開発者の距離が物理的に遠い、拠点が離れている

やはり遠いと立ち話をしたりするのも難しくなります。日常の会話にこそ、品質向上のヒントやテストを組み立てる際のヒントがあったりしますから、なるべく理由をつけて会いに行くのがおすすめです。QAが開発チームの定例会議に出たりするのも良いでしょう。会って話す機会がないと、いわば必要なテストベースが欠けている状況になってしまい、テスト設計の品質も悪くなりがちです。

  • PMや開発リーダーがQAの入る価値を認識していない

PMや開発リーダーが「QAは何やら忙しそうにしているけど、何をしているのかわからない」「なにかしているのは知っているけど特に助かってはいない」というように、QAの入ることによる価値を認識していない状態です。QAがどのような取り組みを行なっているのか、どのような成果を出しているのか見えるようにしたり説明したりすることは非常に重要です。そのような努力をせずに「察してくれ」と言っても、まず無理です。

また、現状の取り組みでは価値を提供できていない場合もあります。そういう場合は、現状でどういう課題があるのか? どのようなニーズがあるのか?など開発部門へのヒアリングが必須です。開発部門の現状・ニーズとQAのスキルセット・体制を勘案して、QA活動の改善を提案していくことが重要です。

QAと開発は本当に仲良くなるのがいいのか?

この記事の最初の方で、「QAと開発の関係が良くなるに越したことはないでしょう」と書きました。申し訳ないですが、これは正確な表現ではありません。

QAと開発の仲が良すぎると、QAが第三者的な目線で入れなくなり、客観性独立性が欠けてしまいます。そうすると、QAが開発に迎合してしまい指摘すべきものを黙認してしまうこともあります。

あくまで関係性の良好さはQAと開発が各々の責務を果たしていくなかで発揮されるべきものです。QAと開発が同化してしまっては役割を分ける意味がありません。

JaSST九州でお悩み相談してみた

僕は特に開発とQAの仲が悪いというのを以前悩んでいて、それをJaSST'17 Kyushuの企画イベント「エイトソリューション」の中で当日の参加者・登壇者の方に相談しました。上に書いた話と重なる部分もありますが、参考までにその時にいただいたアドバイスを書いておきます。

  • 普段話す人だけでなく、開発者全員と話をする。状況を多面的に把握する
  • バグ報告のコメントがキツくなり過ぎないように気をつける
  • QAがやっていることを見える化する
  • 飲み会で解決する。人として認め合うことで仕事もうまくいくようにする
  • プロジェクトの悩みを聞いて、それを解決する
  • 相手の立場になって考える。(相手が嫌がることをしていたのに気づいた時は改善する)
  • お互いの仕事内容を理解する
  • 組織的な働きができるなら、ローテーションを行なってみる
  • QAマネージャとPMでプロジェクトのあるべき姿について議論する

全てが実践できるとは限りませんが、ヒントも多く得られたのでとても良い機会でした。

良好な関係構築のために明日からできること

良好な関係構築のためには、要するにどうしていくのがいいのさ?ということですが、次の一言に尽きます。

QAと開発がよく話すこと

懇親会も重要です。思わぬところで共通点が見つかり、仲良くなることもあります。直接の業務改善にはつながらないように思えるかもしれませんが、やはり互いの人となりを知ってこそ仕事がうまくいく面もあると思います。

とにかく、足を使って会いに行き、直接話すこと。電話やメールも良いですが、やはり直接会って話すのが一番良いです。拠点間の距離があるなど対面でのコミュニケーションが難しい場合は、定期的に会って話す機会を設けるなど、対策や代替案を考えると良いでしょう。

QAと開発の関係を良好にして、より良いプロジェクトでより良い仕事をしていきましょう!