eXtreme Programming - XP
Das initial von Kent Beck entwickelte Vorgehensmodell eXtreme Programming (XP) eigenet sich ideal um kleinere und mittlere Software Projekte zu planen und umzusetzen. eXtreme Programming basiert auf den drei Pfeilern Werte, Prinzipien und Praktiken.
Werte
Kommunikation, Einfachheit, Feedback, Mut und Respekt. Diese 5 Werte umschreiben den Grundgedanken von XP und gelten für alle Projektmitglieder. (Projektleiter, Entwickler, Kunde, Tester, usw.)
Prinzipien
Menschlichkeit, Wirtschaftlichkeit, Beidseitiger Vorteil, Selbstgleichheit, Verbesserungen, Vielfältigkeit, Reflexion, Lauf, Gelegenheiten wahrnehmen, Redundanzen vermeiden, Fehlschläge hinnehmen, Qualität, Kleine Schritte sowie Akzeptierte Verantwortung sind die auf den oben genannten Werten basierenden Prinzipien.
Praktiken
Aus den Werten und Prinzipen hervor gegangen sind eine Vielzahl von Praktiken, welche die Umsetzung eines Softwareprojekts in einer Weise begünstigen, von der wiederum alle im Projekt involvierten Personen profitieren. Für jedes Projekt wird ein anderes Set von Praktiken eingesetzt. Dies wird durch die Projektmitglieder bestimmt und kann sich im Projektverlauf auch ändern.
Und nun?
Der oben stehende Beschrieb mutet etwas abstrakt an? Hier also einige Beispiele von Praktiken die wir bei Tegonal täglich oder mindestens oft einsetzen:
Planning-Game
Projektleiter, Kunde und Entwickler planen gemeinsam die nächsten Iterationen (welche in der Regel 2-4 Wochen lang ist). Die zur Verfügung stehenden Ressourcen werden evaluiert, die Storys (durch den Kunden erstellte Beschriebe der Funktionalität) werden priorisiert und der Zeitaufwand abgeschätzt. Die Entwickler teilen sich die Arbeit auf und erstellen so genannte Tasks, kleine Arbeitspakete mit maximal einem Tag Aufwand.
Pair-Programming
Wichtige Komponenten setzen unsere Entwickler zu zweit an einer Arbeitsstation um. Die Qualität des Resultats erhöht sich hierbei wesentlich und Folgefehler treten deutlich seltener auf. Eine Investition, die sich also lohnt.
Testgetriebene Entwicklung
Um weitere Fehler zu eliminieren werden Tests geschrieben, welche die definierten Anforderungen abdecken. Wenn möglich geschieht dies vor der Umsetzung der Komponente. Wird später eine Komponente fehlerhaft wieder verändert, schlagen die Tests fehl.
Permanente Integration
Die Erfahrung zeigt, dass die Entwickler ältere Tests nicht von Hand durchführen. Dies muss automatisiert werden. Doch nicht nur die Tests können automatisch angestossen werden, sondern der komplette Build-Prozess wird durchlaufen und die jeweils letzte, lauffähige Version eines Produkts steht jederzeit zur Verfügung.
Einfaches Design
Vielfach werden komplexe Systeme komplett auf dem Reisbrett geplant, um danach fest zu stellen, dass wichtige Faktoren nicht berücksichtigt wurden. Durch Tegonal umgesetzte Projekte werden immer so weit designt, wie die Bedürfnisse des Kunden absehbar sind und die technischen Voraussetzungen dies erfordern. Wird das System mit der Zeit komplexer, kann das Design angepasst und neue Komponenten hinzugefügt werden. Dies garantiert eine grösstmögliche Abdeckung der Anforderungen und eine schnelle Umsetzung und den zweckmässigen Einsatz der verfügbaren Mittel.
Kundeneinbeziehung
Bei all den beschriebenen Praktiken steht der Kunde und seine Bedürfnisse im Mittelpunkt. Aus diesem Grund kommunizieren wir stehts transparent und ehrlich. Jederzeit kann der Kunde den Projektstand einsehen, mit den Projektmitgliedern in Kommunikation treten oder neue Erkenntnisse einbringen.
Weitere Informationen
Wir sind von eXtreme Programming überzeugt und geben unsere Erfahrungen auch gerne weiter. Kontaktieren Sie uns!
Weiterführende Infos über eXtreme Programming finden Sie auf www.extremeprogramming.org oder auf Wikipedia.
