Webサービスを新しく構築する際に、外部のリソース(SIerなど)と内部のリソースを使うのとどちらが良いのでしょうか。
via Skype Reverie on Flickr - Photo Sharing!
これまで経験してきたプロジェクトでは、どちらかと言えば外部のリソースを使って最善の結果を得られたことの方が少ないように思えます。最も大きな原因は「プロジェクト」における両者のスコープの違いです。
外部のリソースにとってのプロジェクト管理とは、言わばプロダクト管理の範囲に収まります。つまり、開発して納品、検収をうけるまでがプロジェクト管理です。逆に内部の人にとってのプロジェクト管理とは、システムを実際に動かし、収益を黒字化することがプロジェクトになります。
外部のリソースにとってのゴールは、内部のリソースにとってみればスタートでしかありません。システムは箱であり、実際にそれを使わないと意味がないのです。その点の認識のずれが、プロジェクトの後半になるにつれてどんどん大きくなっていき、それが悪い結果につながることが多いです。
金額が大きくなればこのずれは埋められることもあるのですが、1,000〜5,000万円くらいの開発規模ですとずれの修正にかかるコストが大きく、どちらがそれを吸収するのかで外部と内部で軋轢を生みやすくなります。
Webの開発の場合、良きにせよ悪しきにせよ仕様の変更というのが良くおこります。数百億円のプロジェクトにおける数百万円の仕様変更と、1,000万円の規模における数百万円分の仕様変更ではうけるインパクトが大きく変わってきます。そして外部のリソースにおいては検収が第一になるので、とにかくはじめに決めた仕様でまずは検収をうけることが優先され、第一段階での仕様策定時からの市場の変化、状況の変化を見ないようになりがちです。
当たり前ですが、その結果作られたものは実際の運用にはあっておらず、使えない代物になります。内部の満足度も低く、お互いにとって嬉しくない結果に終わってしまうことが大抵です。
そういった事情をふまえると、個人的にはプロトタイプの作成は内部リソースで行うべきだと考えています。または柔軟に対応してもらえる外部リソースを求めるべきでしょう。そしてしばらく運用を積み重ねていった結果、見えてきた機能要件をまとめてから外部リソースを頼るべきだと思います。
とは言え、そうそう単純にいかないケースも多いとは思います。次回はそうした事情をふまえつつ、外部リソースの上手な使い方を考えてみたいと思います。
