Das eXtreme Programming ist auf kleine Teams ausgelegt, mit etwa 2 bis zu 12 Mitarbeitern. Ursache für die Größenbeschränkung sind die sehr flexible Planung, das evolutionäre Vorgehen und die intensive erforderliche Kommunikation. Großprojekte sind mit diesen kleinen Teams nicht durchführbar.
XP ist auf unklare, vage und sich ändernde Anforderungen ausgerichtet. Von Iteration zu Iteration werden neue Anforderungen aufgenommen und rasches Feedback erfolgt. Die Anforderungen werden zu Beginn des Projektes nicht vollständig erhoben, damit kann weder der genaue Leistungsumfang noch die zu erwartenden Kosten genau bestimmt werden. Dies macht Vertragsverhandlungen, insbesondere zu Festpreisen problematisch. XP kann also nur mit Partnern durchgeführt werden, mit denen ein gutes Vertrauensverhältnis besteht.
Die Basistechnologien, in denen die Implementierung stattfindet, müssen häufige Änderungen und kurze Übersetzungszeiten erlauben, d.h. Änderungen müssen in kurzer Zeit und mit wenig Aufwand umsetzbar sein. Das Refactoring ist darauf angewiesen. Programmiersprachen wie Java oder C# eignen sich wegen ihrer kurzen Übersetzungszeiten und verfügbarer Werkzeuge besonders. Für die Programmierung in COBOL auf einem Host, wo jede CPU-Minute Geld kostet, ist dieses schwieriger.
Hoch qualifizierte, qualitätsbewusste und kommunikative Mitarbeiter sind eine weitere Voraussetzung. Zeitnahe und intensive Kommunikation im Team und mit dem Kunden ist wichtig, um auf umfangreiche Dokumentation verzichten zu können.
Der Wille des Kunden, Zeit in das Projekt zu investieren und die richtigen Mitarbeiter vor Ort zur Verfügung zu stellen, ist zentrale Voraussetzung. Häufig sind die Anwender des Systems mit ihrer täglichen Arbeit bereits stark gefordert, so dass ihre Verfügbarkeit durch das zuständige Management, beispielsweise über die Verlagerung operativer Aufgaben, garantiert werden muss.
Der Kundenmitarbeiter, welcher sich vor Ort befindet, muss entscheidungsfreudig und kompetent sein. Er muss Anforderungen priorisieren und entscheiden, welche davon in das nächste Release kommen. Zusätzlich muss große Fachkompetenz bestehen, da der Kundenmitarbeiter große Teile der Anforderungen spezifizieren muss. Eine weitere Anforderung ist eine gewisse DV-Kompetenz, um sich die Umsetzung der Anforderungen vorstellen zu können.