オフショア開発でのバグの再現
オフショア開発でよく問題になるのが、バグの再現です。
日本のお客様から不良が発生したと連絡を頂くのですが、オフショア開発側の技術者に確認させるとバグが発生しないことがよくあります。
私が発注者としてオフショア開発を活用していた時にもよくありました。
受入テストでバグを発見したので、オフショア開発側に連絡するのですが、「再現しませんでした」と素っ気ない回答が返ってきます。
こちらの勘違いか、別の不良の対策で直ったのかと思い、もう一度テストしてみるとやっぱり同じ事象が発生します。
それで詳しい発生手順を書いて再度連絡するのですが、またも「再現しませんでした」と返ってきます。
こうしたやり取りを行なっている間に1週間以上経過してしまう場合も珍しくありません。
なぜ、こんなことが起きるのかとても不思議でした。
ベトナムに行って、オフショア開発側の技術者がどうやって再現テストを行なっているかを見て理由が分かりました。
彼らは、日本から送ったて不良発生手順をあまり読まずに、自分の思ったデータ、手順で確認して、それで問題が起きなければ「再現せず」と直ぐに回答しているのです。
自分が実施した手順に不備があるなどと疑うことはしません。
普通の人なら仕方がないのですが、難関の国立大学工学部を卒業した彼らでもそのレベルなので唖然としました。
私が会社に入った時に言われたのは「不良は必ず存在している」、「テストは正しいことを証明するものではなく、混入している不良を見つけるためのものだ」と教え込まれました。
バグを見つけられないのは、システムが正しいのではなく、テストのやり方が悪いという考え方です。
当時は、なぜ繰り返し当たり前のことを言われるのだろうと思っていましたが、ベトナム人技術者を見ていると決して当たり前の考え方ではないのだと分かりました。
彼らがそのような考え方になってしまう原因は、システム利用者やお客様から遠い場所にいるからだと思います。
日本の技術者は、何か問題があると利用者やお客様から厳しく叱責されますし、不良が大きな問題を引き起こしている様を目の当たりにします。
そうすると品質に対する意識は高まります。
しかし、現場から遠く離れたベトナムの技術者にはそれが難しいようです。
それが、不良を再現させるときの思い込みや粘りの無さにも繋がっているように思えます。
オフショア開発側の一員となった今は、お客様の代わりになってベトナム人技術者に何とかプレッシャーを与えようとしています。
具体的には、問題が発生したときには、それがお客様にどのようなご迷惑をお掛けしているかを説明し、技術者が失敗したときには、何が原因で再発防止策はどうするのか問い掛けるようにしています。
彼らは「起こってしまったことはしょうがない」、「何でそんな面倒なことをいうのか」と思っているようですが、発生した問題を無駄にせず、少しでも彼らの技術力向上につながればと思っています。