今走っているプロジェクト(Javaを使った営業・顧客管理システム(B/S))の一つで、ペアプロ(二人で開発する手法)を実験しています。
来週月曜日、2/20(月)が二次納期になっていまして、今、追い込みを掛けているところです。
オフショア開発に限らず、ペアプロは盛んになってきますが、中国オフショア開発では思いのほか、「ハマル」ような気がしています。
ペアプロっていうのは、
http://www.atmarkit.co.jp/fjava/devs/xpd01/xpd01_2.html
を見て頂ければいいかなと思いますので、詳細は割愛。
二人一組で作業するので、一瞬、作業効率が非常に低いような気もしますが、意外にもそんな事はありません。
プログラミングに限らず、パソコン系の仕事の効率って大抵良くないと思います。なぜなら、8時間労働とした場合、遊んでいる時間(メールをやったり、ネットサーフィン、チャットなど)が必ず存在するからです。
個人的にはそういう時間は否定しません。私もやりますし。ただ、労働効率という点ではあきらかにまずいし、お金をもらって仕事をしているわけなので、業務中にそれはダメだと思います。が、それでもやってしまいますよね。それはしょうがない事だと思います。
ペアプロの場合、そういった遊び時間がなくなります。常に後ろに人が居るわけですから、友達とチャットなどは全く出来なくなります。それだけに相当疲れるみたいですが。
プログラミングの場合、考える時間が長くなります。多少ならいいですが、時に、考えても考えてもよいアイデアが出ず、時間だけ浪費するケースもあります。また、アイデアが出たとしても、非常に悪い方向に進む場合があります。加えて、単純なケアレスミスなども発生します。
ペアプロの場合、後ろで見ているパートナーと一緒に考える事が出来る為、このような時間を圧縮させる事が出来ます。また、バグの減少により、コードの品質という点で非常に有利になります。
加えて、一般的な中国人エンジニアの特徴である、「言い訳」「隠蔽」を封印させれます。というのも、非常にプライドの高いプログラマー達は自分の非を認めない傾向にあります。従って、中々問題点が明確になりません。しかし、このペアプロの場合、パートナーが容赦なく指摘を入れていきます(他人に対しては厳しく、容赦なしです)。
つまり、中国という国で品質を向上させるには、この手法は非常にいいのではないかと考えています。もちろん、断定するにはまだまだ経験が浅いですし、もう少し、色々と試してみる必要はあると思います。
ちなみに、本プロジェクトですが、若干、スケジュールが遅延しております。しかし、品質という点では、前のプロジェクトよりも格段の進歩が見られました。
今回のプロジェクトには、Java初心者(C#エンジニア)がプロジェクトに入っています。正直、彼らは戦力にならないと思っていたんですが、想像よりよいものが仕上がってきました。驚きました(Clickフレームワークが奏功しているのもありますけどね)。
中国オフショア開発で、全く動かないものが納品されるというケースがたまにあります。ペアプロで作業を行い、細分化されたタスクに対するプロジェクト管理を行っていけば、このような事態は大分防げるのではないかなと思います。
更に、今回は、テストを重視する開発手法(テストドリブンデベロップメント)を取り入れています。つまり、プログラマーには非常に面倒な(中国人的にはマーファン)作業を幾つも押し付けています。ただ、この面倒さというのは、プロジェクト/プログラミングをどつぼらせない為でもあって、今は面倒でも、長期的には非常に楽になれます。
当然、プロジェクトのスタート時点、と言うか、つい最近までこの手法にはネガティブな印象がエンジニア達の中には強かったようです。そりゃそうです。目先的には作業量が増えますし、一人でやった方が効率がいいように見えますし、何といっても疲れる。
これを粘り強く、意味を教えるのと、実際に体験して行ってもらう事で、良さを分かってもらうようマネージャー達が弛まぬ努力を致しました。そうしましたところ、今週に入って、かなりの改善が見られるようになってきました。大分、浸透してきたようです。
今では、ペアプロを相当気に入ったようで、非常に活発なやり取りを繰り広げていますし、プログラマー同士のレベルアップにも効果があるように思えます。
本プロジェクトはこの後、3,4次と続いていきますが、2次開発で体得したこの技法を3,4次でうまく活用して、更なるレベルアップを期待しています。また、ペアを変えて見たりともう少し、違った角度で実験を続けたいです。
中国オフショア開発でペアプログラミングなどの開発技法を取り入れることは従業員の抵抗を考えると、非常に大変です。が、諦めずに、実践する事でその実りは非常に大きいと思います。
#ちなみに、一部スタッフは土日出社です。残業ご苦労様です。