周翼

 モデリングツール「JUDE」の中国オフショア開発において私たちは,XP(Extreme Programming)というアジャイル(Agile)の開発方法論を採用しました。この開発プロジェクトにおけるコミュニケーターの四つの役割およびそれらの役割を果たすための実践を紹介します。

 中国オフショア開発の地理的な制約によって,「開発者の全員を1つの部屋に集めての開発」などの「XPプラクティス(プロジェクトに従事するメンバーの実践)」を実現しにくかったものの,日中双方が様々な改善と実践を行った結果,JUDEは26万ユーザー(全世界)に採用されるモデリングツールにまで成長し,「ソフトウェア・プロダクト・オブ・ザ・イヤー2006」を獲得できました(Google Map で作成した「JUDEユーザー分布マップ」)。

 幸運なことに,私はJUDE開発に参加でき,日中開発チーム間の「コミュニケーター(JUDEチームでは,ブリッジSEのことをコミュニケーターと呼ぶ)」を務めてきました。試行錯誤を繰り返しつつ,日中双方の開発者の助けとアドバイスをもとに,中国オフショア開発をスムーズに遂行するための様々な改善を行ってきました。

 これらの改善はまだまだ不十分ではありますが,中国オフショアが盛んに行われている現在,1つの事例および経験談として,JUDEオフショア開発におけるコミュニケーターの四つの役割およびそれらの役割を果たすための実践を紹介します。

コミュニケーターの四つの価値

その1:日中間の見える化

 中国オフショア開発の場合,日本の開発チームと中国の開発チームは長期にわたって地理的に分散して開発を進めるため,各面においてお互いに「見えない」状況が続き,様々なリスクを招きます。そのため私は,日中双方が相手開発チームの状況が正確に見えているかどうかといった観点から,コミュニケーターとしての自分の役割を評価し,改善しています。

お互いのタスク

 私はコミュニケーターを始めて間もなく,「中国側は何をやっていますか?」「日本側は何をやっていますか?」と日中双方の開発者からしばしば質問されました。相手のタスクがわからなければ,以下のようなリスクに遭遇する可能性があります。

 リスク1:中国側がほとんどタスクを持っていないのに,日本側がタスクを出さないと,蓄積している不具合の修正や機能の改善を行う機会を逃してしまいます。結果的に,ユーザーに提供できる価値が減り,製品の評価が下がります。

 リスク2:中国側のタスクが多すぎるのに,日本側が中国側にさらにタスクを追加するようだと,連日の残業で中国側の開発効率が落ち,中国開発者の転職につながります。

 リスク3:中国側の開発者から日本側の開発者のタスクが見えないため,「日本側はほとんど仕事をしていないのに,私たちだけが忙しくなっている」と中国人開発者が勘違いし,モチベーションが低下します。

相手の認識

 「日本側の望みどおりに開発していますか?無駄な開発をしていませんか?」「中国側は要求どおりに開発を行っていますか?仕様と全く異なるものを作っていませんよね!」「中国側は,優先順位の高い機能を先に開発してくれていますか?」---。複雑な機能仕様を開発する場合,よく日中双方の開発者からそんな不安な声が聞こえてきます。

 仕様に対する相手の認識と優先順位に対する認識がわからないと,以下のようなリスクに遭遇する可能性があります。

 リスク1:中国オフショア開発においては,日本語と英語の読解力が日中双方の開発者の仕様理解の度合いを左右します。読解ミスで中国側の開発者の認識がずれたまま開発を進めると,とんでもない成果物を作成し,無駄な手戻り作業が生じてしまいます。認識ズレが度重なると,中国オフショア開発は中断されかねません。

 リスク2:中国側の仕様に対する認識ズレが日本側から見えないと,早期の修正を中国側の開発者に要求できません。無駄な開発コストを防ぐ機会を失ってしまいます。

 リスク3:日本側が考えているタスクの優先順位を中国側が認識できないと,優先順位の高いタスクを後回しにしてしまいます。結果的に,日本側に最大の開発価値をもたらすことができません。

 リスク4:中国側の開発者に開発タスクを出しすぎではないかと日本側が心配し,オフショアのタスク量を減らした場合に,中国側の開発者は自分の開発能力が日本側に疑われて評価が落ちているのではないか,と誤解し,開発に集中できなくなります。

お互いの進ちょく

 「日本側の機能仕様はいつ完成できますか?手元にタスクがないのですが,何をすればいいのですか」「中国側はどこまでやりましたか?いつ終わる予定ですか?」---。相手の進ちょくがわからなければ,以下のような問題点に遭遇する可能性があります。

 リスク1:難しい問題に直面しているため,中国側の開発チームの開発が進まない場合に,日本側は解決につながる知識とサンプルを持っているにもかかわらず,中国側に提供できません。

 リスク2:日本側が機能仕様をすでに作成したのに,中国側がその進ちょくを察知できないと,実装設計の開始が遅れてしまいます。

 リスク3:中国側の実装とテストが終わりかけているのに,日本側が次に中国側に出せるタスクを準備できていないようだと,中国側がひまになり,オフショア開発のコストを無駄にしてしまいます。

精神状態

 「最近,開発が忙しくなっていますが,中国側のモチベーションは大丈夫ですか?」---。中国開発者の顔が見えないため,日本側は中国開発者の健康状態とモチベーションを心配するようになります。

 中国開発者の離職率の高さが話題になっています。ひとつの理由としては,タスクが多すぎて,仕事に疲れたりストレスがたまったりすることも考えられます。その精神状態が見えれば,タスク量を調整し,中国開発者に対する心のケアを行い,転職を防ぐことにつながるでしょう!

 以上の各面における見える化を実現できるかどうかが,コミュニケーターとしての価値を決めると私は考えています。