オフショア開発失敗事例3 テスターの役割の確認不足
テスターチームについて
すべての会社というわけではないでしょうが、ベトナムのオフショア会社にはテスターというテスト専門の要員を配置している会社が結構あります。
Microsoftなどの欧米企業は専門のテストチームを設けていると本で読んでいたので、ベトナムのテスターも同じような役割だろうと勝手に思っていました。システムテストのレベルでユーザの視点でテストを行うものと思っていたのです。それにしては人数が多いのは気になっていました。開発者と同じくらいの人数がいます。総合テストなどの最終確認であればそんなに人数はいらないはずです。
チーム構成も異なっていました。
開発者チームは男性中心で、工学部の情報工学科出身がほとんどです。それに対してテスターチームは女性中心で、文系や高卒の人が結構います。会社の中では開発者が上で、テスターは下という雰囲気があるように感じました。
やはり問題発生
異変を感じたのは、製造工程(コーディング〜単体テスト)が始まって直ぐでした。
単体テストの不良一覧の発見者がテスターの名前だったのです。組合せテスト(統合テスト)までは開発者が行うと勝手に思い込んでいた私は驚いて、PMに作業分担を確認しました。
すると「開発者はコーディングと不良修正だけを担当し、テストはすべてテスターが実施する」と言われました。
そこで以下の懸念を伝えて、やり方を変えてくれとPMに言いました。
- 単体テストは、プログラムの内部構造を知らないとテストできないのではないか
- テストを自分でやらないと、品質の良いコードを書くという意識が開発者に定着しないのではないか
- テスト前につぎのプログラムのコーディングに入るので、不良を内在したまま流用することになるのではないか
しかし、「今までこれでうまく行っている」といって聞き入れてもらえません。PMの上司にも申しれましたが、同じでした。
止むを得ず、そのまま作業を継続しました。そうすると予想以上にひどい状況であることが分かりました。
テスターはコツコツと真面目に不良を摘出していくのですが、開発者は、なかなかバグ修正に手を着けようとしません。どうも開発者はコーディングの進捗しかフォローされないので、終わったプログラムのバグ修正には乗り気でないみたいです。
そこで不良修正が遅れている場合もフォローすると、今度は発生した不良に対して「これは不良じゃないから取り下げろ」とテスターに文句を言う開発者が現れました。当事者だけでは結論が出ないので、その都度、私が不良かどうか判定するために引っ張り出されていましたが、大概テスターの言い分が正しかったです。
このようなことになるのは、開発者の「自分たちはテスターよりも上」という意識が影響していたと思います。
予想通りの結果に
結局、懸念した通りに品質は良くありませんでした。納品後の受入テストで、基準値の約3倍の不良が残存した状態でした。事前に契約で定めていた品質向上(追加テスト)をオフショア会社に無償で実施してもらいましたが、日本側も工程が後ろ倒しになり、お互いにとって良くない結果となりました。
テスターの存在は、開発者という限られたリソースを最大限有効活用するためにも、テストの原価を抑えるためにも効果的な仕組みだとオフショア会社の幹部は考えているようです。
しかし、テストで不良を出して、不良を作りこまないように工夫を重ねていくということが技術者の成長には不可欠だと思います。それを阻害するような仕組みは即刻止めるべきだと思います。私のプロジェクトでは、開発者自身がテストを行うことを発注条件としました。
ただ、開発者の視点も偏りがちなので、総合テストでユーザの視点からテストをするというのは有効だと思います。決してテスターをすべてなくせというわけではありません。
この経験から得た教訓
事前に各チームの役割を細かいタスクレベルで確認すべきでした。
自分の知っている役割名だとやることも同じと思いがちですが、先入観を持たずに地道に確認しなければならないと痛感しました。