Über Jens Coldewey

Ich bin freier Berater in München, spezialisiert auf agile Sofwareentwicklung. Weitere Informationen erhalten Sie auf meiner Homepage http://www.coldewey.com. Als Mitglied der Agile Project Management Practice des Cutter Consortiums (http://www.cutter.com) beteilige ich mich zudem am Cutter Blog: http://blog.cutter.com

„Damit sind nicht alle unter Dampf“ – Übergang zu agiler Planung

„Die Planung ist ja ganz nett, aber einige hier sind jetzt überlastet und andere haben nichts zu tun.“ Diese Aussage hört man mit Sicherheit irgendwann, wenn man ein Team auf agile Planung umstellt. Zur Erinnerung: Bei agiler Planung versucht man nicht, sämtliche „Ressourcen“ voraus zu planen, sondern sammelt Arbeitspakete mit direktem Geschäftsnutzen (in der Regel in Form sogenannter Anwender Geschichten oder User Stories) und priorisiert sie vollständig. Die Pakete werden geschätzt und der Umfang abgeschöpft, der in dem Monat geleistet werden kann. So wird immer an den wichtigsten Aufgaben gearbeitet.

In der besten aller agilen Welten funktioniert das auch: Wenn das Team von Anfang an konsequent die Entscheidungen im Team getroffen hat und immer in Paaren gearbeitet hat, ist das Wissen über das System ungefähr gleich verteilt und jeder kann jede Aufgabe übernehmen. Wenn man allerdings ein bestehendes Vorhaben (oder Produkt) auf Agilität umstellt oder die Entstehung von Kopfmonopolen toleriert hat, wird man die daraus entstehenden Probleme spätestens bei der Planung bemerken.

Zunächst möchte ich betonen, dass dies kein Problem der Planung ist, sondern Symptom für ein anderes Problem: Wenn man einmal voraussetzt, dass die Prioritäten richtig gesetzt sind, ist das Grundproblem hier die mangelnde Flexibilität im Team. Oft haben sich Kopfmonopole gebildet, die von den einzelnen Entwicklern nur ungern verlassen werden – Schließlich sichert einem das Kopfmonopol Bedeutung und Anerkennung. Es kann aber auch inhaltliche Gründe geben, solche Kopfmonopole zu erzeugen. Zum Beispiel kann es aus Sicherheitsgründen sinnvoll sein, wenn nur wenige Entwickler über bestimmte Kernkonzepte informiert sind. Und auch im Kundenkontakt sind viele Kunden (mich eingeschlossen!) dankbar, wenn sie feste Ansprechpartner haben und nicht wie im Call-Center von Pontius zu Pilatus weiter gereicht werden. Aber abgesehen von solchen Spezialfällen sind Kopfmonopole ineffizient und sollten abgebaut werden.
Weiterlesen

Refactoring von C++

Programmiersprachen spielen keine wesentliche Rolle habe ich einst gelernt, es kommt vor allem auf die Qualität der Entwickler an. Diese Aussage stammt aus den frühen 80er Jahren, als Barry Boehm sein „Software Engineering Economics“ veröffentlicht hat. Und tatsächlich kann die beste Programmiersprache der Welt wenig ausrichten, wenn das Team inkompetent ist – und ein kompetentes Team wird auch mit altertümlichen Programmiersprachen noch etwas ausrichten können. Also alles in Butter? Gebt mir eine turingvollständige Sprache und ich wuppe Euch das Projekt? Wohl kaum.

Nur in wenigen Bereichen hat sich so viel in den letzten 25 Jahren verändert, wie bei Programmiersprachen und ihren Entwicklungsumgebungen. In den frühen 80ern hatte man im Wesentlichen noch die Auswahl zwischen C, COBOL, Pascal, PL/I und Assembler und bei den Entwicklungsumgebungen die Wahl zwischen vi, emacs und dem Host-Editor. Heute führen die Unterschiede zwischen den verschiedenen Sprachen und Umgebungen durchaus zu Produktivitätsunterschieden von einer Größenordnung, also um den Faktor 10; beim gleichen Team, wohlgemerkt.

Besonders fallen mir diese Unterschiede auf, wenn ich – wie heute einmal wieder – einem Kunden beim Umbauen einer C++ Anwendung helfe. Zur Erinnerung: C++ war der Versuch, dem guten alten C einige Konzepte überzustülpen, die bei flüchtiger Betrachtung als objektorientiert verkauft werden konnten. „Die C-Programmierer müssen dann nicht umlernen“ war die häufigste Begründung für diese Sprache. Ohne das belegen zu können, vermute ich, dass genau dieser Umstand – unreflektierter Einsatz objektorientierter Techniken von Programmierern, die nur in prozeduraler Programmierung ausgebildet sind – zu den häufigsten technischen Gründen für gescheiterte Projekte zählt.
Weiterlesen

Daten sammeln und Daten verlieren

Gestern ging die Meldung durch die Zeitungen, den britischen Steuerbehörden seien wieder einmal sechs CDs mit persönlichen Daten von Steuerpflichtigen abhanden gekommen. Schon letzte Woche war gemeldet worden, dass zwei CDs mit den persönlichen Daten aller Kindergeldempfänger in Großbritannien verloren gegangen sind – inklusive Bankverbindungen und der Social Security Number, der in angelsächsischen Ländern allgegenwärtigen Identifikationsnummer. Betrüger und Kriminelle können mit diesen Daten weitreichenden Schaden anrichten, vermutlich bis hin zu unberechtigten Zugriffen auf die Konten der Betroffenen.

Bei der derzeitigen Datensammelwut der Behörden möchte man sich gar nicht ausmalen, wie solche Meldungen in Zukunft aussehen: „DVDs mit sämtlichen Surfdaten der Stadt verloren gegangen“ – „Richter wegen Seitensprungs erpresst – gestohlene Handydaten wurden ihm zum Verhängnis“ – „Ausländischer Geheimdienst erpresst Politiker nach Besuch auf schwulen Webseiten“.

Eine Grundregel des Datenschutzes besagt, sowenig Daten zu erfassen, wie möglich. Die aktuellen Pläne von Bundesregierung und EU Kommission sprechen dieser Regel Hohn. Die Rundumerfassung des elektronischen Kommunikationsverhaltens (Vorratsdatenspeicherung für 6 Monate), des Reiseverhaltens (Flugdatenerfassung von Reisen in und aus der EU für voraussichtlich 12 Jahre) und möglicherweise auch des Straßenverkehrs (elektronische Erfassung der Fahrzeugkennzeichen) gefährden unseren Rechtsstaat, unsere Demokratie und letztlich unsere Gesellschaftsordnung. Sie vollendet das, was weder die RAF noch islamistische Terroristen vermocht haben: Die Errungenschaften der letzten 60 Jahre zu zerstören. Daher schließe ich mich auch der Verfassungsbeschwerde des Arbeitskreises Vorratsdatenspeicherung an.

Agilität und Werte

Wenn ich schon über Agilität und Religion philosophiere (und mich damit weit außerhalb meines Kompetenzgebietes wage), noch ein paar Gedanken zum Wertesystem agiler Entwicklung. Manch ein Manager und auch Beobachter empfindet die Festlegung eines „Agiles Wertesystems“ als befremdlich. Warum muss man zunächst ein „Agiles Manifest“ aufsetzen? Ist das nicht doch nur Marketing? Oder gar Religion?

Ein Kerngedanke agiler Verfahren ist ihre Adaption, also die Möglichkeit und Notwendigkeit, sie anzupassen. Diese Anpassung führt immer wieder zu Konflikten. Das agile Manifest gibt eine Grundlage, um bei Konflikten entscheiden zu können. Es fasst sozusagen die „Essenz“ aller agilen Verfahren zusammen. Und es hilft, die unvermeidlichen Trittbrettfahrer von denen zu unterscheiden, die wirklich neue Ideen und Ansätze beizutragen haben.

Das agile Manifest ist mehr als nur Philosophie. Es stellt Grundlage und „Leitplanken“ für die Anpassung dar. Übrigens lohnt es sich, auch mal eine Seite weiter zu klicken, zu den „Prinzipien agiler Software Entwicklung„.

Veröffentlicht unter Agilit

Agilität und Religion

Bei einer Vortragsveranstaltung äußerte neulich ein Vertreter traditioneller Methoden, der Streit um agile Entwicklung (welcher Streit eigentlich?) erinnere ihn an Religionsstreitigkeiten. Nun, Erinnerungen und Asoziationen sind sehr persönlich und widersetzen sich einer Bewertung.

Ein kleiner Gedanke sei mir aber erlaubt: Das schöne an Agilität – verglichen mit Religion und Esoterik – ist der Umstand, dass man nicht an sie glauben muss, damit sie funktioniert. Man braucht sie einfach nur zu betreiben.

Veröffentlicht unter Agilit

XPDays 2007 – Eindrücke

Im Zug von Karlsruhe nach München scheint mir eine gute Gelegenheit, meine Eindrücke von den gerade beendeten XPDays 2007 in Karlsruhe aufzuschreiben. Ich bin da sicher nicht neutral – schließlich war ich im Programm Komitee nicht völlig unbeteiligt an der Struktur der Konferenz. Dennoch freue ich mich über das gute Gelingen, an dem neben dem diesjährigen Ausrichter andrena sicher auch Johannes Link die „Hauptschuld“ trägt. Bei der Qualität des Programms und sympatischen Durchführung ist es kein Wunder, dass sich die XPDays im vierten Jahr zu der agilen Konforenz in Deutschland gemausert haben. Zu Recht.
Weiterlesen

Der Beginn meines Blogs

So, jetzt habe ich mich doch entschlossen, einen eigenen Blog anzulegen. Die ersten Erfahrungen auf dem Cutter Blog waren zwar recht positiv, dennoch ist es sinnvoll, sich dort auf Themen zu beschränken, die für ein internationales Publikum von Interesse sind. Zudem erfordert ein Blog-Eintrag dort doch erheblichen Zeitaufwand, was viele kleine Anmerkungen, Informationen und Ideen verhindert. Ich hoffe, hier eine höhere Frequenz zu erreichen.

Hauptthema wird natürlich agile Entwicklung sein, ich werde aber auch andere Themen anschneiden, die nicht direkt mit agiler Entwicklung zusammenhängen. Und gelegentlich werde ich mir auch die ein oder andere politische Anmerkung erlauben.

Das Layout ist noch sehr „von der Stange“, ich bitte um Nachsicht, wenn mir zunächst Inhalte wichtiger sind.

Und nun viel Spaß beim Lesen

Ihr/Dein
Jens Coldewey

PS: Beim Anlegen des Blogs war meine Homepage am Freitag Abend, 23.11.2007 eine Weile nicht erreichbar. Ich bitte um Entschuldigung