One comment - the article mentions that Waterfall was basically the only approach used prior to agile. This is false. In some industries waterfall was used, but in others software was designed and driven incrementally just as with core agile. The work I did in fixed income brokerages in the early 90s was largely ad hoc agile.
Waterfall has the following 5 requirements/steps:
1. Design first. It'll get replaced (see step 3), but is needed for requirement 2.
2. Document the design. This defines what you're building (this time around) and the tests.
3. Do it twice (build a MVP, test, refactor & replace it as requirements become clear based on customer feedback, update the design & docs & tests, use those tests for the improved version).
4. Plan, control, and monitor testing.
5. Involve the customer.
Requirement 3 is what makes Waterfall inherently an incremental iterative process.