こんにちは、りょっちーです!

システム開発について少し調べてみたんだけど
開発モデルって何?

開発の進め方の流れのことだよ!
わかりやすく、特に有名な2つに絞って、
図を使って説明するよ!
システムやアプリの開発を進める際、開発モデルという言葉があります。
その中でも有名な「ウォーターフォール開発」と「アジャイル開発」というものがありますが
言葉だけは知っているけれど、「そもそも開発モデルって?」「`何が違うの?」と
思ったことはありませんか?
この記事では、開発初心者やエンジニア以外の方にもわかるように、
ウォーターフォールとアジャイルの違いをシンプルな図を使って紹介します。
ざっくり全体像をつかむだけでも、開発に関する内容がずっと理解しやすくなりますよ!
開発モデルとは?
まず「開発モデル」というのは、簡単にいうと
システムをどうやって作っていくかの流れを表したものです。
例えば何かものを作るとき、いきなり作り始めるのは難しいと思います。
必要な資材や組み立てる順番など、先に用意する物があると思います。
それと同じように、システムやアプリも「順番」や「やり方」を考える工程があります。
ただ、システム開発にはこの考える工程の手法がいくつか存在しています。
開発モデルにはいろいろ種類がありますが、今回は特に有名な2つに絞って紹介します。
ウォーターフォールモデル

ウォーターフォールモデルとは
上から下へ、順番に流れるように作るスタイルです。
名前の由来通り、ウォーターフォールモデルは水が上から下に落ちるように
各工程を上から順番に行っていきます。
まず、開発の工程には以下の内容があります。
- 要件定義(何を作るか決める)
- 基本設計(どう作るかを大まかに決める)
- 詳細設計(どう作るかを細かく決める)
- 実装(実際に作る)
- テスト(設計通りに動くか確認する)
- リリース・運用(実際に使い始める)
ウォーターフォールモデルでは、以下の図のように各工程が上から下へと順番に進みます。
【図:ウォーターフォールモデル】

この開発モデルでは上の方の工程を上流工程、下の方の工程を下流工程を呼ぶこともあります。
基本的に一度終わった工程には戻らず、次に進むのが特徴です。
メリット
- 計画的に進めやすい
- 大規模なプロジェクトに向いている
- 書類や設計がしっかり残る
デメリット
- 途中で変更がしづらい
- 想定外の問題に弱い
- 完成するまで使い心地がわからない
アジャイルモデル

アジャイル開発は、
小さく作って、すぐ試して、改善していくスタイルです。
実際の開発は以下のようなイメージです。
- 作る → 試す → 改善する → また作る…
これを短いサイクル(1週間〜1ヶ月)で何度も繰り返します。
【図:アジャイルモデル(サイクル図)】

メリット
- 柔軟に対応できる(途中で仕様変更もOK)
- ユーザーのフィードバックをすぐに反映できる
- 使いやすさを早い段階で確認できる
デメリット
- 計画を立てにくい
- チーム力やコミュニケーション力が問われる
- 全体像を見失いやすい
ウォーターフォールとアジャイルの違いまとめ
2つの開発モデルを表で比較すると以下のようになります。
比較項目 | ウォーターフォール | アジャイル |
---|---|---|
作り方 | 上流から順番に流れる | 小さく試して改善を繰り返す |
進め方 | しっかり計画、きっちり実行 | 柔軟に変化、すぐ試す |
向いているケース | 大規模・仕様がはっきりしているもの | 変化が多い・素早く試したいもの |

開発モデルに優劣はないから
開発するシステムに応じて選んでいくのが大切!
まとめ|まずは全体像をつかもう!

ウォーターフォールとアジャイルは、システム開発の世界ではよく使われる開発モデルです。
それぞれ得意な場面・苦手な場面があるので、
「どちらがいい」ではなく「状況に応じて使い分ける」ことが大切です。
今回紹介した内容をおさえておけば、どのようにシステムが開発されていくのかが
イメージしやすくなると思います。
開発の前段として、なぜ開発モデルを知っておく必要があるのかについては,以下の記事で書いていますのでこちらも参考にしてみてください。
今後、それぞれの開発モデルで実際に開発を行っていく記事も上げていくので
そちらも参考にもらえるとうれしいです!
以上、りょっちーでした!
コメント