日本と米国では、使われている開発手法にどのような違いがあるのか。日本のWebnet ITでクラウドを活用した新サービスを開発している2人の外国人が議論する。一人はオーストラリア出身で、10年以上前から日本でIT関連の仕事を続けるJason Winder氏。もう一人は米国出身で、スタートアップ(ベンチャー)やSony Music Entertainmentなどの米国企業でシステム開発に携わった後、2008年に来日したPaul Oswald氏である。

写真1●
日本のWebnet ITで請求書発行の新サービスを開発するMakeLeaps事業に携わる主なメンバー。手前の2人は事業設立者。左はJason Winder氏。オーストラリア出身。オーストラリアで大学を卒業してITエンジニアを務めた後、2001年に来日。外資企業向けにオフィス基盤やシステム構築などを請け負うWebnet ITを2003年に設立。右はPaul Oswald氏。米国出身。米国で大学を卒業して米国のSony Music Entertainmentなどでシステム開発に携わった後、2008年に来日

Jason Winder(以下Jason) Paulは生まれ育ったニューヨークで、さまざまな開発手法を経験してるよね。

Paul Oswald(以下Paul) 大学を出た後、二つのスタートアップ企業でソフトウエアエンジニアとして働いたんだ。その2社では、アジャイル型で開発した。米国における中小規模の開発では一般的なやり方だ。ユーザーと頻繁に話し合ってフィーチャー(ひとまとまりの機能)を決め、それを細かく分けて実装していった。ドキュメントは、保守で必要になりそうなアプリケーション構造の解説書ぐらいしか作らなかった。

議論の要点
議論の要点

 その2社の次に働いたSony Music Entertainment(SME)では、もっぱらウォーターフォールモデルでの大規模なプロジェクトに携わった。ドキュメントを大量に作って、フェーズごとに確認や検証を行うスタイルで開発することが多かった。とにかく仕様書をたくさん書いて、その通りにプログラムを作ることが大事な仕事だった。

Jason 米国ではアジャイルの採用が増えているとはいえ、大規模開発の場合はウォーターフォールモデルが最適なのかな?日本では規模にかかわらず、ウォーターフォールモデルで開発することが多いんだけど。

Paul ウォーターフォールモデルが合うかどうかは、ものによると思うよ。ウォーターフォールモデルは、ドキュメントと計画を重視して、1回仕様を決めたら、それを変化させずに最後まで突き進むスタイル。だから、きっちりとプロセスが決まっている業務を自動化する場合にはうまくいく。1回作ったら、それを数年にわたりそのまま使い続けるハードウエアの開発にも最適だと思う。逆に、開発期間中や開発後に次々に変化が生じるシステムの開発には向かない面がある。

Jason 日本は自動車や精密機器などハードウエアを作るのが得意だね。日本でウォーターフォールモデルが広く採用されている背景には、ソフトウエアも得意なハードウエアと同じように作ろうとしている部分があるのかもしれないね。

Paul ソフトウエアをハードウエアのように開発するというのは、ちょっと奇妙だな。だって米国では、ハードウエアを市場に早く出そうとして、ソフトウエアのように開発する傾向が強まっている。もたもたしていたら、ライバルに先を越されてしまうから。

 例えばNASA(米航空宇宙局)は最初から完成形のロケットを作り出そうとするけど、SpaceX(米Space Exploration Technologies)はプロトタイプを作って改良を重ねるやり方によってNASAよりも速く開発できているように見える。