遠隔地開発の利点

私は、現在、ベトナムホーチミン市サイゴン)に滞在中である。ここで実質作業時間が10日程度のミニ・プロジェクトをこなした。内容は、昔携わったプロジェクトの修正である。

結論からいうと、非常にスムーズに作業が進んだ。心配していたお客さんとの打ち合わせも、電子メールと Skypebacklog で、問題なく行うことができた。 backlog は、使いやすいウェブベースのプロジェクト管理ツールである。とくに Skype を使ったチャットで、対面で会議をしているような一体感を感じることができた。

もちろん、今回のミニ・プロジェクトでは、特別に恵まれていた面もある。お客さんとは旧知の仲だし、この修正対象のウェブサイト自体も過去私が作ったものである。(1年半ほど前になるため、だいぶ記憶が薄れていてあわてたが)もし、これがまったく新しいお客さんとのプロジェクトであったら、もっと難しかったかもしれない。

実は遠隔地開発には思わぬボーナスがある。それは、コミュニケーションの多くが、電子メール・チャット・プロジェクト管理システム等の電子的方法で行われるため、コミュニケーションの記録が詳細に残るのだ。言った・言わないのチーム・メンバー間の行き違いも防ぐことができる。遠隔地開発は人々に文章を書かせることを強制させる。文章を書くためには考えなくてはならない。これをまとめれば、各種のドキュメントが比較的容易に作成できる。こうしたドキュメントがあることは、将来のソフトウェア修正を容易にし、保守性を向上させる。

遠隔地開発で気をつけなければならないことは、遠隔地間のメンバーの感情的な行き違いである。「腹を割って話して、感情的なしこりをほぐす」というのは、遠隔地間では難しい。感情的な交流には、同じ空気を共有するという、非言語的なコミュニケーションが大きな役割を果たしているからだ。だから、理想的には、遠隔地開発をしているメンバー同士、数ヶ月に一度でいいので、一箇所に集まって、一緒に遊ぶのがいいと思う。このとき仕事をする必要はない。どんな方法でもいいので、お互いを人間として認め合い、非言語的なレベルで交流して、信頼感を醸成するのがよいと思う。

通信技術の進歩に伴い、同じ都市に住んでいても、遠隔地開発風に仕事を進めているプログラマが増えている。これからは、「顔を合わせて一緒に遊び、別れて遠隔地で仕事をする」というスタイルの仕事の仕方が増えていくんじゃないだろうか。