ウォーターフォール法は最も確実に実行可能であり、他のアプローチと同じように哲学的に健全です。Waterfallはアジャイルよりもずっと長いことを忘れないでください。しかし、これは、ある方法論が別の方法論より優れているかどうかを述べる論拠ではないことに注意してください。
問題領域全体と顧客がソフトウェアパッケージで何を達成したいのかを非常に明確に理解している場合、ウォーターフォール法を使用します。契約を締結する際におそらく固定価格を見積もっていますが、顧客は合意された要件から逸脱することはできないことを理解しています。あなたのプロセスは、開発のさまざまな段階の間の一連のサインオフを厳密に通過するものであり、多くの場合、各段階は異なるチーム、時には異なる会社によっても完了します。他の人と連絡します。ウォーターフォールは、軍事および政府のプロジェクトが外部の請負業者に入札されると、それらが良い効果をもたらすことがよくあります。ウォーターフォールやその他の同様のアプローチが悪い評判を得るのは、開発者が問題に遭遇したとき、不十分な推定、不測の事態なしに計画されたスケジュール、問題ドメインの不十分または不完全な理解など。問題は、方法論の真の欠陥ではありませんが、その応用にあります。
アジャイルと他の方法論との比較は間違っています。アジャイルは方法論ではなく、哲学でもあります。あるいは、アジャイルは、ソフトウェアの開発方法を見るための別の方法を表す包括的な用語であると言う方が良いでしょう。方法論は単なるツールであり、その価値は常に、アジャイルであることを意味するものの中心にある個人や相互作用よりも常に低くなります。
ソフトウェアの変更を最小限に抑えることは、貴重なソフトウェアを提供することを望む人々にとって実行可能なオプションであると本当に考えている人はいますか?
変更を最小限に抑えるあらゆる機会は、開発者と顧客の両方にとって貴重です。変更により、スケジュールがずれたり、スケジュールを満たすために機能が省略される可能性があります。プロジェクトの価値に影響を与える変更の影響を管理する方法です。
それとも、避けられない変化を管理するために、私たちの状況でどのような慣行が最もうまく機能するのかという質問ですか?
あなたの慣行は、変更の管理に役立つかもしれませんし、変更を完全に無視するかもしれません。重要なのは、開発プラクティスと顧客との関係の管理の組み合わせであり、これらが関係するすべての関係者にとって効果的に機能するかどうかです。
すべての意図と目的のためにアジャイルである私たちは、あなたがあなたのために働く方法を選択することを理解しています。特定のアプローチが好きなら、それに従ってください。ニーズに合わない場合は、変更します。ソフトウェアを作成する方法は、手元にあるリソースを最大限に活用しようとすることと、プロジェクトを失敗に導く可能性のあるプラクティスを最小限に抑えることになります。手元の特定のプロジェクト。
「わかりました、今私たちはアジャイルです」と言うのは本当に一つのことであり、アジャイルの哲学に従って実際に生き、働くことは全く別のことです。Waterfall、Incremental、Spiral、SCRUM、XP、FDD、またはその他の方法を使用するかどうかにかかわらず、基本的にアジャイルです:
- プロセスとツールを介した個人と相互作用
- 包括的なドキュメントよりも機能するソフトウェア
- 契約交渉を介した顧客コラボレーション
- 計画に従うことによる変化への対応
そして、これらの価値をうまく適用するために、ツール、方法、経験をすべてまとめる場所です。