VNEXTの会社紹介資料
2023/07/18
システム開発初心者にとって、システム開発に必要な期間はいったいどのくらいなのか、どのくらいの費用がかかるのかは、まったく想像がつかないという場合がほとんどでしょう。もちろん、システムの規模の大小によって必要な時間も費用も大きく異なります。
しかし、どのようなシステムであっても、基本的な開発の流れはほぼ同じなので、開発の各工程に必要な時間や人員の配分は、大きく異なることはほぼありません。
つまり、その配分が把握できれば、"このシステム規模の場合、この程度の開発期間と費用が必要となる"という見積りが立てられるようになります。
本記事では、システム開発初心者に向けて「システム開発の基本的な流れとスケジュール設定の考え方、工期の見積り方法」について解説します。
目次
|システム開発の基本的な流れとスケジュールの考え方
システム開発の基本的な流れは、どのシステムにおいてもほぼ同じです。
以下では、システム開発の工程とマスタスケジュールを例に挙げ、スケジュール設定の考え方を解説していきます。
|開発の基本的な流れ
冒頭でも触れましたが、どのようなシステム開発においても、基本的な流れ(工程の順序)は次のようになります。
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ヶ月目
*コーディングと単体テストは、プログラムごとにセットで行うのが一般的です。
システムの規模によって全体の工期は変わりますが、各工程にかかる期間配分のイメージは、おおよそ上記のようになるでしょう。
|各工程に必要なメンバーや人数は異なる
少数精鋭の開発集団が中小規模のシステムを開発するケースであれば、要件定義から最後のテスト工程までを同じメンバーで進める場合もありますが、
一般的には各工程でメンバーが変わることが多いです。
開発に携わるメンバーは以下となります。
PM:プロジェクトマネージャー
PL:プロジェクトリーダー
SE:システムエンジニア
PG:プログラマー
先ほどの工程ごとに見れば、次のようになります。
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は1人、PLは1~2人と決まった人数がアサインされますが、SEやPGは通常、工程によって増減します。
たとえば、内部設計ではPGの中でもメインとなるメンバーが参加し、コーディング段階になるとほかのPGも参加して大人数で進めるイメージです。
|作業量は「人月」で表す
各工程がどのくらいのボリュームとなるかを検討する際に、「人月(にんげつ)」という言葉を使うことがよくあります。
たとえば、「10人月」とは「1人だと10ヶ月かかる作業量」、あるいは「10人でやれば1ヶ月かかる作業量」という意味です。
一般的には、1ヶ月=20日でこなせる作業量として考えます。
例:10人月のボリュームのシステム開発に必要な費用は、1人月=100万円とした場合、
・100万円 × 10人月 = 1,000万円
となります。
|工期や費用の見積もり方法
以下では、システム開発にかかる工期と費用の見積もり方法について解説します。
|「要件定義」の後に工期を見積もる
作業のボリュームがわからないと、工期を見積もることはできません。
そのため、最初の工程である「要件定義」においてシステムに必要な機能を決定した後に、工期を見積もることになります。
とはいえ、顧客側にも「いつまでにリリースしたい」という要望があるので、見積もった作業量と顧客の希望納期から、必要な人員を割り出します。
たとえば、「納期は6ヶ月にして欲しい」といわれたシステム開発が300人月の作業量であると見積もった場合、単純計算で300÷6=50人の人員を確保
すればよいということになります。
要件定義については以下の記事で詳しく解説していますので、あわせてご覧ください。
《関連記事》要件定義ってなに?システム開発の進め方
|過去の開発実績から見積もる
要件定義を実施しても、自社のメンバーであればどのくらいの人月でこなせるのかが見えない場合は「自社の過去の開発」実績を参考にしてみましょう。
「前回はこのボリュームのシステムを3ヶ月で納品できたから、今回のボリュームであれば工期はこのくらいかかる」と検討をつけることができます。
もちろん、投入できる人材の質や量にも左右されますが、おおよその目安にはなるでしょう。
|業界団体が提供している標準値から見積もる
比較検討できる過去の実績がない場合は、JUAS(日本情報システムユーザー協会)で毎年発行されている「ソフトウエアメトリックス調査報告書」
などを参考にするという方法もあります。
この報告書によると、システム開発の標準工期は次の式で表されます。
・標準工期(月数)= 投入工数の立方根 × 2.5
この算出式は、多くの企業でのシステム開発の実績データから統計的に出されたものです。
この式に当てはめると、たとえば「投入工数が1,000人月と見積もった場合の標準的な工期は25ヶ月である」となります。
|費用は「人月×単価」で計算する
作業量が見積もれれば、費用は作業量(人月)に単価をかけると算出できます。
たとえば、国内開発チームを利用する場合、300人月のシステム開発に、単価(1人月)=100万円のメンバーを投入する場合の費用は、
・100万円 × 300人月 = 3億円
となるわけです。
|まとめ:スケジュール設定は「余裕」を持って
慣れないうちは細かめにスケジュールを引きがちですが、注意したいのは、システム開発にはトラブルがつきものだということです。
「必ず何かしらのトラブルが発生する」ということを念頭に置き、リカバリ期間(バッファ)を設けることが重要です。
残業で遅れを取り戻すといった状況が続くことのないように、スケジュールはかならず余裕を持って設定するようにしましょう。
|VNEXTなら国内コストと比べて約70%以下のコストで開発可能!
弊社VNEXTでは、「オフショア開発」で国内開発コストと比べて約70%以下のコストで開発サービスを提供しています。
オフショア開発は、開発業務を海外にアウトソースする手法で、近年日本企業の多くが導入しています。
開発にかかるコストは人件費に拠るところが大きいです。
VNEXTのベトナムオフショア開発であれば、日本より人件費の安い優秀なエンジニアが確保できます。
また、ベトナム人エンジニアが開発したシステムは、独立部署である品質管理部の日本人エンジニアによりチェックをしているため、
日本と変わらない高クオリティを保証します。
システム開発の外注を検討する際は、ぜひVNEXTにご相談ください!
▶️オフショア開発サービスの詳細を見る:https://vnext.co.jp/service-labo.html
《お役立ち資料》
オフショア開発を検討する際に役立つ資料が、以下バナーより無料ダウンロードできます。この機会にぜひご活用ください!