みんなで仲良く話をまとめましょうなんてことをしようとすると非常にややこしい時差の問題ですが、システムとしてうまく活用すると便利なこともあります。
海外オフショアする際に、メリットとしてよく言われる手法です。
アメリカでコードを書く。日本に進捗報告とコードのレビュー、テストのリクエストを投げて帰宅。
日本出勤。アメリカのコードのレビュー、テスト。必要なコードを書く。アメリカに進捗報告とコードのレビュー、テストのリクエストを投げて帰宅。
アメリカ出勤。日本のコードのレビュー、テスト。必要なコードを書く。日本に。。。以下繰り返し。
うまく行きそうに見えるでしょ。世の中そんなに甘くないですよ。
これ、コミュニケーションが非常に、非常に微妙になってきます。ちゃんとコミュニケーションが取れないとすぐに破綻します。
ありがちな展開
アメリカでコードを書く。日本に進捗報告とコードのレビュー、テストのリクエストを投げて帰宅。
日本出勤。アメリカのリクエストわけわからん。なんでこんなコードいじってるの?テスト通らんよ?このテスト意味わからんよ?質問をアメリカに投げる。当然返事はすぐに返ってくるわけでもなく、想像で自分の作業を進める。アメリカに進捗報告とコードのレビュー、テストのリクエストを投げて帰宅
アメリカ出勤。日本からの質問に対処。なんだよ、日本に投げた作業、ぜんぜん進んで無いじゃん。日本からのコードのレビュー、テスト。最初の質問が勘違いなんだよ。これじゃだめだよ。問題点を日本に送る。日本に投げたレビューとテストが終わっていないので、作業が中断。または、終わっていないにも関わらず、開発続行。日本へ作業報告。
日本出勤。前日投げた質問の回答。あぁそうゆうことだったのね。というか、そんなこと、一言も書いて無いじゃん。わかるわけないじゃん。昨日の作業、勘違いじゃん。レビューとテストのやり直し。結果をアメリカに。追加で来たレビューとテストのリクエスト、その前のレビューで指摘している部分は当然知らないで続けているので、問題が拡大。その点を強調してアメリカに報告。昨日アメリカに投げたコードは勘違いだったので、やり直し。レビューとテストのリクエスト。
アメリカ出勤。日本からのレビューに対しての対処。問題が拡大しているので、修正量も増える。日本からのレビューテスト依頼に対しての対処。このコード意味わからないんですけど。コンパイル通らないんですけど。質問を日本に投げる。当然返事はすぐ返ってくるわけでもなく、想像で悪戦苦闘。コンパイルが通ったと思ったらもう夜。問題点を指摘。
日本出勤。アメリカなにやってんだ?なんでこんな簡単なこともわからんのだ?ここに書いておいたじゃん。ぜんぜん見てねぇ。そんなのは問題のうちにはいらんって。作業続行。アメリカへレビューとテストのリクエスト。
既に何が起こっているかわけわからなくなっています。コミュニケーションが悪いと、すぐにこの状況に陥ります。というか、非常にコミュニケーションが難しくなります。質問の返答が次の日しか返ってこないのは痛いです。しょーもない質問や、簡単な疑問に費やす時間ってのは、馬鹿になりません。返事が無いので悪戦苦闘、想像との戦いです。無駄に時間費やします。開発効率を上げるのも、なかなか奥が深いです。