Extreme Programming (XP) is an agile software development methodology that focuses on rapid software development and frequent delivery of working software. It emphasizes customer collaboration, small releases, and frequent testing. Key practices of XP include writing tests first, continuous integration, pair programming, and customer involvement.