アジャイル開発と反復開発およびインクリメンタル開発の違いは何ですか?アジャイルは反復的かつ漸進的と見なされますか?アジャイルが最新の反復型および増分型であることを示す情報があります。これについて明確な説明が必要です。
インクリメンタル開発とは、プロジェクトの1つまたはいくつかのマイルストーンですべての異なる部分を組み立てるモノリシックアプローチではなく、ソフトウェアプロジェクトの異なる部分が全体に継続的に統合されることを意味します。
反復とは、コンポーネントの最初のバージョンが完了すると、テスト、レビューが行われ、その結果がすぐにこのコンポーネントの新しいバージョン(反復)に変換されることを意味します。
したがって、最初の結果として、反復開発はインクリメンタルである必要はなく、その逆も同様ですが、これらの方法は適しています。
アジャイル開発は、ソフトウェアプロジェクトの大規模なプレーニングオーバーヘッドを削減して、変化に対する迅速な対応を可能にすることを目的としています。顧客の希望で。漸進的および反復的な開発は、ほとんどの場合、アジャイル開発戦略の一部です。アジャイル開発にはいくつかのアプローチがあります(例:スクラム)。
Google ChromeやMozilla Firefoxなどの重要で正常に実行されたソフトウェアプロジェクトは、反復的なソフトウェア開発とインクリメンタルなソフトウェア開発の好例です。
このアプローチを説明する、ars technicaの素晴らしい記事を引用します。 http://arstechnica.com/information-technology/2010/07/chrome-team-sets-six-week-cadence-for-new-major-バージョン/
ChromeプログラムマネージャーAnthony Laforgeによると、ペースの向上は3つの主な目標に対応するように設計されています。1つはユーザーに新機能をより早く提供することです。 3番目の、そして最も直感に反する直感的な方法は、Chrome開発者のストレスレベルを削減することです。Laforgeは、短く、予測可能なリリース間の期間は、「Grand Central Stationを出発する列車」に似ています。準備が整った新機能は、完了に時間がかかる他の人を待つ必要はありません。現在のリリースの「列車」に飛び乗ることができます。 6週間後には別のリリーストレインが予定されているため、開発者にRushへのプレッシャーを与えずに、他の機能を完成させます。
反復的な開発とは、製品の耐用期間中に通常のウォーターフォールモデルの手順を再検討することを意味します。ステージは重複することもあります。つまり、エンドツーエンドのテストを行っている間に、すでに新しい要件の準備を開始できます。
段階的な開発とは、機能をロードマップし、段階的に実装することを意味します。
アジャイルは、あらゆるスプリントの後に「潜在的に出荷可能な製品」を作成することを目指しています。それを達成する方法は別の話です。アジャイルは、さまざまな分野の「最高の」テクニック(極端なプログラミングなど)を採用しようとします。アジャイルは、増分開発も反復開発も実行することを除外しません。