Waterfall - Traditional Waterfall treats analysis, design, coding, and testing as discrete phases in a software project. This worked OK when the cost of change was high. Waterfall key challenges are:
- Poor quality
- Poor visibility
- Can't handle change
- Very rigid
Agile - Agile improves quality because testing starts from day one. It improves visibility because you are 1/2 way through the project when you have built 1/2 the features. Risk is reduced because you are getting feedback early and Customers are happy because they can make changes without paying extra cost.