Extreme Programming - Projekte

Extreme Programming zählt zu den leichtgewichtigen Software-Entwicklungsprozessen. Formalismen werden hier auf ein Minimum reduziert. Der Fokus liegt bei extreme Programming, kurz XP, darauf, dem Kunden eine Software bereitzustellen, die seinen Wünschen zu dem Zeitpunkt entspricht. Änderungen werden kontinuierlich in den Prozess mitaufgenommen. Charakteristika von XP sind unter anderem das Pair-Programming, der direkete Kontakt zum Kunden, Refactoring und kurze Entwicklungszyklen. XP eignet sich besonders für kleine und mittlere Projekte. Detaillierte Informationen zum Thema XP sind in dem unten aufgeführten Buch von Kent Beck oder unter http://www.extremeprogramming.org zu finden. Aus dem XP-Kontext stammen die nachfolgenden Gedanken zum Thema Projektentwicklung, die sicherlich nicht nur im XP-Kontext ihre Gültigkeit haben.

Die Projektentwicklung ist durch 4 Faktoren geprägt, die sich gegenseitig beeinflussen:

  • Kosten
  • Zeit
  • Qualität
  • Umfang

(Quelle: Kent Beck, Extreme Programming Explained, Addison-Wesley, 2000; Neuauflage 2004)

Steigende Kosten können zu einer Verringerung des Leistungsumfangs führen. Die Qualität sowie die Zeit werden ebenfalls beeinflusst. Das Problem zu einem bestimmten Stichtag fertigzuwerden unter Beibehaltung des vorgegebenen Umfangs vermindern oftmals die Qualität. Durch höhere Kosten wird das für einen bestimmten Zeitraum geplante Budget schneller aufgebraucht.

Zeit: Mehr Zeit kann zu einer Verbesserung von Qualität sowie zu einem wachsenden Umfang führen. Aus dem Nebel tauchen Anforderungen auf, die jetzt, da genügend Zeit vorhanden ist, auch noch realisiert werden müssen. Bei gleichem Umfang besteht nun mehr Zeit für das Testen, Dokumentationen u. ä..

Qualität: Ein hoher Qualitätsstand kann nur durch fortlaufende testgetriebene Entwicklung erreicht werden. Aktivitäten wie das Testen und Dokumentationen erhöhen die Qulität, sind aber auch zeitintensiv und können wiederum Einfluss auf den Umfang des Projektes haben.

Umfang: Weniger Umfang ermöglicht eine qualititiv höherwertige Software. Desweiteren kann es zu einer schnelleren und möglicherweise auch billigeren Auslieferung kommen. Das kann jedoch nur mit dem Einverständnis des Endkunden geschehen.


zurück zur Technolounge