|
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
|