読者調査結果

@IT読者調査結果:デベロッパー編(2)
〜注目のプロジェクト成功率向上方法とは?〜

小柴 豊
アイティメディア 企画部
2005/3/23

 開発プロセス/分析・設計技法/フレームワークなど、ソフトウェア開発プロジェクトを成功に導くためのさまざまなアプローチが話題となっている。しかしその一方で、失敗プロジェクトやデスマーチに関する話題も絶えることがない。果たして開発プロジェクトの成功率は、どの程度向上しているのだろうか? @ITのデベロッパー系2フォーラム(Java SolutionInsider.NET)が合同で実施した読者調査の結果から、その状況を紹介しよう。

開発プロジェクトの“成功率”は約6割

 まず開発プロジェクトの成功を“納期+予算+品質”の達成水準で測ると仮定したうえで、読者が過去1年間にかかわったプロジェクトの成功率を尋ねた結果が、図1だ。回答者全体の成功率を平均すると59%となり、現在のプロジェクトのおよそ4割が何らかの“失敗”を包含していることが分かる。

図1 開発プロジェクトの“成功率” (N=287)

 続いて上記の成功率がここ数年どのように推移しているのか尋ねたところ、「年々向上している」との回答は25%にとどまった(図2)。プロジェクト成功率の向上は、ソフトウェア開発に携わる多くの人が抱える課題といえる。

図2 プロジェクト成功率の推移 (N=287)

プロジェクト成功率向上の阻害要因は?

 では最近の開発プロジェクトにおける、成功率向上の阻害要因とは何なのだろうか? 複数回答で尋ねたところ、「開発が短期化し、進ちょく管理が困難になっている」を筆頭に、「開発予算が削減され、十分な開発リソースが確保できない」「チーム内で開発手順などの標準化や情報共有が進まない」といった項目が上位に挙げられた(図3)。厳しさを増す受注環境の中、プロジェクト成功率を向上させるためには、いままでにない新たな取り組みが必要となりそうだ。

図3 プロジェクトの成功率向上の阻害要因 (複数回答 N=287)

プロジェクト成功率向上の鍵は「組織力」と「全工程の一貫管理」

 では今後プロジェクトの成功率を向上させる鍵は、どこにあるのだろうか? 試みに2組の方向性を提示し、読者におのおのどちらが重要と思うか尋ねた結果が、図4だ。まず1組目、

    A)個々のメンバーの技術スキル向上
    B)開発チームの組織的な成熟度向上

の選択状況を見ると、「Aが重要+どちらかといえばAが重要」(計33%)対「Bが重要+どちらかといえばBが重要」(計66%)となり、全体的には個々のメンバースキルよりもチームとしての成熟度が重視されていることが分かった。もちろん業務を進めるうえで個人スキルは重要だが、いつも優秀なメンバーだけ集めたプロジェクトが組めるわけではない。

  • 個人スキルによる格差を減らし、開発メンバーが同じアウトプットを出せる環境づくりが重要(読者のコメント)

 短納期/少リソース時代のプロジェクトには、一握りのスーパーエンジニアよりも、標準化された組織力の方が求められるようだ。

図4 今後のプロジェクト成功の鍵 (N=287)

 次に2組目、

    A)実装工程を中心としたアプリケーションの開発生産性向上
    B)分析/設計/開発/運用を通じたアプリケーション・ライフサイクルの一貫管理

の選択状況を見ると、「Aが重要+どちらかといえばAが重要」(計30%)対「Bが重要+どちらかといえばBが重要」(計70%)となり、プロジェクト全工程を通じた一貫管理の重要性が、強く認識されていることが分かる。

今後注目されるプロジェクト成功率向上方法は?

 続いて読者が現在実施している具体的なプロジェクト成功率向上の方法を尋ねたところ、「統合開発環境(IDE)の利用」がトップに挙げられたほか、「ソフトウェア構成管理/バージョン管理」「APIリファレンスやコーディング標準の作成」の実施率が、それぞれ回答者全体の50%を上回った(図5 青棒)。これら実装回りの生産性向上策は、一定レベルの普及を実現したようだ。

 一方読者が今後実施を予定・検討している方法を見ると、「機能テストや回帰テストの自動化」「単体テストツールによる品質の向上」といった“テスト関連項目”や、「適切な開発プロセスの選択/最適化」「要求管理の構造化/要求変化の影響分析」などの“上流工程関連項目”が上位に挙げられている(図5 黄棒)。

図5 プロジェクト成功率の向上法 (複数回答 N=287)

 ソフトウェア開発におけるテストの重要性はいまに始まった問題ではないが、

  • テストやコード生成の自動化は、業務に忙殺されると「いまのままでも何とかなる」と逃げることもできるが、そうしたことの具体的な改善を続けることで、確実に生産にゆとりが生じ、成功につながる

とのコメントにあるとおり、時間/予算に余裕のない現在だからこそ、効率的なテスト実施による品質向上が期待されているようだ。

 また要求管理については、

  • 中間期段階でのユーザーへの仕様再確認フェイズ(が重要)。この時間が取れず、納品まで確認できない場合があり、ユーザーとのずれが発生することが多い
  • 仕様変更に柔軟な対応をせざるを得ないので、変更による影響・リスクの適切な管理が重要

など、プロジェクト全工程を通じたユーザー要求管理の必要性を訴える声が、数多く聞かれた。

 こうした状況に対応して、マイクロソフト/IBM/ボーランドなどが提供する最新開発ツール群は、いずれも分析/設計〜テスト/運用までカバーする方向で機能を拡張している。果たしてツールの進化がプロジェクト成功率の向上に寄与することができるかどうか、今後の市場の動きに注目していきたい。

お薦め関連記事
ビジネス要求に基づく“役立つシステム”の実現手法 (@IT情報マネジメント)
ソフトウェアのテスト技術の現状と今後 (IT Architect)
Visual Studio 2005 Team System 概要 (Insider.NET)
要求定義もプロジェクト管理もEclipse上で、IBM (NewsInsight)
[Interview] 開発者はこんなに怒っているんだ! ボーランド (NewsInsight)

調査概要
調査方法 Java Solution/Insider.NETフォーラムからリンクしたWebアンケート
調査期間 2004年12月1日〜12月24日
有効回答数 287件


@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)