- 更新日 2024.10.18
- カテゴリー システム開発
システム開発の手法4つの特徴・メリット・デメリットを解説|比較表付き【2024年最新版】
手法 |
向いているシステム開発 |
---|---|
ウォーターフォール |
・機能・予算・納期が明確なプロジェクト ・大規模な業務システムの開発(銀行や公的機関など) |
プロトタイプ |
・前例のないWebアプリケーション・システムなどの開発 ・全体をコントロールしやすい小〜中規模プロジェクト |
アジャイル |
・要件や仕様が固まっていないプロジェクト ・ECやSNSなどのWebサービス、モバイルアプリやゲームなど |
スパイラル |
・品質重視の大規模プロジェクト(業務システム) ・途中で仕様変更が生じる可能性のある開発 |
システム開発には複数の手法があり、プロジェクトに応じて適切な開発手法が使い分けられています。ただし、依頼するシステムの内容によっては、開発手法の特徴がメリットやデメリットになってしまう点に注意。
システム開発には複数の手法があり、プロジェクトに応じて適切な開発手法が使い分けられています。ただし、依頼するシステムの内容によっては、開発手法の特徴がメリットやデメリットになってしまう点に注意。
依頼する側が手法の詳細まで把握する必要はありませんが、システム開発の工程を最適化するためにも、どのような開発手法があるのか?どのようなプロジェクトに向いているのか?開発手法それぞれの特徴・違いを把握しておきましょう。
最後までご覧いただければ、初めてシステム開発を依頼する方でも、適切な開発手法を選択する知識が得られます。
※無料でダウンロードできる中小企業向けシステム開発の進め方をご用意しています。こちらもあわせてご活用ください。
システム開発依頼前にチェック 中小企業向けシステム開発の進め方|完全ガイドブックのダウンロード | システム幹事 中小企業向けシステム開発の進め方 無料でプレゼントいたします! ・システム開発を成功させる7ステップ ・システム開発の4つ...
システム開発の手法①:ウォーターフォール型
ウォーターフォール(Waterfall)とは「滝、落水」を意味する英単語。文字通り、水が上流から下流に流れるように、決められた作業工程を一つひとつ順番に遂行していくシステム開発手法です。
1970年代から活用されているシステム開発手法の基本でもあり、日本でもっとも活用される開発モデルがウォーターフォール型。
ウォーターフォール型は下の図のようにV字型で進行していき、リリースまでの具体的な開発工程は「要件定義」>「設計」>「構築」>「テスト」となることが一般的。要件定義を策定してから設計に取りかかるなど、ウォーターフォール型の特徴は、上流の工程を100%完了させてから下流の工程に移ること。要件定義・設計は「上流工程」、開発・テストは「下流工程」と呼ばれます。
また、構築から設計に戻るといった「開発工程の逆戻り・手戻り」が、基本的に想定されていないこともウォーターフォール型の特徴です。
関連記事:システム開発の要件定義とは?受託開発における重要性や進め方を解説!
向いている開発プロジェクト
向いているシステム開発
・機能・予算・納期が明確なプロジェクト
・大規模な業務システムの開発(銀行や公的機関など)
ウォーターフォール型は、ひとつの工程が完了してから次の工程に進むため、プロジェクトの安定的な進行が期待できる開発手法です。つまりウォーターフォール型は、必要な機能や要件が明確であるプロジェクト、予算・納期が明確なプロジェクトに最適なシステム開発手法だといえるでしょう。
具体的には、業務要件のハッキリしている業務アプリケーション・システム開発や、専用のコンピューターを活用する汎用系のシステムなど。また、多くのエンジニアの動きを管理しやすいので、大規模システム開発にも向いている開発手法です。
メリットとデメリット
ウォーターフォール型のメリット
リソースやスケジューつの管理がしやすい
幅広いプロジェクトに対応できる
ウォーターフォール型の開発は、やり直しや修正がないように各開発工程で100%を目指すので、最初の要件定義の段階で綿密なシステム開発計画を策定します。このため、リリースまでのスケジュールを管理しやすい、開発予算や人員の確保などのリソースを管理しやすいメリットがあります。
さらに、シンプルで理解しやすいウォーターフォール型は、幅広いプロジェクトに対応できる汎用性の高いシステム開発手法。ほとんどすべてのシステム開発会社が対応できるので、プロジェクトを安定的に遂行できるメリットも得られます。
ウォーターフォール型のデメリット
柔軟性が低い
予算超過や納期遅延のリスクがある
工程ごとに分業化されるウォーターフォール型は、柔軟性が低く、一つの工程が遅れた場合は、後の工程に大きく障害が出るリスクがあります。
例えばテスト段階で修正が必要と判断されれば、設計や要件定義まで手戻りすることもあり、下流工程にいくほどプロジェクトへの影響は深刻化します。ドキュメントの修正・再作成を含め、作業やり直しによる開発工数の増大は、開発予算の超過や納期遅延にもつながるリスクです。
そのため、ITやWeb業界など、市場やニーズの変化が激しく、プロジェクトの進行中に仕様の変更など生じる可能性のあるものには向かない傾向にあります。
ウォーターフォール型の開発に関しては詳しく解説した記事もあるので、参考にしてください。
関連記事:ウォーターフォール型システム開発とは?開発工程・メリットを解説!
【無料】ウォーターフォール型の開発におすすめの会社を紹介してもらう
システム開発の手法②:プロトタイプ型
先ほど解説したウォーターフォール型を改良した手法が「プロトタイプ型」です。
プロトタイプ(prototype)とは「試作品・原型機」を意味する英単語。
プロトタイプ型の開発とは、開発(プログラミング)に入る前に試作品を作成して発注者に確認してもらう方法。制作されたプロトタイプをテスト・レビューしながら、リリースに向けて完成度を高めていく開発手法です。プロトタイピング型と呼ばれる場合もあります。
工程はウォーターフォール型と同様ですが、開発からリリースまでの工程が「試作品の開発」>「テスト・レビュー」>「試作品の修正」>「本開発・リリース」となることがプロトタイプ型の特徴。
レビューと修正を何度繰り返すのかは、開発するシステムやプロジェクトの方針に応じて異なります。また、試作品を制作するプロトタイプ型では、設計を厳密に行わないことも特徴。
これはプロトタイプ型が、発注者やユーザーによるレビュー・フィードバックを受け、試作品を修正していくことを前提とした開発手法だからです。
向いている開発プロジェクト
向いているシステム開発
・前例のないWebアプリケーション・システムなどの開発
・全体をコントロールしやすい小〜中規模プロジェクト
認識のズレを修正しやすく、発注者のニーズを反映させやすいプロトタイプ型は、仕様・要件のブレやすい「新規事業・新サービス立ち上げ」時のシステム開発プロジェクトに最適な開発手法。具体的には、前例のないWebアプリケーション・システムなどのプロジェクトが挙げられます。
試作品でイメージを具体化できるプロトタイプ型は、発注者がシステム開発に慣れていない場合にも有効な開発手法。ただし、関与する人数が多くなる大規模プロジェクトは、プロトタイプ型のデメリットが強調されがちなのも事実です。全体をコントロールしやすい小〜中規模プロジェクトがおすすめです。
メリットとデメリット
プロトタイプ型のメリット
・不具合を開発の初期段階で発見できる
・必要な機能を開発前に追加できる
プロトタイプ型は、試作品のレビュー・修正を繰り返すため、発注者と開発者との認識のズレを回避できる、不具合を開発の初期段階で発見できるメリットがあります。
実用性を含めた発注者の要望を反映できるため、「この機能も欲しい」と思ったとき、開発前に追加することも可能。発注者がシステムの構築にタッチしないことが基本となるウォーターフォール型との大きな違いです。
ウォーターフォール型の場合、要件が明確であっても、仕様・完成イメージが曖昧といったケースではデメリットである手戻りにつながる可能性があります。こうしたリスクを回避できるプロトタイプ型は、ウォーターフォール型の弱点を改善した開発手法だといえます。
プロトタイプ型のデメリット
・開発コストが高騰しやすい
・納期が長くなりやすい
一方、プロトタイプ型には開発コストが高騰しやすい、納期が長くなりやすいデメリットがあります。試作品といえども、発注者やユーザーがテスト・レビューできるレベルの機能を実装する必要があるほか、修正・本開発などに時間がかかり、工数が増える傾向にあるからです。
試作品をレビューすることで、必要だと思われる機能を追加できるのはプロトタイプ型のメリットですが、逆にいえば、当初想定された見積もり金額を大きく上回る、納期が大幅に遅延する可能性も高くなるということです。
関連記事:システム開発におけるプロトタイプとは?注目される理由・概要・メリットを解説!
【無料】プロトタイプ型の開発におすすめの会社を紹介してもらう
システム開発の手法③:アジャイル型
アジャイル開発とは基本機能のみを開発し、ユーザーに使ってもらってレビューを集め、開発とテストを繰り返す手法です。
アジャイル(ajile)とは「俊敏な・機敏な」さまを意味する英単語。文字通り「俊敏な」開発を実現するため、システム全体を細かい機能に分割し、優先度の高い機能から構築・リリースを繰り返していきます。
アジャイル型の開発工程は大きく2つ。要件定義では、おおまかなシステム要件・仕様を作り、2〜3週間程度で実装できる単位に機能を分割します。分割された機能は、優先度の高い順に「計画」>「設計」>「実装」>「テスト」>「リリース」を1つのサイクルとした「イテレーション(反復・サイクル)」を繰り返し、システムの完成が目指されます。
少し難しい専門用語ですが、アジャイル開発では「イテレーション」という言葉が頻繁に出てくるので覚えておいてください。
イテレーションとは、一連の工程を短期間で繰り返す開発サイクルのこと。
イテレーションごとにレビュー・フィードバックを行うアジャイル型は、発注側の担当者の積極的な関与が必須です。担当者の関与度合い、考え方の違いに応じた複数の開発手法が存在していることもアジャイル型の特徴です。
向いている開発プロジェクト
向いているシステム開発
・要件や仕様が固まっていないプロジェクト
・ECやSNSなどのWebサービス、モバイルアプリやゲームなど
機能ごとに小さく開発・リリースを繰り返すアジャイル型は、スモールスタートさせて市場の反応を見ながら成長を狙う新規事業、サービス開発などのプロジェクトに最適。
たとえば、要件や仕様が固まっていないプロジェクト、将来的な市場の動きを読むのが難しく、機能の優先度に変更が生じる可能性のあるプロジェクトなどが考えられます。
具体的には、ECやSNSなどのWebサービスやアプリケーション、モバイルアプリやゲームなど市場動向が予測しにくく、ライフサイクルが早いプロダクトが挙げられます。
ただし、方向性のブレやすいアジャイル型は、プロトタイプ型とは違った意味で大規模プロジェクトには向きません。発注側の担当者がしっかりとプロジェクトにコミットできないのであれば、アジャイル型の効果も発揮できないでしょう。
メリットとデメリット
アジャイル型のメリット
・リリースまでの期間を短縮できる
・発注者のニーズを反映させやすい
アジャイル型のメリットは、なんといってもリリースまでの期間を短縮できること、仕様・要件の変更に柔軟に対応できることです。
また、企業担当者の積極的関与が必須のアジャイル型は、発注者のニーズを反映させた理想的なシステムを開発しやすいメリットも。これは短いスパンで開発とレビューを繰り返すアジャイル型ならではの特徴。不具合の発生や認識の違いを早期に発見して修正する効率的な開発が可能です。
アジャイル型のデメリット
・スケジュール管理・工程管理が困難になりがち
・プロジェクトの方向性がブレやすい
アジャイル開発は、柔軟な変化に対応できる反面、スケジュール・工程管理が困難になりがちなデメリットがあります。これを解決するためには、アジャイル型に豊富な経験を持つプロダクトオーナーなどの存在が不可欠ですが、対応できる人材や開発会社はまだまだ少ないのが現状です。
また、ウォーターフォール型開発のように厳密に方針を固めないので、プロジェクトの方向性がブレやすい、収拾がつかなくなりがちなデメリットも。ゴールが見えないまま延々と開発することで、開発コストが膨らんでしまう場合も少なくありません。
関連記事:アジャイル開発とは?メリット・デメリット、発注側の注意点を解説
関連記事:アジャイル開発のおすすめシステム開発会社11選【2022年最新版】
システム開発の手法④:スパイラル型
スパイラル型の開発は、システムの開発工程をサブシステム(機能)ごとに分割し、重要な機能から開発していく手法です。
スパイラルとは「ループ線」を意味する英単語。文字通り、要件定義以降の「設計」>「構築」>「テスト」>「評価・改善」を1つのサイクルと捉え、ループ線を描くように反復してシステムを完成させます。発注者から1つの機能にOKが出たら、次の機能の開発に取りかかる手法です。
スパイラル型では、まず要件定義でシステムの仕様書を作成したうえで、全体をいくつかのサブシステム(機能)に分割し、開発に取りかかる優先度を決めます。最初の機能をテストしたレビューは次の機能の開発に活用される流れ。プロダクトの完成度を徐々に上げていくことが特徴です。
スパイラル型は、ウォーターフォール型とアジャイル型のメリットを組み合わせたと言える開発手法。アジャイル型と異なるのは、システムが完成するまでリリースされないこと。機能単体でリリースされることはありません。
向いている開発プロジェクト
向いているシステム開発
・品質重視の大規模プロジェクト(業務システム)
・途中で仕様変更が生じる可能性のある開発
スパイラル型の開発は、検証と改善を繰り返す手法のため、クオリティを重視する大規模なプロジェクトに最適です。具体的には、要求のクリティカルな業務システムなどが挙げられます。
あまりにもプロジェクトの規模が大きいと、トップダウン設計(全体から詳細に落とし込む)だけでは全体像をつかむことが難しいケースがあります。こうしたケースでは、ボトムアップ設計(パーツの詳細を詰めて結合する)を組み合わせることが非常に有効。
また、スパイラル開発はプロジェクトの計画段階では詳細を細かく決めないため、柔軟な対応が可能です。途中で仕様変更が生じる可能性のある開発に向いています。
メリットとデメリット
スパイラル型のメリット
・発注者のレビューを反映させやすい
・プロダクトのクオリティを高められる
早い段階で実機としての試作品をテストするスパイラル型では、発注者のレビューを反映させやすいことがメリット。仕様変更にも比較的柔軟に対応できるほか、認識のズレを修正することで工程の手戻りも減らせます。結果的に、プロダクトのクオリティを高められるメリットが得られます。
スパイラル型のデメリット
・スケジュール管理がしにくい
・コストが膨らむ可能性がある
ウォーターフォール型とアジャイル型のメリットを組み合わせたスパイラル型は、一見、システム開発の手法としてベストのように感じられますが、プロジェクトが長期化する、開発コストが膨らんでしまうリスクがあることがデメリットです。
システムの全体像を見渡しにくいデメリットがあり、思わぬスケジュール遅延につながる場合も。発注者から適切なフィードバックを得るための試作品の開発にも多くの工数が必要であり、修正やループ回数によってコストが膨らんでしまう場合もあります。
特にレビュアーが多くなる大規模案件では、スパイラル型のデメリットが表面化しやすいといえるでしょう。
関連記事:スパイラル型システム開発の特徴・メリット・デメリットは?アジャイル・プロトタイプとの違いも解説!
システム開発会社を比較するチェック項目
担当者の評価シート
カテゴリ |
質問(評価ポイント) |
担当者A |
担当者B |
相性
|
担当者の話は分かりやすいか 専門用語を丁寧に説明してくれるか |
◯ |
△ |
メールや返信など担当者のレスポンスは良いか |
◯ |
△ | |
自社の要望をしっかりヒアリングしてくれるか |
△ |
◯ | |
熱意 |
担当者の提案の数は多いか |
◯ | × |
自分の意見をはっきり言ってくれるか |
◯ | △ |
最後に、会社・担当者を比較するときにチェックすると良い評価シートを紹介します。
役員や上司など「意思決定者」に知識がない場合、価格だけで発注先を選んでしまいがちです。安易に格安の制作会社を選んでしまうと、思っていた成果につながらない可能性が高いです。
そこで重要になるのが担当者との相性。評価シートを活用し、多角的な視点から選定するようにしましょう。いくら有名で実績のある会社でも、担当者との相性が悪いと成果の出るプロジェクトになりません。担当者の動きもしっかり見ておくようにしましょう。
システム開発の手法まとめ
手法 |
向いているシステム開発 |
---|---|
ウォーターフォール |
・機能・予算・納期が明確なプロジェクト ・大規模な業務システムの開発(銀行や公的機関など) |
プロトタイプ |
・前例のないWebアプリケーション・システムなどの開発 ・全体をコントロールしやすい小〜中規模プロジェクト |
アジャイル |
・要件や仕様が固まっていないプロジェクト ・ECやSNSなどのWebサービス、モバイルアプリやゲームなど |
スパイラル |
・品質重視の大規模プロジェクト(業務システム) ・途中で仕様変更が生じる可能性のある開発 |
本記事では、システム開発の現場で活用される主要な手法・開発モデルを紹介してきました。
システム開発と一口にいっても、目的・ニーズ・要件はさまざま。当然、求められる仕様も予算も変わります。
システム開発に関わるさまざまな要素を満たし、全体最適化を図るためには、適切な開発手法を見極めて選択することが重要です。そのためには、開発手法それぞれの特徴を把握し、メリット・デメリットが自社プロジェクトにどのように影響するのか?理解しておくことが肝心です。
本記事を読んだ上で、どの開発手法が自社に合うか迷っている方は、システム幹事にご相談ください。専門のコンサルタントがあなたの要望を丁寧にヒアリングし。予算にあった最適な開発会社を選びます。
コンサルタントのご紹介
岩田
専任のコンサルタントが、
お客様の予算と目的を丁寧にヒアリング。
最適な会社をピックアップ・ご紹介させていただきます!
初心者の方でも安心してご相談いただけます。
必ず開発会社に発注する必要はありません。システム開発の相場の情報から最適な会社選びまで無料でサポートします。お気軽にご相談ください。
【無料】プロのアドバイザーにおすすめの開発会社を紹介してもらう
システム開発に役立つ記事もご覧ください システム開発とは?工程・流れをプロが解説!発注者が知っておくべきポイント
Q. ウォーターフォール開発のメリットは?
ウォーターフォール開発のメリットとして「リソースやスケジューつの管理がしやすい」「幅広いプロジェクトに対応できる」等が挙げられます。それぞれの詳しい特徴は記事内で紹介していますので、ぜひ参考にしてください。
Q. システム開発の4つの手法とは?
システム開発の4つの手法とは「ウォーターフォール」「プロトタイプ」「アジャイル」「スパイラル」です。詳しくは記事をご参照ください。
この記事を書いた人
梓澤 昌敏
専門分野: 音楽・映像制作、オウンドメディア、ビジネス
音楽・映像制作の現場を経て、スタジオ構築側の業界へ。マネージャー・コンサルタントとして制作現場の構築に携わる一方、自社オウンドメディアの立ち上げを含むマーケティングも担当してきました。現在アメリカ在住。作曲を含む音楽制作も提供しています。
このライターの記事一覧