アジャイル開発とウォーターフォール開発の違い

  • このエントリーをはてなブックマークに追加
  • LINEで送る

データ分析プロジェクトの要件に、システム開発が含まれる場合があります。システム開発の進め方として、ウォータフォール開発(古くから使用)と アジャイル開発(近年普及)が代表的です。

これらはデータ分析プロジェクトとだけではなく、一般的なシステムやソフトウェアの開発にも通用する手法です。

ちなみに、ウォータフォール開発アジャイル開発はデータサイエンティスト検定(DS検定)の頻出項目です。

ウォーターフォール開発

従来は、ウォーターフォール開発が主流でした。ウォーターフォール開発では、開発工程を「企画 ➡︎ 設計 ➡︎ 開発 ➡︎ テスト ➡︎ 運用」に分けています。最初に全体の機能の設計と計画を決定し、それに従ってシステムの要件となる全ての機能を開発・実装していきます。

アジャイル開発

アジャイル開発が登場したのは2000年代以降です。

アジャイル開発手法では、小さい単位(機能ごと)で工程の「イテレーション」(反復)と呼ばれるサイクルを実施します。

アジャイル開発の主な特徴として以下が挙げられます。

■開発期間が大幅に短縮でき、素早くプロダクトや機能を提供かできる

アジャイルを英語で書くと”agile”であり、「素早い」や「機敏な」という意味です。言葉通り、アジャイル開発は、小単位で実装とテストを繰り返して開発を進めるため、従来に比べてスピード感を出すことができます。

■仕様変更に柔軟に対応しやすい

ウォーターフォール開発とは異なり、アジャイル開発では計画段階において大まかの仕様と要求のみ決め、厳しく固めません。これは「開発途中で仕様や設計の変更がありうる」ことを前提とするからです。実装フェーズではアジャイル開発に関わる全員はこの前提を意識し、開発途中で生じる多少の変更に臨機応変に対応できる体制を整えます。そのため、依頼者や利用者のフィードバックを柔軟に反映できることが利点として挙げられます。

こうして、アジャイル開発は、日々技術や仕組みが進化している技術分野など、開発の途中で仕様の変更や追加が予想されるプロジェクトに向いています。

しかし、開発の方向性があまりにも大きくぶれるといけません。やはり事前に大まか方針くらいは明確にしておく必要があります。

■イテレーションを実施

先述の通り、「大まかな仕様と要求」が決まってから、アジャイル開発手法では、「イテレーション」(反復)と呼ばれるサイクルを実施します。ここでは小さな単位に分けられた開発を「計画」→「設計」→「実装」→「テスト」の順で行います。イテレーションごとに1つの機能をリリースし、細かく開発を進めていきます。

スクラム開発

もう1つよく聞く開発形式は「スクラム開発」です。これはアジャイル開発の一種で、スプリント(1ヶ月以内)というサイクルを繰り返す ことが特徴です。

開発チーム間の各メンバーが自身の担当分の計画を立て、イテレーションごとに開発の進行、出来上がったものの動作を確認します。そのため、開発チーム間の協力と円滑なコミュニケーションが大切です。

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

プロ講師の授業を体験!