国内におけるシステム開発会社のおよそ4~5割が、オフショア開発を利用しているとされています。労働人口の減少が予想される今後は、オフショア開発を利用する企業がますます増えていくが予想されています。
「言語に壁があるため、プログラムへの反映は問題ないだろうか?」
「時差や文化の違いあるため、修正に時間がかかるのではないだろうか?」
開発工程の終盤を担当するテストエンジニアの方の中には、上記の不安を抱えている方もいるのではないでしょうか?
そこで今回はオフショア開発におけるテストエンジニアの役割についてご紹介いたします。
テストエンジニア目線からみたオフショア開発における問題点やテストエンジニアが果たせる役割を解説します。
今後もオフショア開発はますます増えていくことでしょう。
ぜひ今回の記事を参考にしていただき、不安を取り除いていただければと思います。
テストエンジニアが感じるオフショア開発の問題点・不安材料
この章ではテストエンジニアが感じるオフショア開発における問題点・不安材料を3つ取り上げます。
それぞれ確認していきましょう。
①オフショア側が設計書を作成する場合、日本語に問題がある
開発を行うオフショア側が設計書を作成する場合には、注意が必要です。
なぜなら日本語は日本人でも間違えが起きるくらい、一文字で意味合いが大きく変わるからです。
例えば、「今日は良い日」と「今日も良い日」では意味合いが大きく異なります。
日本語を聞く話すスキルと文章を書くスキルは異なります。
設計書をオフショア側が作成する場合には、日本語の間違いに注意しましょう。
②文化や時差があるため、バグに修正がかかるケースがある
文化の違いや時差が存在するため、バグ修正に時間がかかることがあります。
日本は世界的に見ても、時間が進んでいる国家です。
例えば日本が午前10時ならば、ベトナムは午前8時です。
この時間にバグを発見したとしても、オフショア先が始業前の場合には修正に時間がかかることになります。
文化面を言えば、イスラム教徒が多い国家では決まった時間に礼拝を行ったりします。
業務の間に宗教的儀式を行ったりするので、当然バグ修正には時間を要するケースがあります。
文化や時差の違いによって、バグ修正に時間がかかるケースがあります。
③修正作業がストップすることがある
オフショア先の開発が滞るケースがいくつかあります。
例えば、ベトナムや中国の旧正月休みです。
日本で言えば年末年始の連休にあたりますが、日本より長く、通常の年末年始とは時期がズレているので注意が必要です。
旧正月は多くの方が休暇に入るので、修正作業は中断します。
休暇時期の違いによって、修正作業自体がストップすることがあるので注意しましょう。
問題点・不安材料に対するテストエンジニアの役割
前章ではテストエンジニアが感じるオフショア開発の問題点・不安材料をご紹介しました。
この章では問題点・不安点に対して、テストエンジニアが果たす役割についてご紹介いたします。
それぞれ確認していきましょう。
①設計書の間違いは指摘しておく
細かな日本語の間違いがあっても指摘して、修正してもらいましょう。
なぜなら設計書はテストエンジニアにとって、命綱になるからです。
基本設計書や詳細設計書を元にテストを作成・実施するため、細かなニュアンスでも異なった仕様と判断する可能性があります。
また時間が経過してからの追加開発も十分にあり得ます。
記憶が新しい内なら問題になりませんが、時間が経過すると細かな仕様まで覚えていないことがほとんどです。
その際にも頼りになるのが設計書になります。
異なった仕様と判断しないためにも、設計書の間違いは必ず指摘しておきましょう。
②テストの優先順位は決めておく
テスト優先順位を決めておくことをお勧めしています。
なぜなら前章でもご説明したとおり、バグ修正に時間を要するケースがあるからです。
例えば難易度の高い機能から先にテストすることで、修正に時間を要する場合にも対策をしておきます。
修正に時間がかかっている間に、他の機能をテストするなど工夫することができます。
難易度が高い機能を後回しにしてしまうと修正に時間がかかり、納期に間に合わない可能性があります。
平時からテストの優先順位を決めて取り組むのはテストエンジニアの役割になっています。
しかし、オフショア開発では特に優先順位を組むことが重要になってきます。
③開発チームへ修正がストップする可能性を確認しておく
オフショア先が大型連休に入る場合には、事前に確認しておくことをお勧めしています。
例えばオフショア開発チームがいつから連休に入ってしまうのか、いつから開発を再開できるのかなどです。
あらかじめプログラム修正がストップする時期を確認しておき、テストのスケジュール調整を行いましょう。
連休に入ってしまう前にテストケースを全て消化することで、連休後は修正確認のみに集中することができます。
また連休中は別案件の準備を行うなど、連休を逆手に取った行動を取ることができます。
あらかじめ修正がストップする時期を確認して、逆手に取った行動を取るのもテストエンジニアの役割となります。
■まとめ
いかがでしたでしょうか?
今回はオフショア開発時におけるテストエンジニアの役割についてご紹介いたしました。
改めて、振り返っていきましょう。
最初はテストエンジニアが感じるオフショア開発の問題点・不安材料についてご紹介しました。
言語や文化の違い、時差によって設計書やプログラムの修正スピードがこちらの想定と異なるケースが数多くあります。
次章では問題点や不安点に対して、テストエンジニアが果たせる役割についてご紹介しました。
些細な日本語誤りでも指摘しておくことやテストの優先順位、スケジュール調整がテストエンジニアとして果たせる役割となります。
冒頭でもご紹介したとおり、今後もますますオフショア開発が進んでいくことが想定されています。
今回ご紹介した内容を少しでも導入していただき、オフショア開発時にも役立てていただければと思います。