Beratung für Agile Software-Entwicklung Beratung für Agile Software-Entwicklung
Horst Franzke

Horst Franzke
Gartenstr.23 
D-84508 Burgkirchen 
+49 (8679) 914 795 
h.franzke@t-online.de

Sie sind hier: Startseite Praxis | Artikel | Services | Bücherecke | Software | WWW | Über mich | Änderungen | Impressum

Willkommen

Auf dieser Homepage finden Sie Informationen über mich und meine Beratungs-Schwerpunkte.

Als nebenberuflicher Berater und Certified Scrum Master habe ich mich darauf spezialisiert, meine Erfahrungen auf dem Gebiet der "Agilen Software-Entwicklung" an meine Kunden weiterzugeben.

Meine Kunden sollen entscheiden können, in welchen Fällen "Agile Software-Entwicklung" für sie nutzbringend (in Zeit, Geld und Qualität) eingesetzt werden kann.

Mit meiner Unterstützung möchte ich meinen Kunden helfen, ...

  • ... sich ihrer eigenen Stärken bewußt werden;
  • ... die agilen Grundsätze zu kennen und zu verstehen;
  • ... agile Praktiken zu kennen, zu beherrschen und anzuwenden;

Ich möchte dabei helfen, daß Agiles Vorgehen bei der Software-Entwicklung als echte Alternative zum konventionellen Projekt-Vorgehen/-Management ("Wasserfall") gesehen wird.

Nach meiner Erfahrung und Überzeugung wird man durch Agiles Vorgehen mehr als konkurrenzfähig gegenüber "Offshore-Development": der Zeit-, Geld- und Qualitäts-Gewinn durch Agile Projekte wird Software-Entwicklung in Europa und Deutschland auch weiter (gut) überleben lassen.

Seitenanfang

Für wen ist Agile Software-Entwicklung interessant?

Sie sind in einer der unten aufgelisteten Rollen an Software-Projekten beteiligt.

Bei der Programmierung und Bereitstellung von Software (-Systemen) sind die Prinzipien der "Agilen Software-Entwicklung" aus verschiedenen Blickwinkeln interessant:

Aus Lieferanten-Sicht:
  • Sie haben einen sehr engen Liefertermin unbedingt zu halten!?
  • Ihr Kunde möchte ständig genau(!) über den Projekt-Fortschritt informiert sein!?
  • Ihr Kunde ändert ständig seine Anforderungen!?
  • immer wieder werden einzelne Schlüsselpersonen zum Engpaß der Entwicklung!?
Aus Kunden-Sicht:
  • die Software kann nie das, was Sie dringend benötigen!?
  • Sie wären froh, wenn Sie schnell einen Teil des Systems nutzen könnten!?
  • Sie wissen noch nicht genau, wie das System letztendlich genau aussehen soll!?
  • Bereits behobene Fehler kehren mit neuen Software-Versionen zurück!?
Aus Entwickler-Sicht:
  • Sie wissen eigentlich gar nicht, was der Anwender überhaupt möchte!?
  • Sie kennen den Anwender gar nicht!?
  • immer wieder schleichen sich Fehler ein und gelangen bis zum Kunden!?
  • und eigentlich macht das Projekt ziemlich wenig Spaß;
Bei Eigen-Entwicklung:
  • eigentlich haben Sie viel zu wenige Ressourcen für Ihre Projekte!?
  • Sie spüren ein hohes Niveau an Frust bei Ihren Entwicklern!?
  • immer wieder kommt es vor, daß der Zeitrahmen gesprengt und das Budget überzogen wird!?
Bei Fremd-Entwicklung:
  • trotz Festpreis werden die Projekte unterm Strich überzogen teuer!?
  • am Projekt-Ende stellen Sie fest: die Versprechungen wurden nicht gehalten!?
Oder ...
  • ... Sie haben sich bereits entschlossen, "Agiles Vorgehen" oder gar "eXtreme Programming (XP)" in einem Pilot-Projekt zu testen, und Sie wissen nicht so recht, wie und wo Sie beginnen sollen!?

Bei all diesen Punkten kann "Agiles Vorgehen" helfen. Dabei ist WICHTIG: Sie müssen sich nicht komplett von Ihren bisherigen Arbeitsweisen in der Projekt-Abwicklung abwenden (die guten Punkte sollten Sie auf jeden Fall behalten)! Sie können Agile Vorgehensweisen und Agile Praktiken teilweise bzw. schrittweise einführen (was in allermeisten Fällen die beste Strategie ist).

Seitenanfang

Agile Software-Entwicklung

"Agile Vorgehensweisen" sind Alternativen zum klassischen Vorgehen bei Software-Projekten: das streng sequentielle "Wasserfall"-Phasenmodell unterteilt Projekte in "Analyse > Entwurf > Implementierung > Integration > Installation > Einsatz". Ausführliche Planung und deren umfangreiche Dokumentation sind u.a. Merkmale der klassischen Vorgehensweise (z.B. Analyse-Dokumente, Pflichtenheft, Design-Dokumente, Test-Pläne, u.v.m.).

Im Jahr 2004 hat sich der Begriff soweit etabliert, daß er nicht mehr allzu fremd sein sollte. Im Kern klingt die Aussage der Agile Alliance eigentlich recht einfach:

  • Individuen und Interaktion sind wichtiger als Prozesse und Werkzeuge;
  • Lauffähige Software ist wichtiger als umfangreiche Dokumentation;
  • Zusammenarbeit mit dem Kundenist wichtiger als Vertragsverhandlungen;
  • Auf Änderungen reagieren ist wichtiger als (stur) einem Plan zu folgen;

(Quelle: Agile Manifesto)

Dabei ist "Agile Software-Entwicklung" keine Neu-Erfindung. Eher das Gegenteil ist der Fall: Rückbesinnung bzw. Bewusstmachen von sog. "Best Practises"; d.h. Arbeits-Techniken, die sich seit den Anfängen der Software-Entwicklung bewährt haben und auch tatsächlich die Erstellung von solider Software unterstützen. Neu ist lediglich die spezielle Werkzeug-Unterstützung, die das Anwenden mancher Praktiken erleichtern (z.B. "Test First" mit Hilfe von xUnit bzw. "Refactoring" in Eclipse).

Ach ja, und bei dieser Vorgehensweise wird auch nicht vergessen, daß Programme letztendlich immer von Menschen erstellt werden: egal ob die dabei nun hoch motiviert sind, oder nicht!

Bereits vor der Gründung der Agile Alliance im Jahr 2001 gab es Pioniere, die ihren Sammlungen und Ausprägungen von "Best Practises" jeweils auch einen Namen gegeben haben. Die prominentesten Vertreter der Agilen Vorgehensweisen sind:

Bitte nicht erschrecken bei dieser Liste: es sollte nicht zur "Qual der Wahl" kommen, denn alle tragen die gleichen Grundsätze (s.o.) "im Herzen". Variationen sind vorhanden, so daß ein reicher Fundus vorliegt, aus dem zur Unterstützung von Teams und Gruppen geschöpft werden kann.

Mein persönlicher Favorit für Agiles Vorgehen ist "eXtreme Programming" (XP): ergänzt durch maßvolle Management-Praktiken (z.B. von Scrum) fördert XP gerade den wichtigsten Punkt in einem Software-Projekt: das Erstellen von soliden Programmen die das machen, was der Kunde benötigt und dazu noch eine sehr gute "time to value" bieten.

Seitenanfang

Service-Übersicht

Als nebenberuflicher Berater und Certified Scrum Master unterstütze ich meine Kunden u.a. durch folgende Services:

  • Allgemeine Beratung zu Fragen bzgl. "Agile Software-Entwicklung";
  • Moderation von Teams und Gruppen zur Prozeß-Verbesserung;
  • Einführungsplanung für "Agile Software-Entwicklung";
  • Prozeß-Training von Teams (Agile Grundsätze, eXtreme Programming);
  • Einführung von Werkzeugen und Tools (z.B. Versions-Verwaltung,Automatisches Testen, etc.)
  • Werkzeug-Training von Teams (z.B. CVS,JUnit, Ant, Wiki, etc.);
  • Begleitendes Coaching von Projekt-Teams;
  • Begleitendes Coaching von Projekt-Leitern(Monitoring,Reporting, Steuerung, etc.);
  • Agiles Vertrags-Management;
  • Moderation einer kontinuierlichen Prozeß-Verbesserung;
Details finden Sie hier.

Sie können jederzeit und unverbindlich mit mir Kontakt aufnehmen: h.franzke@t-online.de.
Ich stehe Ihnen gerne mit meiner über 18-jährigen Software-Projekt-Erfahrung zur Verfügung.

Seitenanfang

Copyright 2004 - 2007, Horst Franzke Impressum Last Page Update: 21-Jan-2007 (r-5-0-1)