Pflichtenheft von byteme - PI - Praktische Informatik
Pflichtenheft von byteme - PI - Praktische Informatik
Pflichtenheft von byteme - PI - Praktische Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.2. PROZESSSTRUKTUR 55<br />
6.2.2 Extreme Programming<br />
Diese <strong>von</strong> Kent Beck entwickelte Methode stellt mit ihren Regeln und Bedingungen<br />
einen Rahmen für die Durchführung <strong>von</strong> Software-Projekten zur Verfügung. Durch die<br />
relativ kleine Anzahl <strong>von</strong> Gruppenmitgliedern bietet sich der Einsatz <strong>von</strong> Extreme Programming<br />
an und verspricht einen erfolgreichen und schnelleren Implementierungs-<br />
Prozess.<br />
XP verzichtet auf eine Reihe <strong>von</strong> Elementen der klassischen Softwareentwicklung,<br />
um so eine schnellere und effizientere Kodierung zu erlauben. Die dabei entstehenden<br />
Defizite werden durch stärkere Gewichtung anderer Konzepte (insbesondere der<br />
Testverfahren) zu kompensieren versucht.<br />
Weil der Programmcode das ultimative Ziel einer Softwareentwicklung ist, fokussiert<br />
XP <strong>von</strong> Anfang an genau auf diesen Code. Im Gegensatz dazu wird Dokumentation<br />
als aufwändiger Ballast betrachtet. Eine Dokumentation ist aufwändig zu erstellen<br />
und sehr oft viel fehlerhafter als der Code, weil sie nicht automatisch analysier- und<br />
testbar ist. Folgerichtig wird in XP-Projekten kaum externe Dokumentation erstellt. Im<br />
Ausgleich dafür wird Wert auf eine gute Kommentierung des Quellcodes durch Coding<br />
Standards und eine umfangreiche Test-Sammlung gelegt.<br />
Dies alles basiert auf den folgenden grundlegenden Prinzipien eines XP-Prozesses:<br />
Kommunikation: Permanente und intensive Kommunikation der Entwickler untereinander<br />
sowie mit dem Kunden erlaubt schnellstmögliches Feedback sicherzustellen,<br />
unnötige Funktionalität zu verhindern, entstehende Probleme so schnell<br />
wie möglich zu lösen und das Problem der fehlenden Dokumentation zu mildern.<br />
Dies wollen wir durch regelmäßige Teamsitzungen und die Verwendung<br />
<strong>von</strong> modernen Kommunikationsmitteln (Wiki, ICQ etc.) erreichen.<br />
Einfachheit: Die Software soll so einfach wie möglich gehalten werden, keine Vorbereitung<br />
möglicher zukünftiger Erweiterungen, keine redundante oder unnötige<br />
Funktionalität und keine redundanten Strukturen sind geduldet. Dadurch bleibt<br />
das System einfach und wartbar. Wir weichen <strong>von</strong> diesem Prinzip des XP insofern<br />
ab, als dass wir die Erweiterbarkeit des Programms sicherstellen wollen,<br />
auch wenn dies zu Lasten der Einfachheit gehen kann.<br />
Feedback: Evolutionäre Entwicklung des Systems in möglichst kleinen Releases und<br />
eine permanente Verfügbarkeit des Kunden erlaubt schnelles Feedback und dadurch<br />
flexible Steuerung des Projektfortschritts. Dem wollen wir durch die Einbeziehung<br />
des Auftraggebers und unsere geplanten Intervalle zwischen den einzelnen<br />
Iterationen Rechnung tragen (siehe hierzu auch Abschnitt 6.5).<br />
Eigenverantwortung: Im XP sind die Entwickler gehalten, eigenverantwortlich zu<br />
handeln. Dies impliziert, in Absprache mit dem Kunden Funktionalitäten anzupassen<br />
und Pläne zu überdenken.<br />
Zu diesen Prinzipien gehören auch die folgenden Entwicklungspraktiken, die in unserer<br />
Gruppe zur Anwendung kommen.<br />
6.2.2.1 Pair-Programming<br />
In der Coding-Phase werden wir das sogenannte Pair-Programming benutzen. Hierbei<br />
sitzen während des Schreibens <strong>von</strong> Quellcode jeweils zwei Leute an einem Rechner.<br />
Der momentane Benutzer <strong>von</strong> Tastatur und Maus konzentriert sich auf eine bestmögliche<br />
Implementierung des aktuellen Code-Abschnitts, während der andere eher