Agile Softwareentwicklung • Extreme Programming • Rapid Prototyping
Agile Softwareentwicklung durch Extreme Programming (XP)
Extreme Programming (XP) ist ein Softwareentwicklungsprozess für kleine Entwicklungs-Teams. Dieser Softwareentwicklungsprozess wird durch die Anwendung der Extreme Programming Techniken als agiler Softwareentwicklungsprozess bezeichnet.
Grundsätze
Im Grundsatz beruft sich der Extreme Programming Ansatz auf:
- Einfachheit der Lösungen
- Mut zur ständigen Verbesserung des eigenen Entwicklungsprozesses
- Offene Arbeitsweise
- Disziplin und Prinzipientreue, absolute Teamfähigkeit
- Reibungslose Kommunikation mit den anderen Mitgliedern des XP Entwicklungsteams
- Kurze Entwicklungszyklen bzw. Iterationsschritte
Durchführung
Realisiert werden die Grundsätze des Extreme Programming Ansatzes durch:
- Programmierung in Paaren im ständigen Wechsel mit den anderen XP-Team Partnern
(zwei Programmierer teilen sich eine Tastatur und Monitor - einer codiert, einer denkt mit - die beiden wechseln sich immer wieder ab und werden auch durch andere XP-Team Partner abgelöst) - Keine Einzelkämpfer, dem XP-Team gehört der gesamte Code
(durch das ständige programmieren in Paaren und wechseln mit den anderen XP-Team Partnern werden keine Einzelkämpfer gefördert und das gesamte XP-Team kennt den Code des Gesamtsystems) - Testgesteuerte Programmierung, erst Erstellung von Test-Code, dann Entwickeln von Code
(es werden erst die Unit-Tests geschrieben, bevor die eigentliche Funktionalität programmiert wird. Die Tests werden nach jedem Programmierschritt ausgeführt und liefern Rückmeldung über den Entwicklungsstand) - Nur das momentan notwendige Design wird realisiert, keine unnötige Komplexität
(es gibt keine überflüssige bzw. ungenutzte Features, dadurch entsteht ein leichtgewichtiges Gesamtsystem) - Ständiges Umschreiben von komplizierten Lösungen (Refactoring)
(durch das permanente Verbessern der komplizierten Lösungen wird das Gesamtsystem einfacher und wartbarer. Es fallen dadurch auch alle überflüssigen bzw. ungenutzten Features heraus) - Permanente Integration der einzelnen Lösungen in das Gesamtsystem
(kleine Interationen im Zusammenspiel mit sehr vielen Regression-Testfällen ermöglichen jederzeit einen sofortigen Check des Systems nach einer Änderung)
Praxis
Die Begriffe "Agile Softwareentwicklung" bzw. "Extreme Programming" tauchten ungefähr im Jahre 1999 in der breiten Öffentlichkeit auf. Wir haben bereits im Jahre 1995 verschiedene Softwareentwicklungsprojekte mit einigen Grundsätzen des Extreme Programming erfolgreich realisiert.
Wollen Sie mehr über diese Softwareentwicklungstechnik erfahren?
Wir haben für Sie ein Kontaktformular vorbereitet, mit dem Sie uns jederzeit eine Nachricht senden können.
