一般にアジャイル開発では、コロケーションしてコラボレーションするのがいいと言われる。「アジャイルソフトウェア開発宣言」でも次のように説いている。
プロセスやツールよりも個人と対話を、
契約交渉よりも顧客との協調を、
価値とする(一部抜粋)
それでも、オフショアやニアショアの協力会社に開発を依頼しなくてはならないこともあるし、同じ街でも、違うビルで作業をしなくてはいけないこともあるだろう。
そんな時の注意点は2つだ。
- ワーキングアグリーメントの策定、および規律の遵守
- プロダクトオーナー(顧客)が定期的に開発拠点を巡回する。あるいは、その逆で開発チームが定期的にPO/顧客サイトに集結する。またはその両方
アジャイル開発における作業の進め方は開発チームに任されている。だが、複数ベンダーによる混成チームだとベンダー毎に文化も契約も違うから、ただ任せても上手くいかない。チームビルディングで全員集めて、どうやって開発していくのか、自分達にとって何が重要なのか、チーム全体で話し合いワーキングアグリーメントを策定する。そして、自分達で作った規律を尊重する。
2点目はプロダクト・ビジョンや方針を定期的に話し合い、関係者全員でベクトルあわせをすることである。プロダクトバックログがあっても、それだけでは血の通ったコミュニケーションができない。例えば、四半期毎に使い手と作り手が集まって、扱うプロダクトのビジョンや方針を握り直す。これまで作ったプロダクトを評価し、顧客が手にした成果を評価する。それらを踏まえて、今後の進め方を話し合う。
POがローテーションで開発現場を周り、直接コミュニケーションを取るのも効果的だ。直接対話が情報伝達スピードは1番速いし、ストーリーを読みながら受入基準を点検したり、ユースケース図を使ってモデリングしたりすることで相互理解が加速する。
マルチベンダーによるマルチサイトの開発においても、アジャイルマニフェストを尊重する。
ツールの標準化も重要だが、チームとして機能するために、どうやってコラボレーションしていくのかワーキングアグリーメントを策定し、規律を遵守する。
コミュニケーションを促進するテクノロジーの支援を得ながらも、利用者と製作者の直接コミュニケーションを増やす。同じ空気を共有できる場を増やす。
「モノづくりは人づくり」と言われるが、モノをつくるのは人であるから、いいモノをつくろうと思えば、いい人が必要な訳である。いいチームがいいモノをつくるのである。
マルチベンダー・マルチサイトの開発では、多様な文化や価値観をもつメンバーがいるから人の側面が複雑になる。チームとして働き方を合意し、プロダクト制作に一丸となって専念できる「しくみ」が違いを生む。