Methodologie
Man merkt nie, was schon getan wurde; man sieht immer nur das, was noch zu tun bleibt
Extreme-Programming (XP)
Extremprogrammierung, ist eine agile Methode, die das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und die Formalisierung des Vorgehens mindert. Die Extremprogrammierung definiert ein flexibles Vorgehensmodell in der Softwaretechnik, das sich den Anforderungen des Kunden in wiederholten kleinen Schritten unter Verwendung von Rückkoppelungen sowie einer kommunikationsintensiven Herangehensweise zielgerichtet annähert.
XP ist ein besonders gering formalisiertes, aber durch fortlaufende Iterationen gut strukturierendes Vorgehensmodell. XP entstand durch die Synthese zahlreicher Kerndisziplinen der Softwareentwicklung und basiert auf in der Praxis bewährten Methoden und Standards, auch Best Practices genannt.
XP bejaht die Ungewissheit, mit der Softwareentwicklung verbunden ist, stellt aber keinen Freibrief zum Chaos aus. Es folgt vielmehr einem klaren, strukturierten Vorgehen und stellt die Teamarbeit, Offenheit und stete Kommunikation zwischen allen Beteiligten in den Vordergrund. Kommunikation ist dabei eine Grundsäule dieses Vorgehensmodells. Sollte die Kommunikation eines Teams sozial gestört sein oder von der Hierarchie behindert werden, kann XP nicht funktionieren.
Um den Spaß an der Arbeit und auf lange Sicht die Arbeitsfähigkeit selbst zu erhalten, und um Personalfluktuation zu vermeiden, sollten die Arbeitsbelastung gleichmäßig auf das Team verteilt und ungeregelte Nachtschichten vermieden werden. (siehe Traditionelle Praktiken weiter unten).
Die Methode des XP berücksichtigt, dass der Kunde die wirklichen Anforderungen an die zu erstellende Software zu Projektbeginn meist noch nicht komplett kennt und nicht hinreichend strukturieren kann beziehungsweise das mit der Realisierung betraute Entwicklerteam nicht über alle (technischen) Informationen verfügt, um eine verlässliche Aufwandsschätzung über die notwendige Dauer bis zum Abschluss zu geben. Im Laufe eines Projektes ändern sich darüber hinaus nicht selten Prioritäten und Gewichte. Zu Beginn geforderte Funktionen der Software werden möglicherweise in einer anderen Form benötigt oder im Laufe der Zeit sogar komplett hinfällig.
Bei einer konsequenten Ausrichtung an XP soll die zu erstellende Software schneller bereitgestellt werden sowie eine höhere Softwarequalität und Zufriedenheit des Kunden als mit traditionellen Ansätzen zu erreichen sein. Der Kunde bekommt nach dem Vorgehensmodell der XP ein einsatzbereites Produkt, an dessen Herstellung er aktiv teilgenommen hat.
Angefangen mit einer ersten kleinen Version der 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. Das Vorgehensmodell lässt sich als agil, iterativ und inkrementell charakterisieren.
XP ist einerseits definiert als eine Summe von wichtigen einzelnen Bestandteilen (Werte, Prinzipien und Best Practices), andererseits auch ein strukturiertes Vorgehensmodell.
© Copyright 2008 multilateral AG. All rights reserved

