本欄の読者は,自社でシステムを開発する際のプロセス(開発プロセス)として,どんなやり方を採用しているだろうか。こんな疑問を持ったのは,日経ITプロフェッショナル7月号で予定している,開発プロセスに関する特集を担当することになったからだ。

 主流は今もなお,ウォーターフォール型だろう。しかし,ここにきてRUP[用語解説]やXP[用語解説]のような反復型(スパイラル型)を採用する企業も,目立ってきている。開発プロセスとしてはどちらを選ぶべきなのか――。

注目を集める反復型

 ご存じのように,ウォーターフォール型は,大手ITベンダーをはじめとして,多くのシステム・インテグレータ(SI)が自社の開発プロセス標準として採用している。システム開発の歴史は,すなわちウォーターフォール型を洗練させる歴史,と言っても過言ではないほどだ。だが,このウォーターフォール型が,一部のプロジェクトで適用しなくなってきている。最大の理由は短期間でシステムをリリースする「短納期開発」が強く望まれるようになったからだ。

 現実にできるかどうかは別にして,ウォーターフォール型では初期段階で要件を確実に定義し切る必要がある。必然的にユーザーへのヒアリングや業務分析,システム分析の時間が多くなり,納期が2~3カ月というプロジェクトでは,これが大きな足かせになってしまう。加えて納期が決まっている開発チームにとっては,一刻も早く設計,実装へと進みたい気持ちが強い。このいら立ちがさらに要件定義の質を低下させ,プロジェクトが前進しないという事態が起こる。

 そんな中で注目を集めているのが「反復型」の開発プロセスだ。反復型では,システム要件がきちんと確定していない状態でも,まずは開発に入り,設計,実装,テストを短い期間に繰り返すことで,システムの品質を高めるアプローチをとる。RUPやXPなどがその代表で,最近ではScramやFDD(Feature Driven Development)といった開発プロセスも関心を集めている。これらの総称として「アジャイル・プロセス」という言葉が使われることもある(RUPとXPを一括りにするのはどうかという意見もあるだろうが,この際それは置いておく)。

 NECやNTTデータ,電通国際情報サービス(ISID)などの大手ITベンダー各社が,「今後の主流は反復型。すでに一部のプロジェクトに適用している」と異口同音に語る。それを反映してか,Webサイトや書籍や専門雑誌などで反復型の開発プロセスが取り上げられる機会も,急激に増えている。

それでもウォーターフォール型

 とはいえ,「小規模プロジェクト,例えば開発要員数が10人以下程度ならまだしも,それ以上になると,反復型では立ち行かない」という見方も少なくない。あるコンサルタントは「反復型のプロセスで重視するのは,ユーザー要件の頻繁な変更に対応できること。しかし,考えてみてほしい。そんなに要件が変わるプロジェクトが実際にどれだけあるのか」と語る。

 このコンサルタントは,特に基幹系システムにおいては,要件が不確定のままで,とにかく開発を急ぐという考えは危険だと強調する。要件変更を常に許す反復型は,基幹系システムには向かないというわけだ。このため,あくまでウォーターフォール型を貫くITベンダーもある。例えば富士通は,「SDEM」と呼ぶウォーターフォール型の開発プロセスを策定しており,それを業種・業務別別に作成した約200のテンプレートと組み合わせて適用していく。「テンプレートを使えば,顧客ニーズに合う開発期間の短縮は可能」(同社)

 ウォーターフォール型の開発プロセス,「ADSG」を社内標準とする日本IBMも同様だ。最近策定したWebシステム向けの開発プロセス標準「e-ADSG」も,内部設計から実装,テストまでを繰り返すものの,基本はあくまでウォーターフォール型である。

果たしてどっちが主流に?

 両社や先のコンサルタントがウォーターフォール型を重視する裏には,次のような理由もある。(1)要件を定義しないままでの見積もりや契約の方法が確立されていない,(2)頻繁なソフトウエアのリリースによる変更履歴の管理が難しい,(3)単体テストや結合テストを実施するテストの自動化に関するノウハウが蓄積されていない,などである。

 一方で,プロジェクトマネジメントに膨大な手間がかかるウォーターフォール型は,採算を考えると難しい面があるのも事実。UMLやオブジェクト指向など新しい開発技術との相性という面でも,反復型の方がいいという意見も一定の説得力を持つ。「反復型は,確かに優秀なソフトウエア・エンジニアが少人数で実施するプロジェクトでないと採れないアプローチかもしれない。しかし,だからウォーターフォール型かというと,それは違うと思う。要件をきっちり定義しない反復型の方がむしろ,日本のコミュニケーション・スタイルに合っていてやりやすいのではないか」(30代後半のベテラン・プロジェクトマネジャー)

 果たしてどちらかが主流になるのか,それとも折衷案など,新しい開発プロセスが生まれてくるのか。あるいは,これらを対立するものとしてではなく,適材適所で使い分けたり組み合わせるべきもの,と見るか。この混沌とした開発プロセスの状況を,ITエンジニアである皆さんはどのように見ているだろうか。

 日経ITプロフェッショナルでは,この疑問に対し,何らかの答えを導き出すべく,Webサイトを使って「開発プロセスに関する実態調査」を実施している。ぜひ,率直なご意見・ご感想をお寄せいただきたい。調査結果については,日経ITプロフェッショナル7月号(7月1日発売)および,IT ProのWebサイト上で報告する予定である。

(池上 俊也=日経ITプロフェッショナル編集部)

■記事中でお願いしたアンケートへのご回答は,こちらのページからお願いいたします(締切日:5月23日(金))。