アジャイル開発とスクラム開発の違いとは?

この記事ではアジャイル開発とスクラム開発の違いついて紹介したいと思います。

フロントエンドやバックエンドエンジニアのようなプログラマだけでなく、インフラエンジニアもこれからはソースコードでインフラ構築する機会が増えるので覚えておいたほうがいいでしょう。

結論はどっちも同じ開発手法なのですが、微妙な違いがあるので明確にしていきましょう。

アジャイル開発とは?

システム構築やソフトウェア開発を、小単位で実装とテストを繰り返して開発を進めていく手法のことです。

従来の開発手法(ウォーターフォール開発)に比べて開発期間が短縮されるため、アジャイル(素早い)と呼ばれている。

アジャイル開発にも手法が複数ある

その中でも、代表的なものが下記の3つです。

  • スクラム開発
  • XP(エクストリーム・プログラミング)
  • FDD(ユーザー機能駆動開発)

 

スクラム開発

ラクビーのスクラムのように、フォーメーションを組み、蜜にコミュニケーションをとって開発しているスタイルです。

 

XP(エクストリーム・プログラミング)

事前に立てた計画よりも途中変更を前提とした、柔軟性を重視する手法のことです。

 

FDD(ユーザー機能駆動開発)

実際に動作するソフトウェアを定期的にテストする手法で、顧客と対話しながら開発が進められていく手法ことです。

 

アジャイル開発のメリット

不具合が発生した際に戻る工数(範囲)が少ないことがメリットの1つです。

 

従来のウォーターフォールモデル開発だと、トラブルの箇所によっては戻る工数(範囲)が大きく、デバッグやテストに大きな時間を要してしまいます。そうならないように、綿密な設計をしなければなりません。

 

アジャイル開発の場合は、計画段階で綿密な仕様を決めないため、開発中に顧客とコミュニケーションをとりつつ、フィードバックを行って開発が進められるため、顧客満足度が高くなります。(イメージしたものとマッチしやすい)

アジャイル開発のデメリット

アジャイル開発のデメリットは、計画段階で綿密な仕様が決められていないことです。

メリットでもあり、デメリットにもなってしまうのです。

つまり、裏目に出てしまう場合があります。

 

計画段階で厳密な仕様を決めないため、

  • 開発の方向性がブレやすい
  • スケジュールや進捗を把握するのが難しくなる

というデメリットが発生します。