システム開発プロジェクトが予算オーバーする理由

このエントリーをはてなブックマークに追加
Facebook にシェア
Pocket
LINEで送る

何故、システム開発プロジェクトはいつも予算オーバーしてしまうのか。

そもそもシステム開発に必要な費用にはどのようなものがあるのか?という点から考えてみた。

システム開発に必要な費用

システム開発に必要な費用を大ざっぱに分類すると、

  • システム全体の方向性を決定するための費用
  • アプリケーションを開発する費用
  • インフラを構築する費用
  • その他付帯作業にかかる費用
  • プロジェクトを管理する費用

の5つになる。

もちろん、他にも分類の仕方はある。例えば、イニシャルとランニング。あるいは作業費と外購費。はたまた開発工程別の費用など。今回は先にあげた5つの分類で整理してみる。

システム全体の方向性を決定するための費用

システム開発工程を、伝統的なV字モデルで説明すると、

  • システム企画構想
  • 要件定義
  • 基本設計
  • 詳細設計
  • 製造
  • 結合テスト
  • 総合テスト
  • 運用テスト

となる。

「システム全体の方向性」は「システム企画構想」フェーズであらかた決めておいて、「要件定義」フェーズで決定する。

「システム企画構想」と「要件定義」のフェーズで検討すべきことは(これまたざっくりだが)以下のように分類される。

  • 事業・業務の今後の姿、目指す姿(ビジネスモデルや業務フロー、ビジネスルール、組織体制など)
  • アプリケーションそのもの(システム機能やデータモデル、外部インターフェース。アプリケーション基盤や処理方式と、信頼性・性能・拡張性などの非機能)
  • インフラ(サーバー、ストレージ、ネットワーク、OS、ミドルウェア)
  • その他付帯(移行・展開の方針、運用・保守の方針、構成管理の方法や開発標準や開発規約)
  • プロジェクト管理(スコープ、時間、コスト、人的資源、コミュニケーション、課題、進捗)

特に、「事業・業務の今後の姿、目指す姿」は重要である。これこそが、多大な時間とお金をかけてシステム開発を行う目的となる(ところがここが曖昧なままのシステム開発プロジェクトも少なからず、ある)。

アプリケーションを開発する費用

上に書いた分類のうち、

  • アプリケーションそのもの(システム機能やデータモデル、外部インターフェース。アプリケーション基盤や処理方式と、信頼性・性能・拡張性などの非機能)

に該当する。「基本設計」「詳細設計」「製造」フェーズで具体化(具現化)し、「結合テスト」「総合テスト」「運用テスト」フェーズで狙い通りに具体化できているか確認する。

インフラを構築する費用

  • インフラ(サーバー、ストレージ、ネットワーク、OS、ミドルウェア)

に該当する。

「要件定義」フェーズ終了までにインフラ構成(サーバー台数、CPU,メモリ、ディスクボリューム、冗長化や負荷分散、アプリケーション機能配置やバックアップ方式など)はあらかた決まっており、「基本設計」フェーズ以降では、アプリケーション設計の内容と整合をとりながら、インフラ構築に向けた具体的な設計と、インフラ構築作業そのものを行う。

その他付帯作業にかかる費用

  • その他付帯(移行・展開の方針、運用・保守の方針、構成管理の方法や開発標準や開発規約)

「アプリケーション」や「インフラ」と同様に、「基本設計」フェーズ以降、徐々に具体化していく。構成管理や開発標準・開発規約はその方法を決定すること以上に徹底することが難しく、思いのほか手間暇がかかる。

プロジェクト管理にかかる費用

  • プロジェクト管理(スコープ、時間、コスト、人的資源、コミュニケーション、課題、進捗)

システム開発を趣味でやっているのであれば不要かもしれないが、ビジネスとしてやっている以上は避けて通れないし、プロジェクト管理の巧拙がプロジェクトの成否のカギを握っているということは珍しくない。重要なファクターである。

まれに、プロジェクト管理を単なる事務方作業のように捉えている人がいるが、それは、どちらかといえばPMOのイメージを持っているんだろうと思う。(PMOはPMOで高度な管理・調整能力が求められますので、いずれにせよ「単なる事務方作業」は誤った認識です)。

システム開発プロジェクトが予算オーバーする理由

システム開発プロジェクトが予算オーバーしてしまう理由には、「要件が変わった」とか「不測の事態が発生した」とかいろいろあろうかと思うが、それ以前に、見積対象の項目に漏れがあったという事が意外なほど多い。

具体的には、上にあげた5つの分類のうち、

  • アプリケーションを開発する費用
  • インフラを構築する費用

を除く、残りの3つ、

  • システム全体の方向性を決定するための費用
  • その他付帯作業にかかる費用
  • プロジェクトを管理する費用

について十分に見積もられていない(作業が発生することが予測・計画されていない)。

費用として見積もられていなくても、これらの作業は発生してしまうわけだから予算オーバーするのは当たり前であり、一言でいえば「見積が甘い」のである。

先ほども書いたが、予算がオーバーしてしまう理由は他にもたくさん考えられるだろう。であるのに、なぜこのような記事を書いたか?それは即効性の問題である。顧客要件をコントロールするのは困難なことだし、不測の事態に備えるにも限界はある。そもそも不測の事態が発生するかはわからない。

しかし、これまで見積対象が抜け落ちていた項目を見積もりに含めるだけならすぐにできる。もし、見積対象から漏れている項目があるのであれば今からでも遅くない。ぜひとも見積対象に含めてみて、これらの金額を含めて投資評価を行っていただきだい。

 

このエントリーをはてなブックマークに追加
Facebook にシェア
Pocket
LINEで送る

カテゴリーIT