1. A software development methodology that is intended to improve software quality and responsiveness to changing customer requirements (source Wikipedia). 2. An agile development approach that is complementary to Scrum. Extreme Programming specifies important technical practices that development teams use to manage the flow of task-level work during sprint execution. See also agile.