An iterative approach to software development emphasizing flexibility, user feedback, and rapid delivery.