
最近、品質に関するお仕事をすることが多く、特にアジャイルな開発でどうやって品質を作りこんでいくのか? いろいろ妄想しているところです。そんな中、ふと思ったのが「QAなんて人は存在しないんだなぁ」ということ。
QAとは何か
QAとは「品質保証(Quality assurance)」を意味しています。ちゃんとWikipediaにも書いてますね。
品質保証(ひんしつほしょう、英: Quality assurance, QA)は、効率と品質が求められるあらゆる活動において、それらに保証を与えるのに必要な証拠を提供する活動一般を指す。 Wikipediaより引用
僕の経験でしかないですが、これまでやってきた仕事を思い出すと
- 実装が終わったからQAにお願いしてテストしてもらおう
- これはQAで見つけたかったバグだった
- QAは品質を守るのが仕事なのだ
とかとか、文脈によってQAの指す意味が変わってしまっている気がします。例えば、上を言いかえるとすれば
- 実装が終わったからテスターにお願いしてテストしてもらおう
- これはシステムテストで見つけたかったバグだった
- テスターはバグを見つける
品質を守るのが仕事なのだ
「テスター」部分は「QAエンジニア」でも当てはまるかもしれません。
QAなんて人はいない
エンジニアもデザイナも、プロデューサーもプロダクトオーナーも。ディレクター、ゲームクリエイター、プロジェクトマネージャーなどなど。いろんな職種がありますが、たいていの場合、人を意味する「er」がつきます。
でも、QAにはそれがない。
QAとは「活動」です。ソフトウェア開発を例に上げると、この活動範囲はとても広く、開発関係者全員で取り組んでいかなければ、その実現は難しいと思います。
しかしながら「QA」という言葉によって、人それぞれ期待がずれてしまい、
- テスターが動かないプログラムのデバッガになってしまっている
- スケジュールがどんどんずれたので、最後のQAでなんとかするしかない
- QAが品質を守ってくれる
といった誤解が生まれてしまい、現場が疲弊していくのではないかと思うのです。
だから、個人的には、実行部隊としてのテスターがいて、最近流行りのテストエンジニア(自動化とか)がいて、そのキャリアの先にQAという活動をリードする人としてQAエンジニアがいるのかなと。
言葉遊びみたいですけど、特に「QAがなんとかしてくれる」みたいな感覚は、あきらかに当事者意識が薄れてしまうので、なくなってほしいなーなんて。