「品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中」で触れたとおり、QAの定義は日本国内では曖昧化しています。それに伴って、QAエンジニアの定義も曖昧化している状態です。曖昧化しているポイントは主に以下の二点です。
- 「品質保証(QA)」の定義が曖昧
- チームとの関係性(開発チームに入るか、第三者検証に様に独立性を保つか等)が曖昧
こうしたQAエンジニアの定義のブレ・曖昧さは、完全内輪向けならば許容される場合があります。
ただ、外部から知見を取り込んだり、外部から人材を募集したりと、外部組織と接点を持つと支障が出ます。例えば「QAエンジニアを募集」と人材要件に書いても、読み手によって何をする職種なのかの理解がばらばらになる恐れがあります。
そこで今回は、QAエンジニアを分類することで、自分なりにQAエンジニアの定義を具体化したいと思います。
概要
「担当する業務の種類」「開発チームとのかかわり方」の二軸でQAエンジニアを整理します。
担当する責務の種類に基づいたQAエンジニアの定義
次のように定義します。これは択一選択ではなく、複数選択する場合もありえます。
監査型QAエンジニア
ISO 9000など、国際規格の品質保証(QA)の定義に従った役割です。
具体的に、QMSの立証を担当するエンジニアです。品質管理活動から離れ、QMSの監査、プロセスの監査、プロセス運用の監査、プロセス志向での開発是正を行うのが、主な業務になります。「テストと品質保証は同じではない。テストは品質コントロール(QC)の形式の 1 つである」(JSTQB FL Ver. 2024V4.0)の通り、テスト活動は実施しません。
QAエンジニア(顧客満足型QAエンジニア)
飯塚悦功氏、石川馨氏らの著作や、JISハンドブックなど、日本国内の製造業で発展した品質保証の定義に従った役割です。顧客満足の実現を責務とします。具体的な業務として、以下を実施します。
監査型QAエンジニアとの違いとして、テスト活動を担当するほか、プロダクト志向の開発是正も取り組みます。テストエンジニアとの違いとして、テスト以外の顧客満足にかかわる業務も担当します。
テストエンジニア(テスト特化QAエンジニア)
テスト活動専任の役割です。
特定のテストレベル、テストタイプを担当します。テスト以外の活動は責務外です。SET、テスト自動化エンジニアなど、さらに詳細なテスト役割に細分化できます。顧客満足から離れたテストを扱う場合もあります(例えば旧来の定義でいうQAテストに対比される開発者テスト)。
フェーズゲート型QAエンジニア
リリース判定、出荷判定、工程移行といった品質ゲートの判定に特化した業務を担当します。具体的には、リリース判定に必要な情報の収集(各種テスト活動結果や品質メトリクス等)と評価、リリース判定テストの活動を担当します。
QCエンジニア
プロジェクトの品質管理に特化した役割です。各開発活動の成果物品質のモニタリングとコントロールを担当します。PMOであることが多いです。
開発チームとの関わり方に基づいた定義
QAエンジニアの定義とは別に、開発チームとの関わり方を以下のように整理します。
組織横断スタイル
特定の開発チームやプロジェクトから離れ、組織横断でQA活動を推進します。
「担当する責務の種類に基づいた定義」「開発チームとの関わり方に基づいた定義」の組み合わせによる整理
上記の二つの整理は組み合わせることで、包括的にQAエンジニアを整理できるようになります。
例えば監査型QAエンジニア、フェーズゲート型QAエンジニア、QCエンジニアは、独立スタイルあるいは組織横断スタイルから選択できます。QAエンジニア、テストエンジニアは、チーム一体スタイルか、独立スタイルのどちらでも選べる余地があります。そこで「チーム一体スタイルのテストエンジニア」などと整理することで、QAエンジニアの役割を明確化できます。