Extreme programming, Agile, and Rational Unified Process all follow iterative models for software development. In these methodologies, work is divided into small iterations, each of which is developed, tested, and evaluated incrementally.
Thus, the correct answer is \( a, b, c \).