Extreme Programming - Das Manifest

Im letzten Beitrag hatte ich ja schon das “Extreme Programming Manifest” erwähnt. Ich habe das Buch jetzt seit ein paar Tagen durchgelesen und muss ganz ehrlich sagen das dieses Buch in weiten Teilen deckungsgleich mit meine Vorstellung von Softwareentwicklung ist. Softwareentwicklung ist keine statischer, planbarer Prozess bei dem man am Anfang sagen kann wie ein System am Ende funktionieren soll. Man kann sich eine grobe Vorstellung machen, ein paar Ziele setzen aber der Versuch auf Basis eine Pflichtenheftes komplexe Systeme zu konzipieren ist meiner Ansicht nach zum Scheitern verurteilt.

Kent Beck, erläutert in seinem “Manifest” die Grundsätze von Extreme Programming. Dabei geht er genauso intensiv auf den Iterativen Entwicklungs- und Konzeptionsprozess ein, wie auf das Zusammenspiel von Teammitgliedern. Detailiert werden die verschiedenen Rollen wie Manager, Coach, Kunde und Entwickler differenziert. Dabei wird im Grunde nichts neues erfunden, vielmehr vergleicht Kent Beck die bestehenden und bekannten Rollen mit denen die es in einem XP Projekt geben sollte. Auch wenn das Buch stellenweise fast schon schwärmerisch von den Vorteilen des Extreme Programmings erzählt bleibt der Autor nicht der Warnung schuldig, dass XP in manchen Bereichen auch nicht anwendbar sein wird. So beschreibt er Situationen und Probleme die bei der Umstellung von “klassischer” Entwicklung auf XP passieren können.

Insgesamt rückt der Autor das Entwicklungsteam in den Mittelpunkt der Arbeit. Das interessante an dem Konzept ist die feste Integration aller Beteiligten in das Team. So werden Kunden, Manager und Entwickler nicht mehr getrennt sondern als “gleichberechtigte” Partner betrachtet. Kommunikation und Selbstverantwortung werden groß geschrieben und der Kunde ist nicht mehr einfach nur der König. Hier liegt meiner Meinung nach auch eine der größten Schwachstellen von XP. In der Theorie ist es sicher leicht zu sagen, das der Kunde sich dem Team anschließt und mit dem Entwicklern zusammenarbeitet, aber dazu ist die Voraussetzung das der Kunde das auch will und versteht warum er von seiner absoluten Position des “Zieldiktators” ablassen sollte.

Auch wenn man nicht mit allen Fakten von XP arbeiten will lohnt es sich das Buch zu studieren und die Ansätze aufzugreifen. Pair-Programming, Arbeitsraumgestaltung, Automatisierte Tests und iterative Entwicklung sind nicht auf XP beschränkt sondern sollten auch in “klassischen” Teams beachtet werden.

an image

Gedanken über Softwareentwicklung

Ich bin jetzt noch reichlich eine Woche in meiner alten Firma und langsam sehe ich persönlich ein Ende im Berg von Arbeit auf meinem Tisch. Leider nicht wie ich gehofft hatte in der Form das der Berg beseitigt ist, sondern eher in der das Form das ich die Arbeit auf meine Nachfolger verteile.

Ich selbst hätte mir gewünscht die angebrochene Arbeit am neuen Shop noch fertig zu bringen, aber projektplanerische Defizite im Unternehmen verhinderten dies effektiv. Für die Firma ist dies zwar der verhältnismäßig ungünstigste Fall aber für mich selbst ist es sehr lehrreich, ich hoffe nur das meine mahnenden Worte nicht nur auf taube Ohren stoßen.

Lehrreich ist das ganze in der Hinsicht das ich mich immo mit ein paar liegengebliebenen Büchern beschäftige. Unter anderem auch das “Extreme Programming Manifest” von Kent Beck und meine alten Vorlesungsunterlagen aus der “Softwaretechnologie”. Beim letzten Projekt, wurde ich quasi ins kalte Wasser geworfen, es gab ein Konzeptpapier, welches die Front-End Funktionen des Shops beschrieb und vom Kunden abgenommen war. Ich machte mich also daran die Funktionen zu listen, die Möglichkeiten auszuloten und erstellte für mich selbst ein Arbeitskonzept. Ich nahm mir die Zeit alles Objektorientiert anzugehen (auch wenn ich mit PHP arbeiten musste) und entwarf für die Grundfunktionen Klassen und Strukturen mit Hilfe von ArgoUML.

Soweit sogut, die zur Verfügung stehende Zeit war von Anfang an zu knapp und ich war etwa zwei Wochen später fertig als geplant, nicht gut, aber im Limit der Branche. Der Kunde hatte zuerst noch einige Änderungswünsche die schnell erledigt waren, aber auf diese Wünsche folgten neue Wünsche und Änderungen und Umbauten. Aus dem kleinen Shop für 100 Artikel wurde so schnell ein System mit mehr als 500 Produkten und einem Funktionsumfang auf den jede Eierlegende Wollmilchsau stolz wäre. Dazu zählen unter anderem:

  • frei konfigurierbare Produkte (Größe, Form, Farbe, etc.)
  • Bestellungen auf Rezept mit Abhängigkeiten von der Krankenkasse
  • Länderabhängige Preis- und Lieferkostenberechnung
  • Sonderangebote basierend auf den Produkten im Warenkorb

Alles individuell entwickelt, aber vorher nicht vorgesehen. Wenn ich heute an das Projekt rangehen würde, ich würde nicht mehr versuchen von vornherein alles zu planen, ich würde mir eine Skizze der Funktionen machen, eine grobe Roadmap aufstellen und die Struktur konzipieren. Dann würde ich einen Basisshop entwickeln, dem Kunden vorlegen und ihn zwingen diesen an den Start zu bringen. Erst dann wenn der Kunde das Basissystem abgenommen hat und dieses in der Produktion ist würde ich über die zusätzlichen Funktionen nachzudenken. Würde Funktion nach Funktion implementieren und testen, ich glaube dann würde der Shop heute besser funktionieren und ich könnte ihn mit besserem Gewissen an den nächsten übergeben.

Aber die Welt ist ungerecht, schöne Softwareentwicklung ist nicht mit kleinen Budgets zu machen und vor allem nicht mit Kunden die nicht bereit sind mit den Entwicklern zu kooperieren, sondern die ihre Wünsche und Vorstellungen diktieren wollen. Mein Fazit aus den 8 Monaten Arbeit: “Softwareentwicklung lebt von der Kommunikation und nicht vom langfristigen Abschätzen von Möglichkeiten. Letzteres kann helfen den groben Rahmen einen Projektes abzustecken, aber keiner von uns hat eine funktionierende Kristallkugel, zumindest ist bei meiner die Garantie abgelaufen.”

In der Stadt rumgelatscht

Jedes Jahr wieder versammeln sich in Dresden am 13ten Februar Polizei, Nazis, Linke und einfache Bürger die sich noch ihres Geschichtsunterrichtes erinnern und daran denken das die Altstadt in der Nacht zum 14ten im Hagel der Luftbomben niederbrannte. Inzwischen ist aber bei den meisten das Vergessen über die Vergangenheit gewachsen. Immerhin stehen ja die alten Kulturhäuser wieder und wie eine neue Haut ziehen sich historisch korrekt nachgebildete Steine über den einst verbrannten Boden.

Und wie jedes Jahr kündigen die Nazis der Opfer von Dresden gedenken zu wollen und die Antifa ruft nach Blockade und Demonatage. Also tue ich meine Bürgerpflicht, mache pünktlich Feierabend und wandere durch den kalten Winterregen in die Stadt. An den Ausfahrten der Budapester Straße positionieren sich Beamte der Streifenpolizei und beobachten den Verkehr. Dann gerät der Platz hinter der Altmarktgalerie in den Blick. Die vorherrschenden Farben sind das Grau von Himmel und Pflaster, das Schwarz der Antifa Demo und das Grün der Polizeikräfte die mit Helm unterm Arm, Feuerlöscher auf dem Rücken und Schlagstock am Gürtel einen Ring um die Demonstranten bilden. Rein darf nur wer einen Rucksack ohne gefährlichen Inhalt vorweisen kann. Ich schaue mich eine Weile um, bekomme eine Hand voll Flugblätter zu anderen Demos und einen Flyer zum heutigen Tag. Auf der einen Seite die Demostartpunkte auf der anderen Hinweise wie man sich bei einer Verhaftung verhalten soll. Nach einer halben Stunde werden mir dann aber die wenig Konstruktiven Rufe nach “Nie wieder Deutschland” zu eintönig und ich mache mich wieder auf den Weg durch die Stadt.

Durch den Ring aus Polizeikräften hindurch werden die Bürger der Stadt sichbar die mit Handys knippsend das Geschehen dokumentieren, den Kopf schütteln oder schimpfen das sie zum shoppen einen Umweg machen müssen. Es regnet wieder und ich lenke meine Schritte über den Altmarkt zur Frauenkirche hin. Ein paar Stände mit alten Damen die Bücher über das Dresden von 1945 verkaufen und ein einzelner Ordnungsbeamter steht verloren vor dem Eingang des Gotteshauses. Von Demos und Polizei ist hier nichts zu sehen. Auf der Carolabrücke steht ein Pulk von Polizisten der gerade die Anweisung bekommt sich mit zwei Meter Abstand gleichmäßig zu verteilen. Auf der anderen Seite am Finanzministerium parken Wasserwerfer aus Hamburg und ein Schützenpanzer ein und halten sich in Bereitschaft. Die Präsenz von Einsatzkräften ist seit der Synagoge wieder dichter geworden und am Albertplatz stehen wieder mehrere Mannschaftswagen. Wenigsten kann man sich hier dem Lautsprecherwagen ohne Taschenkontrolle nähern, die politische Prominenz ist wohl Garant genug für eine friedliche Veranstaltung. Recht pünktlich um 17 Uhr beginnt dann die Kundgebung.

Es gibt eine Eingangsrede bei der unter anderem der stellvertretende Ministerpräsident Thomas Jurk, jedoch ist bis heute nichts aus seiner Rede geblieben außer den üblichen Mahnrufen und Warnungen vor rechter Gewalt. Dann beginnt der Marsch, die Straße ist halbseitig gesperrt und wir wandern gemütlich in Richtung Synagoge, auf der Brück stoppt der Track, eine weitere Ansprache mit wahren Worten die sich wiederum nicht ins Hirn brennen. Von 5000 Teilnehmern ist die Rede und alle müssen zusammenrücken um auf die kleine Brücke zu passen. Schließlich muss hinten der Verkehr weiterfließen. Auf dem Platz vor der Synagoge dann der nächste Halt. Reich an Metaphern und irgendwie ein wenig einprägsamer hier die Rede der Vorsitzenden der jüdischen Gemeinde. Im Kopf bleibt mir noch das Zitat von Gerhard Bronner:

Es gibt drei Dinge, die sich nicht vereinen lassen: Intelligenz, Anständigkeit und Nationalsozialismus. Man kann intelligent und Nazi sein. Dann ist man nicht anständig. Man kann anständig und Nazi sein. Dann ist man nicht intelligent. Und man kann anständig und intelligent sein. Dann ist man kein Nazi. [1]

Am Ende marschieren die Massen durch die Stadt, vorbei am Altmarkt zum Georgentor wo es eine Abschlussrede von Katja Kipping die kaum mehr gegen den Regen und die Kälte ankam. Neunzig Minuten lang führte der Weg durch die Stadt und offen bleibt mir die Frage war es am Ende nur ein “Rumlatschen durch die Stadt” [2] wie der Spiegel Online die Antifa zitiert oder war es ein Zeichen gegen rechtes Gedankengut. Eins ist sicher es gibt noch Menschen denen ihre Meinung wichtiger ist als eine gemütliche warme Stube.

Doch es kann auch anders sein, in Gesprächen hörte ich folgendes am folgenden Tag:

Da standen ja hunderte von Nazis hinter der Altmarktsgalerie und schwenkten eine blaue Fahne mit Stern.
Müssen den solche Aktionen im Feierabendverkehr gemacht werden. Ich hab da ewig im Stau gestanden wegen den Demonstranten.
Was war da eigentlich gestern los? Warum war die ganze Polizei in der Stadt, was wurde denn da gefeiert?
Das ist doch furchtbar wenn wegen so ein paar Verrückten die Polizei aus ganz Deutschland herkommen muss.

Möge ein jeder denken was er will, aber ich finde doch das man einen Schimmer von Allgemeinbildung erwarten können sollte und wenn man in einer Stadt wie Dresden lebt sollte man um die Bedeutung des 13ten Februars wissen und das Nazis sicher keine Israelische Flagge hissen ;)

Nase voll...

So ich hab die Nase voll, gestern gab es wieder einen netten Bot der mein Blog heimgesucht hat und versuchte dieses mit Trackbacks voll zuspammen. Erfolglos sicher denn bei jedem Trackback prüfe ich ob der Ping auch vom trackbackenden Server kam. Wenn nicht wird der Request abgewiesen und bekomme nur eine Info im Log.

An sich also nicht schlimm, der Spamfilter funktioniert also wunderbar nur habe ich verschiedentlich feststellen müssen das dieser mit kaum einer Offline Blogingsoftware funktioniert. Da diese meist den Trackback vom Rechner des Users schicken und ich somit keinesfalls die IP des Blogservers erhalte. Also da der Mechanismus effektiv Spam und Trackbacks verhindert und ich eh nicht viel auf die Trackbacks gebe habe ich mich entschlossen die Trackbacks erstmal abzuschalten, bis ich eine schlaue Idee nebst der Zeit zur Realisierung gefunden habe.

Bis dahin also bleibt den vielen tausend Seiten die mich referenzieren wollen nur noch das klassische Verlinken im Text :P

Ein Hoch auf den Artikel des Tages: Spielwürfel

Heute in der Wikipedia als Artikel des Tages zu finden, das großartigste, geometrischste und mathematischte Spielgerät der Welt: Der Spielwürfel

an image