「プログラミングできないと死ぬかもね」ってQAが言ってた話

感想おまちしてます!

アジャイルテスト

アジャイルテストの話のときに、QAの人とちょっと話す機会がありました。その人は「QAもプログラミングスキルがいるかもなぁ」と話してくれて、僕も「これだけ簡単にテストをプログラミングできちゃう時代だと、書けないQAの市場価値は下がるかもしれませんねぇ」と思いました。QA本来の価値は変わらないと思いますが、求められる責任範囲が増えてる気がします。

スポンサーリンク

QAの責任範囲

前に書いた「アジャイルテストの話」では、誰がどこをやるかまでは書きませんでした。

テスト自動化その前に! 素人が一生懸命考えた「実践アジャイルテスト」
この記事は、ソフトウェアテストの専門家でもなんでもない僕が考えたアジャイルテストのお話です。実際に遭遇した課題や問題に対して考えたり...

きっとそれは組織やチームレベルで違うので、必要な部分を誰かが担当すればいいだけだとおもいます。僕がよく聞く話だと、QAの役割は以下のパターンに分かれています。

  1. テスターの管理だけする人。いずれ、直接テスターとやり取りしたほうがはやくなりがち。問屋と一緒でマージン商売みたいになってしまうので、その価値を発揮したり高めにくそう。
  2. テストだけする人。テスター管理者より手を動かせるだけ価値がある。ただ、高い正社員雇うより、お金払ったベンダーやオフショアのほうががんばってくれる傾向がある。
  3. 仕様検討段階から入って活躍できる人。仕様理解があるので、機能矛盾や成果物の複雑性までフィードバックできる。こういう人がいるのが理想だけど、各チームに一人アサインとかが難しい。規模との戦いになってしまう。
  4. プロセスや開発全体の視点から品質保証のアプローチができる人。10年以上開発に関わってるけど見たことないネッシータイプ。

1と2はもう品質保証(QA)ではなく、ただの品質チェックですね。トヨタ出身の人の言葉を借りると、

できたものをチェックしても品質保証ではない。作ってからなんてもう遅い。

って話。チェックや管理は自動化で楽になる場合もあるので、そうなると人間は何をするか? が求められそう。

3と4のような人がいるととても助かりますが、そんなに数はいない気がするので、いれば高待遇で迎えたいところ。

また、前職もそうでしたけど、プロジェクトごとにQAがアサインされる場合は、その知識がきちんと溜まっていき、育てられて、受け継がれていく仕組みが大切だと思います。それがないと、テストが劇的に非効率になります。

責任範囲の変化

こうやって書くとQAのお先真っ暗。みたいに聞こえるかもしれませんが、それは誤解です。僕がQAの方とやりとりした内容はこんな感じでした(いくつか補足情報を追加しています)。

アジャイルなテストをするためには、QAだけでなくそれ以外のメンバーの協力が必要不可欠だということがわかったと思います。ただ、あえてQAだけの話をするのであれば、従来通りマニュアルテストを実施するだけのテスターの価値はさがっていく一方です。でも、これはQAだけに限った話ではありません。

昔は「Strutsさえ覚えれば10年食べていける」と言われていましたが、上のGoogleトレンドのように、Struts案件は激減。それだけではもう食べていけないプログラマが、今後増えていくかもしれません。最近だとSpring Bootが登場したように、新しい技術が次々生まれて入れ替わっていくのがよくわかります。

最近だと、従来型のプロセスやプロジェクトマネジメントしかわからないPMが、アジャイル開発やDevOpsの繁栄による小さなサイクルでの開発についてこれなくなったりもしています。

昔は「安いオフショアに国内ベンダーが食いつぶされる」という話もありました。個人的には、使いこなせなくて「オフショアダメ!」みたいなレッテルを一方的に貼りつけた印象があります。最近だとリモート開発がさかんになってきて、それをサポートするツールも進化し、格段にその敷居は低くなりました。藤村さんのような、ガッツあるアジャイルオフショアおじさんまで登場してます。こういう人がひとりいるだけで、現場は数倍よくなりますからね。

同じように、QAにも変化が求められているだけです。別に不思議な話じゃない。

テスト自動化技術も格段に進歩してますし、テストコードを書けるテスターも徐々に増えています。そのうち、『テストから見えてくる グーグルのソフトウェア開発』で紹介されているGoogleのようにSET(Software Enginner in Test)、TE(Test Enginner)、TEM(Test Engineering Manager)といった職業が一般的になるかもしれません。でも、役割分担は丸投げを生み出すので、それより前に考えるべきことがあると思う。

そしてテストベンダーも進化しています。なんだかかっこいい雰囲気のSHIFさんのサービス概要を見ると、教育から自動化、上にも挙げたナレッジ・マネジメントまでサービスとして提供しています。あきらかに「オフショアで安くテストできまっせー」とは違う。

いくつかの分野では、「変化」との戦いの結果が、だいぶみえてきた気がします。変化をのりきるには、「閉じこもって守る」か「変化を受け入れる」ぐらいでしょう。そういう選択への回答が今、求められているのかもしれませんね。

QAの変わらない価値

ある後輩が言っていました。

テストするだけのQAは残念だけど、最近一緒に働いているQAの方は、がんがん仕様に突っ込んできます。もっとこうしたほうがいいとか、この仕様は複雑すぎて矛盾に感じてしまうとか。
さらに、テストスコープの決め方もクールで、網羅性やテストの最適化とかできるQAは尊敬しますね。自分にはないスキルです。

僕もこの話にとても共感しました。『ソフトウェアテスト技法ドリル』を読んでみるととてもよくわかりますが、メトリクスの活用や統計学、数学的な考え方、品質知識、リリースマネジメントなど、テストエンジニアは特殊なスキルが必要です。その知識が基盤としてあり、「+プログラミング」ができれば、現在価値はとても高いと思います(いずれAIに負けるかもしれないけど)。

最近だと何に価値があるかなんてわからないので、別にプログラミングじゃなくてもよいです。『人生がときめく片づけの魔法』みたいに、「お片づけ」を価値として提供し成功した人もいますからね。定期的にその価値を探たりし、ふりかえってみたりするのも必要かもしれません。

最後に、そのQAさんはこんなことを言っていました。

変化をデメリットで否定するだけになりたくないから、まずは動いてみようと思います。

最近とても思うんですよね。このQAさんのように「少しでも動くぞ!」という意思を持って行動できる人がひとりいて、そういった人を支える仲間が増えれば、たいていの変化には打ち勝てるのではないかって。

そのアクションに幸あれです。

コメント

  1. […] 「プログラミングできないと死ぬかもね」ってQAが言ってた話 […]