日経ITプロフェッショナルは,システム開発の現場でどんな開発プロセスが使われているのかを調べるために,Webサイト(IT Pro)上で「開発プロセスに関する実態調査」を実施した。その結果,「勤務する企業や組織に標準的な開発プロセスがあるのは5割強」「標準的な開発プロセスはウォーターフォール型が8割強」「Webシステム開発では反復型が6割を占める」――など,これまで知られていなかった実態が明らかになった。

 調査では1542人から有効回答を得た。IT Proの読者にもご協力をお願いしている(関連記事)。回答していただいた皆さんに,この場を借りて感謝したい。なお,詳細な結果は日経ITプロフェッショナル7月号特集「決定版!開発プロセス大全」の中で掲載している。ここでは,その主要部分を紹介していこう。

「自社標準がある」は52.2%

 調査ではまず,企業,組織に標準的な開発プロセスが必要と思うかどうかを聞いた。グラフは割愛するが,「はい」と答えた割合は95.0%に上った。ほとんどのITエンジニアが標準的な開発プロセスを必要と感じている。

 しかし,現在勤務する企業や組織に標準的な開発プロセスがある」と回答したのは,52.2%と半数強でしかない。会社にはあっても傘下の部門に行きわたっていない場合もあるので,実際はもう少し多いかもしれない。実装フェーズなどシステム開発の一部を請け負う開発会社では,元請け会社の標準開発プロセスを採用し,自社では標準を持たないところもある。さらにユーザー企業の情報システム部門などで開発をアウトソーシングしているため自社標準のプロセスを必要としない場合もある。

 それでも回答者の95%が「標準的な開発プロセスが必要」と答えている割には低い数字だと言えるだろう。

自社標準はウォーターフォール型が82.6%

図1●自社標準の開発プロセスの種類(複数回答)
8割以上がウォーターフォール型を自社標準の開発プロセスとしている

図2●作成中の標準開発プロセスの種類(複数回答)
現在作成中の開発プロセスとしては,ウォーターフォール型の割合が大きく低下し,反復型の割合が増えている

図3●Webシステム開発で採用した開発プロセスの種類
ウォーターフォール型の割合が大きく低下し,アジャイル型を含む反復型の割合が約6割に上る

図4●Webシステム開発でのウォーターフォール型と反復型を組み合わせた開発プロセスの評価
プロジェクトマネジメントが難しくなる半面,品質や納期,コミュニケーション,モチベーションの面で効果が上がっている

図5●Webシステム開発でのRUPの評価
納期の短縮,品質向上の効果が高いが,コストおよびプロジェクトマネジメント面での不満が高い

図6●大規模システム開発でのウォーターフォール型の評価
プロジェクトマネジメント面で最も効果が出ている

 では,標準開発プロセスがある会社では,どんな種類の開発プロセスを標準として採用しているのだろうか。図1[拡大表示])は,現在勤めている企業や組織にどんな種類の標準開発プロセスがあるかを尋ねた結果である。

 それによると,ウォーターフォール型が82.6%と,圧倒的に多いことが分かった。ウォーターフォール型以外では,「ウォーターフォール型と反復型を組み合わせた開発プロセス」が26.8%,「RUP(Rational Unified Process)およびRUPをカスタマイズした開発プロセス」が16.4%,「RUP以外の反復型開発プロセス」が9.2%,「アジャイル型開発プロセス」が5.6%という結果だった。

 一方,現在作成中の標準開発プロセスを聞いたところ,「ウォーターフォール型」が46.7%と大きく低下する。代わって,「ウォーターフォール型と反復型の組み合わせ」は43.5%,「RUPやRUPのカスタマイズ」は20.1%,「RUP以外の反復型」は10.3%,「アジャイル型」は12.0%と,非ウォーターフォール型が上昇。「ウォーターフォール型からそれ以外へ」という潮流は確実にあるようだ(図2[拡大表示])。

Webシステム開発は反復型が多い

 Webシステムや大規模システムなどのタイプ別に見ると,どんな種類の開発プロセスが使われているのだろうか。最初に,Webシステム開発から見てみよう(図3[拡大表示])。

 Webシステム開発では,「ウォーターフォール型と反復型の組み合わせ」が35.0%,「RUPやRUPのカスタマイズ」は8.0%,「RUP以外の反復型開発プロセス」は10.8%と,反復型開発プロセスの割合が多い。対照的にウォーターフォール型は35.3%にとどまった。上で見たように,自社の標準的な開発プロセスではウォーターフォール型が82.6%に上るものの,Webシステム開発での採用に限れば反復型が過半数を占める。

 Webシステム開発における「ウォーターフォール型と反復型の組み合わせ」は,プロジェクトマネジメントに関する評価が40.9%と低い(図4[拡大表示])。反復を取り入れる分,プロジェクトマネジメントが複雑になるからだろう。

 Webシステム開発におけるRUPの評価も同様な傾向だ(図5[拡大表示])。プロジェクトマネジメントに関する評価は同様に低く(41.2%),逆に「品質が向上した」が67.6%,「納期/工数が短縮できた」が51.5%,「メンバーや顧客とコミュニケーションが取りやすくなった」が55.9%と高い。

大規模開発は9割強がウォーターフォール型

 基幹系などの大規模システム開発における開発プロセスの種類を見ると,圧倒的にウォーターフォール型が採用されている。大規模システム開発で「ウォーターフォール型」を採用している割合は79.3%と約8割に上る。「ウォーターフォール型と反復型の組み合わせ」も14.7%ある。合わせると実に94.0%がウォーターフォール型またはウォーターフォールの改良型を採用している。逆に,「RUPやRUPのカスタマイズ」は2.5%,「RUP以外の反復型開発プロセス」は1.1%など,非ウォーターフォール型は極めて少ない。大規模開発では,まだまだウォーターフォール型が主流であることが裏付けられた。

 大規模システム開発でウォーターフォール型を採用した回答者に,その評価を聞いたのが図6[拡大表示]。高い評価だったのが「プロジェクトマネジメントがやりやすい」で,82.2%が「効果があった」と答えた。長い歴史を持つウォーターフォール型では,プロジェクトマネジメントのノウハウが確立されていることの表れだ。

 その一方で,納期やコストに対する評価は厳しい。「納期/工数を短縮できた」は19.0%,「コストを削減できた」は14.5%と,いずれも低い評価にとどまった。要件が確立できずに手戻りが発生するウォーターフォール型の問題点を反映している。

 以上,ざっと調査内容を紹介してきたが,今回の結果では注目すべき点が2つある。1つは,システム開発の現場では,様々な開発プロセスを“適材適所”で使い分けている点だ。特に大規模システム開発ではウォーターフォール型が圧倒的に採用されている。これにより,よく言われる「ウォータフォール型は過去のもの」という見方は適切ではないことが証明された。

 もう1つは,冒頭で述べたとおり,勤務する企業や組織に標準的な開発プロセスがあるのは,5割強に過ぎない点である。「意外に多いじゃないか」と思う読者もいるかもしれないが,標準的な開発プロセスが必要と思う回答者が95%に上るのに比べれば大きくかい離する。

 それ以前に,システム開発を担う企業や組織にとって開発プロセスは仕事のやり方そのもの。開発プロセスがないということは,工学的アプローチで再現性のある仕事ができないことを意味する。「CMMI(Capability Maturity Model Integration)」などを持ち出すまでもなく,緊急に解決すべき問題と言えるのではないだろうか。

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