VNEXTの会社紹介資料

資料ダウンロード

ホーム > V-BLOG > 技術・サービス

システム開発にはどのくらいかかる?開発の基礎スケジュール

2021/03/22

システム開発初心者にとって、システム開発に必要な期間はいったいどのくらいなのか、どのくらいの費用がかかるのかは、まったく想像がつかないという場合がほとんどでしょう。

もちろん、システムの規模の大小によって必要な時間も費用も大きく異なります。しかし、どのようなシステムであっても、基本的な開発の流れはほぼ同じなので、開発の各工程に必要な時間や人員の配分は、大きく異なることはほぼありません。

つまり、その配分が把握できれば、「このシステム規模の場合、この程度の開発期間と費用が必要となる」という見積りが立てられるようになります。

この記事では、システム開発初心者に向けて、システム開発の基本的な流れとスケジュール設定の考え方、工期の見積り方について解説します。

 

development cost

 

システム開発の基本的な流れとスケジュールの考え方

・・開発の基本的な流れは、どのシステムでもほぼ同じ

冒頭でも触れましたが、どのようなシステム開発においても、基本的な流れ(工程の順序)は次のようになります。

 1.要件定義:システムの目的や顧客の要求から、システムの要件を定義づける

 2.外部設計(基本設計):システムの基本的な仕様を設計する

 3.内部設計(詳細設計):システムの機能を実現するための内部処理を設計する

 4.コーディング:プログラムを作成する

 5.単体テスト:機能ごとのプログラムを単体で動作確認をする

 6.結合テスト:プログラム同士を結びつけて動作確認をする

 7.システムテスト(総合テスト):実際と同じ環境下で動作確認をする

 8.運用テスト:顧客側で実際に運用して動作確認をする

 

・・マスタスケジュールの一例

工期が1年程度と見積もられたシステム開発の場合のマスタスケジュールの例を見てみましょう。

 1.要件定義:1ヵ月目

 2.外部設計(基本設計):2~3ヵ月目

 3.内部設計(詳細設計):4~5ヵ月目

 4.コーディング:5~7ヵ月目(※)

 5.単体テスト:5~7ヵ月目(※)

 6.結合テスト:8~9ヵ月目

 7.システムテスト(総合テスト):10~11ヵ月目

 8.運用テスト:12ヵ月目

 

※コーディングと単体テストは、プログラムごとにセットで行うのが一般的です。

 

システムの規模によって全体の工期は変わりますが、各工程にかかる期間配分のイメージは、おおよそ上記のようになるでしょう。

 

・・各工程に必要なメンバーや人数は異なる

少数精鋭の開発集団が中小規模のシステムを開発するケースであれば、要件定義から最後のテスト工程までを同じメンバーで進める場合もありますが、一般的には各工程でメンバーが変わることが多いです。先ほどの工程ごとに見れば、次のようになります。

 

 1.要件定義:PM、PL、SE

 2.外部設計(基本設計):PM、PL、SE

 3.内部設計(詳細設計):PM、PL、SE、PG

 4.コーディング:PM、PL、SE、PG

 5.単体テスト:PM、PL、SE、PG

 6.結合テスト:PM、PL、SE、PG

 7.システムテスト(総合テスト):PM、PL、SE、PG

 

 PM:プロジェクトマネージャー

 PL:プロジェクトリーダー

 SE:システムエンジニア

 PG:プログラマー

 

また、PMは1人、PLは1~2人と決まった人数がアサインされますが、SEやPGは通常、工程によって増減します。たとえば、内部設計ではPGの中でもメインとなるメンバーが参加し、コーディング段階になるとほかのPGも参加して大人数で進める、というイメージです。

 

・・作業量は「人月」で表すことが多い

各工程がどのくらいのボリュームとなるかを検討する際に、「人月(にんげつ)」という言葉を使うことがよくあります。たとえば、「10人月」とは「1人だと10ヵ月かかる作業量」、あるいは「10人でやれば1ヵ月かかる作業量」という意味です。一般的には、1ヵ月=20日でこなせる作業量として考えます。

例:10人月のボリュームのシステム開発に必要な費用は、1人月=100万円の場合、

 100万円×10人月=1000万円

となります。

 

工期や費用の見積り方

・・「要件定義」の後に工期を見積もる

作業のボリュームがわからないと、工期を見積もることはできません。そのため、最初の工程である「要件定義」においてシステムに必要な機能を決定した後に、工期を見積もることになります。

とはいえ、顧客側にも「いつまでにリリースしたい」という要望があるでしょうから、見積もった作業量と顧客の希望納期から、必要な人員を割り出します。たとえば、「納期は6ヵ月にして欲しい」といわれたシステム開発が300人月の作業量であると見積もった場合、単純計算で300÷6=50人の人員を確保すればよいということになります。

 

・・過去の開発実績から見積もる

要件定義を実施しても、自社のメンバーであればどのくらいの人月でこなせるのかが見えない場合は、自社の過去の開発」実績を参考にしてみましょう。「前回はこのボリュームのシステムを3ヵ月で納品できたから、今回のこのボリュームであれば、工期はこのくらいかかるかな」などと検討をつけることができます。もちろん、投入できる人材の質や量にも左右されますが、おおよその目安にはなるでしょう。

 

・・業界団体が提供している標準値から見積もる

比較検討できる過去の実績がない場合は、JUAS(日本情報システムユーザー協会)で毎年発行されている「ソフトウエアメトリックス調査報告書」などを参考にするという方法もあります。この報告書によると、システム開発の標準工期は次の式で表されます。

 

 標準工期(月数)=投入工数の立方根×2.5

 

この算出式は、多くの企業でのシステム開発の実績データから統計的に出されたものです。この式に当てはめると、たとえば「投入工数が1000人月と見積もった場合の標準的な工期は25ヵ月である」となります。

 

・・費用は「人月×単価」で計算する

作業量が見積もれれば、費用は作業量(人月)に単価をかけると算出できます。

たとえば、国内開発チームを利用する場合、300人月のシステム開発に、単価(1人月)=100万円のメンバーを投入する場合の費用は、

 

 100万円×300人月=3億円

 

となるわけです。

 

【まとめ】スケジュール設定は余裕を持って

慣れないうちは細かめにスケジュールを引きがちですが、注意したいのは、システム開発にはトラブルがつきものだということです。「かならず何らかのトラブルが発生する」ということを念頭に置き、リカバリ期間(バッファ)を設けることが重要です。

 

残業で遅れを取り戻すといった状況が続くことのないように、スケジュールはかならず余裕を持って設定するようにしましょう。

 

!!知りませんか?VNEXTでは国内開発コストと比べて約70%以下のコストでの開発方法をご提供しております。

詳細はこちらです:https://vnext.co.jp/ja-jp/service-labo.html