さて、昨日(2/20)の夜、とあるシステムのリリースを行いました。
今回、開発手法に色々と工夫を取り入れたのですが、やはり、リリース直前に混乱しました。
確実に良くはなってるんですけどね。オフショア開発の品質向上は一筋縄ではいかないですね。と、久々に弱気な内容のオフショア開発エントリーです。
今回、2チームに分けて開発しています。
AチームとBチーム(実際、そうは呼んでないですけど)があって、今回はBチームに混乱が発生しました。
主な原因は二つあると見ています。
1)アサインミス
Aチームに比較的簡単な機能、Bチームにやや難しい機能の開発をアサインしましたが、実力を考えると、逆でした。これは、単純ミスか、プロジェクト開始段階で、PMが正しく仕様を理解していなかった為と考えております。
2)開発手法の意味を正しく理解させ、浸透させる事に失敗した
Aチーム、Bチーム共に、プロジェクトスタート時点では、開発手法を正しく理解していなかったのですが、Aチームは途中で状況が改善しました。が、Bチームは最後まで開発手法を正しく理解出来ず、やはり、終盤で苦労するという悪循環に陥りました。
この差が出てしまったのは、エンジニア個々人の認識の差、経験の差というのが最も大きいと思います。これは各個人のレベルに合わせて、時間を掛けて啓蒙を続けていくしかないと考えています。
それにしても、難しいですね。やはり、新しい開発手法というのは抵抗が大きく、開発者を楽にし、品質を上げる為にある開発手法であるものの、導入には注意が必要です。もう少しで、次の段階に進めるかなと思っているんですけどもね。一朝一夕にはいかないという事です。
ちなみに、今回、テンプレートエンジンにVelocityを使っています。身近で使われている例を見たのは初めてですが、「早い!!」、とにかく早い。基本的に、速度の面では、ウェブアプリはPHPに勝てないと思っていたんですが、アーキテクトの設計、コーディングの仕方、スケール次第では勝負出来そうですね。勉強不足でした。
また、今回は、日本と中国でVPNを形成し、リリースを掛けています。将来的に、そのような拡張予定があるという事で、実験も兼ねる感じです。ネットワークが遅いので、実用に耐えないかと思っていましたが、結構、いけますね。イマドキのVPNもすばらしいです。