開発手法とは
要点
- 開発手法とは、システム開発を「どんな順序・サイクルで進めるか」という進め方の考え方のことです。
- 代表的な手法に「ウォーターフォール」(順番に進める)と「アジャイル」(短いサイクルを繰り返す)があります。
- プロジェクトの性質に合わせて手法を選ぶ、または組み合わせることが現場では一般的です。
使い分ける
ぽち先生も、毎日こんな風に物事を進めています
「開発手法」とは何か
システム開発では、「何を作るか決める」「設計する」「プログラムを書く」「動作を確認する」「利用者に届ける」といった、いくつもの作業を積み重ねていきます。
これらの作業を「どんな順序で」「どのくらいの単位に区切って」進めるかというルール・考え方が「開発手法」です。手法が違えば、同じ作業でも進め方や関わり方が大きく変わります。
ぽち先生のヒント同じ「引っ越し」でも、荷造りから搬入まで一気に順番通り進める人もいれば、まず一部屋だけ片付けて様子を見ながら少しずつ進める人もいるよね。目的地(ゴール)は同じでも、進め方は何通りもあるんだ。
なぜ進め方を決める必要があるのか
チームで開発を行う場合、メンバーそれぞれが自分のやり方で好き勝手に進めてしまうと、「誰が何をいつまでに終わらせるのか」が分からなくなり、手戻りや連携ミスが起こりやすくなります。
あらかじめ開発手法を決めておくことで、チーム全員が同じ進め方の前提を共有でき、進捗確認やスケジュール調整がしやすくなります。
ぽち先生のヒントグループ旅行で、集合時間やルートを決めずに各自がバラバラに動いたら、いつまでも合流できないよね。事前に「まず駅に集合してから移動する」といった進め方を決めておくから、スムーズに旅行できるんだ。
開発の基本的な流れ
手法によって進め方は異なりますが、システム開発には共通して現れる作業の種類があります。
(何を作るか)
(どう作るか)
(作る)
(確認する)
(届ける)
開発手法の違いは、この一連の作業を「1回だけ順番にこなすか」「小さく区切って何度も繰り返すか」という点に現れます。
ウォーターフォールの基本
ウォーターフォールは、要件定義→設計→実装→テスト→リリースという工程を、上流から下流へ順番に一度だけ進める手法です。前の工程が完了してから次の工程に進むのが原則で、水が上流から下流へ流れ落ちる様子に例えて名付けられました。
計画をしっかり立ててから着手するため、全体のスケジュールや必要な人員が見積もりやすいという特徴があります。詳しくは個別トピックで解説します。
アジャイルの基本
アジャイルは、要件定義から実装・テストまでの一連の作業を「イテレーション」や「スプリント」と呼ばれる短い期間(1〜数週間程度)に区切り、計画・開発・レビューを何度も繰り返しながら進める手法です。
1回のサイクルごとに動くものを確認し、フィードバックを次のサイクルに反映できるため、途中で状況や要望が変わっても対応しやすいという特徴があります。詳しくは個別トピックで解説します。
図解で比較:ウォーターフォール vs アジャイル
ぽち先生のヒントウォーターフォールは「レシピ通りに一発で作り上げるフルコース料理」、アジャイルは「味見をしながら少しずつ調味料を足していく煮込み料理」に例えられるよ。どちらも完成を目指すけど、途中での調整のしやすさが違うんだ。
どちらを選べばよいか
ウォーターフォールは、作るものの要件がはっきりしていて変更が少ない場合や、後戻りのコストが大きい大規模システム(例: 大規模な基幹システムの刷新)に向いています。
アジャイルは、要件が途中で変わりやすい場合や、早くリリースして利用者の反応を見ながら改善したい場合(例: Webサービスやスマートフォンアプリ)に向いています。
実際の現場では、どちらか一方だけを厳密に使うのではなく、プロジェクトの特性に合わせて考え方を組み合わせることも少なくありません。
まとめ
開発手法は、システム開発を「どう進めるか」を決める進め方の設計図です。代表的な手法として、順番に一直線に進む「ウォーターフォール」と、短いサイクルを繰り返す「アジャイル」があります。
それぞれの特徴を理解しておくと、自分が参加するプロジェクトの進め方の意図を読み取りやすくなります。それぞれの手法は、以下の個別トピックでさらに詳しく学べます。
関連トピック: