あなたは、システム開発のおける、開発手法についてどのような種類があるか気になっているところではないでしょうか?●●開発といったようなシステム開発は様々種類があり、分けわからなくなると思います。本記事ではそんなシステム開発における代表的な開発手法を一覧でまとめた記事となっています。
それぞれの手法の詳細については、各詳細記事をご確認いただければと思います。まずは今回開発しようと思っているシステムにおいて、どれが適しているかヒントになればと思います。
弊社は、会社設立してから約24年経ち、これまで数多くの開発実績を持っている弊社がそれぞれの開発手法の違いを含めて本記事では紹介したいと思います。
本記事を読んでいただき、システム開発の開発手法を決める判断の1つになれると幸いです。
目次
代表的なシステム開発の手法一覧
開発手法 | 概要 | 向いているプロジェクト |
アジャイル開発
| システム開発のサイクルである、「企画」→「設計」→「実装」→「テスト」を機能単位で回すこと | ・段階的にリリースする予定がある ・開発を進めながら仕様の中身を検討していきたい |
ウォーターフォール開発
| システム開発のサイクルである、「企画」→「設計」→「実装」→「テスト」を一気通貫で開発すること | ・予め仕様等が決まっており一定の品質を担保する必要がある ・半年以上の大規模な開発 |
スパイラル開発
| 1つの機能ごとに要件定義から開発までして、その機能の実装が終わったら次の機能を要件定義から開発すること | ・仕様変更が発生しそうな開発 ・品質の担保を求められる開発 ・システム開発が不慣れな顧客から依頼された開発 |
ハイブリッド開発
| アジャイル開発とウォーターフォール開発を組み合わせて、それぞれの良い所どりして開発すること | ・仕様がある程度明確だが、詳細が確定していない開発 ・進捗に合わせて軽微な機能の追加・変更に対応していきたい開発 |
プロトタイプ開発
| 要件定義の明確化を目的としており、要件定義後にプロトタイプの作成を行い、依頼者からレビューをもらい、要件の共通認識を濃くして開発すること | ・完成形のイメージが曖昧な案件 ・システム使用者からの印象を良くしたい案件 |
パッケージ開発 | 既存のパッケージソフト/ツールを自社に合わせてカスタマイズして開発すること | ・予算がぎりぎり、社内で使うシステムなので安く済ませたい ・開発期間が短期間しか取れない ・自社で開発したいが、エンジニアがいない |
MVP開発
| 「実装」→「ユーザー検証」をスピーディーに回して、ユーザー検証を通し、マーケットニーズを確認するために開発をすること | ・ビッグプロジェクト開発前にマーケットニーズを確認したいとき ・1ヶ月以内に終わる小規模開発 |
DevOps開発
| 開発の効率を上げ、「開発チーム」と「運用チーム」を1つのチームとして緊密に連携をとりリリースサイクルを短くする考え方 | ・開発の効率を上げるためにチームワークを大事にしたい開発 |
1. アジャイル開発の詳細
アジャイル開発とは、システム開発のサイクルである、「企画」→「設計」→「実装」→「テスト」を機能単位で回すことを呼びます。
システム開発は様々な機能の集合体からなっています。その様々な機能を機能単位に分解して開発を進めていくことです。
例えば、1つのシステムが機能A、機能B、機能C、機能Dの集合体から成るとした場合、以下のようなサイクルで開発を進めることになります。
アジャイル開発に関する詳細は以下の記事をご参照ください。
2. ウォーターフォール開発の詳細
ウォーターフォール開発とは、システム開発のサイクルである、「企画」→「設計」→「実装」→「テスト」を一気通貫で開発することを指しています。
システム開発は様々な機能の集合体からなっています。その様々な機能をフェーズ単位で組み立てて開発を進めていきます。事前に仕様要件がガッチリと決まっている開発案件であればウォーターフォール開発は最適でしょう。というのも、ある程度品質を担保することができるためです。
ウォーターフォール開発に関する詳細は以下の記事をご参照ください。
3. スパイラル開発の詳細
スパイラル開発は1つの機能ごとに要件定義から開発までを行う開発手法です。
イメージとしては図のように、1つの機能ごとに要件定義を行い、改善まで完了したら次の機能の要件定義を進めます。最終的に全ての機能が出揃ってからリリースを行い完成となります。
また、各機能で「プロトタイプ」(試作品)を作成し、評価(レビュー)と改善を行います。事前にプロトタイプによる評価を行うことで、完成後の修正など手戻りを防ぐことができ、開発失敗のリスクを最小にします。
スパイラル開発に関する詳細は以下の記事をご参照ください。
4. ハイブリッド開発の詳細
ハイブリッド開発とは、アジャイル開発とウォーターフォール開発を組み合わせて開発することです。それぞれのメリットを組み合わせて開発を進めることです。システム要件がある程度整っているが、細かいところまで詰められていない場合はハイブリッド開発がマッチするかもしれません。
ハイブリッド開発の詳細については、以下をご参照ください。
5. プロトタイプ開発の詳細
プロトタイプ開発とは、一言で表すと試作品を作り、開発を進める手法です。
進め方としては、要件定義から一気通貫でリリースまで進める、まさに水が上流から下流にかけて流れるようなウォーターフォール開発と同様に要件定義から一気通貫で開発を進めます。特徴としては要件定義の明確化を目的とした、要件定義後にプロトタイプ(試作品)の作成を行います。開発するシステム全体のプロトタイプを作成し、依頼者からレビューをもらい、要件の認識齟齬がないようにします。
プロトタイプ開発の詳細については、以下をご参照ください。
6. パッケージ開発の詳細
パッケージ開発は既存のパッケージソフトを活用し、開発を進めます。
そしてエンジニアとしての知識が無くても開発ができるなど、難易度が低い開発手法となります。
具体的には下記のような製品がパッケージ開発の際に活用されています。
Kintone(キントーン) |
Salesforce(セールスフォース) |
e受発注 |
Aladdin Office |
EC-Orange |
パッケージ開発の詳細については、以下をご参照ください。
7. MVP開発の詳細
MVP開発は、想定されるユーザーに対して必要最低限の機能をもった開発をすることです。想定されるユーザーに一部機能が実装できた段階で触ってもらい、ユーザーからフィードバックをもらいながら必要な機能の肉付けをしていきます。これを繰り返して完成形に近づけていきます。
パッケージ開発の詳細については、以下をご参照ください。
8. DevOps開発の詳細
開発の手法とは異なり、概念や考え方を指す単語です。
開発の効率を上げ、「開発チーム」と「運用チーム」を1つのチームとして緊密に連携をとりリリースサイクルを短くする考え方となります。この考え方により、リリース後のフィードバックから素早く改修ができることなど、これまで以上に効率的な開発が期待できます。
DevOps開発の詳細については、以下をご参照ください。
まとめ
本記事では代表的な開発手法について紹介してきました。今回システム開発を実施するにあたり参考になりましたでしょうか?
システム開発は外注することもできます。外注する手段の1つとして、海外の拠点を活用するオフショア開発という手法も存在します。オフショア開発であれば海外の人材を活用することになるので、人件費を抑えることでき、国内で開発するよりもコストを抑えることができます。弊社はオフショア開発を初めて約10年経つ会社です。そんなオフショア開発について、具体的な話を聞いてみたい方は、どんな些細なことでも構いません!いつでもご連絡お待ちしております。ぜひお気軽にお問い合わせください。