Extreme Programming (XP), auch Extremprogrammierung, ist ein flexibles Vorgehensmodell in der Softwaretechnik, das sich den Anforderungen des Kunden inwiederholten kleinen Schrittenunter Verwendung vonRückkopplungensowie einer kommunikationsintensiven Herangehensweise zielgerichtet annähert.

XP bejaht die Ungewissheit, mit der die Softwareentwicklung verbunden ist, stellt aber keinen Freibrief zum Chaos aus. Es folgt vielmehr einem klaren, strukturierten Vorgehen und stellt die Teamarbeit, Offenheit und stetige Kommunikation zwischen allen Beteiligten in den Vordergrund. Kommunikation ist eine Grundsäule dieses Vorgehensmodells. Sollte die Kommunikation eines Teams gestört sein, kann XP nicht funktionieren.
Angefangen mit einerersten kleinen Versionder Software vergrößert sich der Entwicklungsrahmen ständig. Neue Funktionalität wird permanent entwickelt, integriert und getestet. Um zu der zu entwickelnden Funktionalität zu gelangen, werden gewöhnlich jeweils die Schritte Risikoanalyse, Nutzenanalyse, die Bereitstellung einer ersten ausführbaren Version (Prototyping) und ein Akzeptanztest durchgeführt.