オフショアとアジャイルの組み合わせは難しいなと思った話
お仕事のお話です。
最近仕事で、オフショアとアジャイルを組み合わせたプロジェクトをやっていました。
そもそも、それぞれどのような利点があるかというと
・オフショア・・・単価が安く、そこそこの人材を雇えるので安価に仕事ができる
・アジャイル・・・継続的にリリース・機能改善をを施すことで、ユーザにとって価値のある機能を早く提供できる。(ウォーターフォールと比較して)
ってことでじゃあ混ぜてやってみるかって発想です。
良かった点
・余計なドキュメント作成が不要
仕様書や設計書をしっかりと作成してというウォーターフォール型の開発をしていると、オフショア開発では言語の壁のせいでドキュメント作成はとても大きな負担となります。修正する方も手間ですが、解読するのはもっと大変だと思います。ここがドキュメント作成の手間が削減できるのは開発者側としてもとてもやりやすいらしいです。
悪かった点
・どうしてそうなった?が多い
オフショアに限らず発生することですが、伝えた要望と仕上がった仕様が大きく乖離していることが多いと思います。
じゃあちゃんと設計書を作って伝えるか。ってなるとウォーターフォールか、スパイラルで開発すべきだと思います。
そもそも、エンドユーザ(仕様決定者)と開発者側に物理的、言語的距離があるのはアジャイルのスピード感には合わない気がしました。
今後の課題
・距離の壁が問題なのか(ニアショアであれば解決するのか)、言語の壁の問題なのかを探りたい。
・開発プロセスの再検討を行うことで、アジャイルとオフショアが共存できるのかを探りたい。