最近twitterなどで「QAとはなにか」についていろんな人が自分の考えを書いたり話したりしていました。

で、自分も色々と考えてまとめつつあるのですが、その参考になりそうなことを以前教わっていたなぁと思って、再度本をひっぱってきました。

『中国オフショア開発―ソフトウェア品質保証と事業OEM』という本に書いてある「SQA担当の役割」の項目です。

SQA担当の役割

書籍の中では、品質保証担当(SQA:Software Quality Assurance)の役割として以下の5つが書かれています。

役割名 役割内容
ミツバチ 各プロジェクトで経験したことを全社的に水平展開する
アラーム 過去の実績データを参照し問題が大きくなる前に警告する
ペースメーカー プロジェクト計画どおり進捗しているか検査し遵守させる
ブレーキ 「開発手順・品質管理」標準から外れた活動に忠告する
コンサルタント プロジェクトのさまざまな問題に対して相談や指導を行う

(P92より引用)

QAとして普段仕事をしている人の中でも、「ただテストをする人」になっている人がいます。しかし、品質を把握し高める上ではそれだけではダメで、この5つの役割を意識して動いていかなければいけないなと、最初にこの考え方を教わったときに思いました。

各役割で行うべき行動は、自社のQAとして働いているか、第三者として他社に入ってQAをしているか等によっても変わってくると思います。が、根本のところは共通しているはずですので、少し考えてみましょう。

ミツバチとしてやるべきこと

QAはミツバチとして、成功事例や失敗事例を社内に展開する必要があります。水平展開が行われないと、他のプロジェクトで失敗したのと同じような失敗をしてしまうかもしれません。

特に第三者検証としていろんな会社を経験しているような人はそれだけ成功・失敗の例も幅広くみているため、「他社ではどうだった?」といったアドバイスを求められることもありますね。

ということは、ミツバチは成功例や失敗例を運ぶだけではなくて、自分の経験を整理してまとめ、運びやすい形に用意しておくことも求められそうです。

アラームとしてやるべきこと

進捗やバグの出方の推移などの様々な情報をもとに「このままだと危険ですよ」と警鐘を鳴らす役割です。

QAとして新たな会社・部署で仕事を始めるとたまに、「どんな不具合が起こっているのか記録していません」とか、「品質の状況は特に可視化していません」という場面に遭遇することがあります。

これでは、問題が起こりそうなのかどうかを注意・警告することができません。

そうした場合には、QAとしては様々な情報を記録してためていくところからのスタートになるでしょう。(ずいぶん高機能なアラームですね。スマホの睡眠管理アプリのようです。)

ペースメーカーとしてやるべきこと

個人的にはアラームとセットの活動と考えています。異常があればアラームをあげるのはもちろんですが、日々の計測を行う過程で、問題になるまえに状況の確認&修正を行う役割です。

ブレーキとしてやるべきこと

もとの記載だと「ルールからの逸脱を許さない」というニュアンスがあります。最近だとガチガチにプロセスを固めておらず臨機応変に動くプロジェクトもあるでしょう。

個人的には決めたことから逸脱しそうになったときのブレーキというよりは、納期やコストを優先して品質が悪いのにリリースしようとしている、とか「それでほんとうにいいの?品質ないがしろにしてない?」という場面でのブレーキとしての役割が大きいと思っています。

QAは、リリースを遅らせたりビジネスチャンスを逃す原因となるなど、ネガティブな意味での「品質の番人」と認知されてしまうこともあり、これはあまり嬉しいことではありませんよね。車のブレーキでも、急にかけると危険な場合はABSがかかりますし、ただの「止めるだけ」ではなく、プロジェクトの安全や他とのバランスを見て上手にブレーキをかける必要があります。

コンサルタントとしてやるべきこと

「プロジェクトのさまざまな問題に対して相談や指導を行う」という説明が抽象的なので、ぱっとわかりませんでした。

が、自分なりに言葉を置き換えてみて「プロジェクト内のいろんなところに広く首をつっこむ」役割だ、と捉えました。

QAとして関わるのはシステムテストのフェーズだけ、のように一部だけを見ても品質を把握して向上させるには足りません。(開発に突き返すだけのQAならいらないですよね)

上流の要件や仕様を詰める会議に出たり、開発の人と話すなどして、「今プロジェクトがどうなっているのか」や「誰が何に困っているのか」など幅広い情報を集めて先手を打つこと。これが、コンサルタントの意味するところかなと思っています。

まとめ:QAは幅広い

同じ業界の人と話をしたり、「品質あげるために何をすればいいんだろうね」と議論するたびに同じ感想になるのですが、我々QAの人がやるべきことや知っておくべきことって本当に幅広いです。

テスト技法やツールの使い方のようなテストスキル・ITスキルはもちろんですが、情報を集めたり発信したり、人に伝えたりといったソフトスキルの部分も同時に重要ですね。

中国オフショア開発―ソフトウェア品質保証と事業OEM