Why Quality Assurance?

この記事はAkerun Advent Calendar 12日目の記事です。

はじめまして。株式会社フォトシンスでQAエンジニアに従事しているyohei_oka - Qiitaと申します。
早速ですが、QAエンジニアという職種をみなさんはご存知でしょうか?
私はQAエンジニアからIT業界をスタートし、これまでに様々なプロダクトのQAに携わってきました。
その中で私が学んだこと、培ったことを元に、私がQAについて考えていることを少しお話したいと思います。

1.QA(Quality Assurance/品質保証)エンジニアの役割とは

一般的にQAエンジニアというと「品質を向上させる役割」というイメージを持たれているかもしれません。
単刀直入にお伝えします。我々QAエンジニアがいても、品質は向上しません。
もちろん間接的には寄与しますが、我々の存在だけでは品質を向上させることはできない、という意味です。
我々ができるのは「品質の可視化」です。品質状況を可視化し、その品質が合格水準に達しているかどうかの判定をするのが、我々の本来の役割です。
では、品質を向上させるのは誰の役割なのでしょうか?

2.品質とは何を指すのか

品質向上について考える前に、そもそも品質とは何を指すのか考えたいと思います。
我々が品質について考える時、実はそこには二種類の品質が存在します。

  1. プロダクトの品質
  2. プロジェクトの品質

一般的には、1のプロダクトの品質に着目されがちですが、実は2のプロジェクトの品質も同じくらい重要です。
プロダクトの品質は、顧客の満足度に直結します。逆に言えば、顧客満足度の最大化をミッションとし、我々はプロダクトの品質を考えます。
これに対し、プロジェクトの品質というのは、開発効率を意味します(広い意味での効率と捉えてください)。開発効率の最大化が、プロジェクト品質を考える上でのミッションです。

エンジニアは誰しも、品質の悪いものを作ろう、とは当然思いません。
しかし、それでも完成したプロダクトの品質が悪かった時、それは、プロジェクトのどこかに何らかの問題があった、ということになります。
逆に言えば、プロジェクト品質の向上なくして、プロダクト品質の向上はありません。

つまり、品質を向上させるのはプロジェクト全体の役割である、ということです。
マネージャーはもちろんのこと、エンジニア含むプロジェクトメンバー全員の意識が品質に向いて、初めて品質は向上していきます。
二つの品質向上にアプローチするための要となるという点で、QAエンジニアは重要な役割を担っていると考えています。

3.QAとは技術ではなく思想である

QAエンジニアにできるのは「品質の可視化」である、というのは前述した通りです。
しかしながら、それだけで良い、とは私も思っておりません。

これからのQAに求められるのは、その一歩先。可視化されたデータを元にプロダクト/プロジェクトの課題を見抜き、それらを解決していく、その活動の先頭に立つことです。
プロダクトに不具合が発生したならば、不具合の原因は何なのか、という直接的な原因はもちろんのこと、そもそもなぜ不具合が発生してしまったのか、という根本的な原因も究明し、可視化させなくてはいけません。可視化したデータを元に、プロジェクトにフィードバックし、双方の品質改善にアプローチしていくのが、これからのQAエンジニアの役割です。

だからこそ私は、QAとは技術ではなく思想であると思っています。
極端な話、QAエンジニアがこれでいいと思ったところまでしか、品質は上がりません。
基準を低く設定してしまえば、それ以上を目指そうとは誰も思わないからです。
逆にQAエンジニアが志を持って高い基準を目指せば、その分だけ品質は上がっていきます。
だからこそ、必要なのは姿勢であり、思想である、と私は考えます。

そんな志を持ったQAエンジニア、これからの時代にいかがでしょうか?


株式会社フォトシンスでは、一緒にプロダクトを成長させる様々なレイヤのエンジニアを募集しています。 hrmos.co

Akerun Proの購入はこちらから akerun.com