Business IT Solution

Suche

Zu Favoriten hinzufügen

Home Extreme Programming

Was ist Extreme Programming?
Extreme Programming (XP) ist ein leichtgewichtiger Prozess für die Entwicklung von Software, der großen Wert auf schnelle Ergebnisse und hohe Rückkopplung zwischen Entwickler/innen und Kund/innen legt. Bei traditionellen Prozessen wie dem Wasserfall-Modell wird zunächst sehr detailliert geplant, dann erst beginnt die Programmierung. Nachträgliche Änderungen an den Anforderungen sind hier nicht vorgesehen und gefährden Budget und Zeitplan. Für Extreme Programming dagegen sind vage und sich ändernde Anforderungen ausdrücklich erlaubt, der Kunde kann den Fortgang des Projektes fortlaufend steuern. Hier die für uns wichtigsten Aspekte des Extreme Programming, die wir bei der Entwicklung von Individualsoftware grundsätzlich berücksichtigen:
 


Programmierung für kurze Releasezyklen
Bei herkömmlichen Prozessen erhalten die Anwender die erste einsetzbare Version der neuen Software erst Monate oder sogar Jahre nach Projektbeginn. Bei Extreme Programming dagegen erfolgt (nach einer kurzen Anlaufphase) die Programmierung in kurzen Perioden - sogenannten Iterationen - von ein bis drei Wochen. Am Ende jeder Iteration steht ein voll funktionsfähiges, getestetes System mit den neuen Funktionalitäten, die der Kunde gerade am dringendsten braucht. Er testet diese und gibt ein Feedback. Je nach Größe des Projekts wird nach einer oder wenigen Iterationen das System an die wirklichen Endanwender/innen ausgeliefert (Release).

 

Iterationsplanung
Am Beginn jeder Iteration sieht Extreme Programming ein Planungsmeeting zwischen Kund/innen und Programmierer/innen vor. Die Kund/innen erläutern ihre Anforderungen und schreiben sie auf Karteikarten (sog. Story-Cards). Die Programmierer/innen schätzen den Aufwand für die Programmierung der einzelnen Stories grob in Personentagen ab. Außerdem wird der Zeitrahmen für die Iteration festgelegt, womit die zur Verfügung stehende Anzahl an Personentagen für die Programmierung feststeht. Auf Basis dieser Information kann der Kunde für die Iteration die Stories auswählen, die ihm am wichtigsten sind und die in den Zeitrahmen passen.

 

Techniken für die Programmierung mit Extreme Programming

  • Pair Programming
    Die Programmierer/innen arbeiten bei uns oft (bei der reinen Lehre von Extreme Programming sogar immer) zu zweit am Code und diskutieren intensiv über den Entwurf. Das Ergebnis ist eine sehr hohe Codequalität und die ständige Weitergabe von Wissen.

  • Test first
    Für eine geplante Funktionalität wird vorab ein Test geschrieben, der natürlich zunächst fehlschlägt. Erst dann beginnt die Programmierung. Die Funktionalität gilt als fertig, wenn der Test gelingt. Die Tests werden gesammelt, gepflegt und regelmäßig ausgeführt, so dass man nach jeder Änderung am System sicher ist, dass alle Funktionalitäten noch korrekt funktionieren.

  • Refactoring
    Das Design des Systems wird fortlaufend verbessert. Finden Programmierer/innen Codeteile, die umständlich oder schwer verständlich ist, verbessern sie sie. Danach führen sie die Tests aus, um sicherzustellen, dass sie bei der weiteren Programmierung keine existierenden Funktionen zerstört haben.

 
Joomla 1.5 Templates by JoomlaShine.com