„Make things as simple as possible“ - Albert Einstein

Agile Methoden

Entwicklung in Zyklen

Jedes komplexe, funktionierende System entwickelt sich iterativ und inkrementell aus einem einfacherern, funktionierenden System. Diese Vorgehensweise hat mittlerweile schon viele Namen bekommen und ist in unterschiedlichen Ausprägungen im Einsatz: z.B. Scrum, Kanban oder extreme Programming. Aus meiner Erfahrung ist es wichtig, dass die gewählte Methode zum Team passt und es eine konsequente Automatisierung des Build-Prozesses und der Tests (mit Maven oder Gradle) gibt und ein Bugtracking-Tool eingesetzt wird.

Vom Einsatz agiler Methoden in der IT bin ich fest überzeugt und ich habe sie seit dem ersten von mir geleiteten Projekt (1995) in jedem meiner Projekte erfolgreich eingesetzt.
Ich bin von Scrum.org zertifizierter Scrum Master und Scrum Developer.

Migration

Migration als Teil der IT-Strategie

Hat man früher IT-Systeme und Anwendungen für 10 oder 20 Jahre Lebensdauer geplant, ist heute aufgrund des schnellern Wandels oft schon nach 5 Jahren eine Anwendung veraltet und müsste erneuert werden. Migration muss daher ein fester und dauerhafter Bestandteil der IT-Strategie sein.

Seit fast 15 Jahren führe ich erfolgreich Migrationen und Ablösung von Altsystemen durch und unterstütze Sie gerne bei der Planung und Ausführung.

  • Managed Evolution schafft Klarheit bei allen Beteiligten
  • Wichtig ist, die alten Systeme und Anwendungen vollständig abzulösen
  • Migrierbarkeit kann man beim Entwurf neuer Anwendungen von Anfang an berücksichtigen

Open Source

Mehr Unabhängigkeit

Bei Open Source Software geht es um viel mehr als nur den kostenlosen Einsatz und fehlende Lizenzgebühren: Durch Open Source wird man unabhängig von einzelnen Herstellern und eralngt die Selbstbestimmung über die eigenen Systeme zurück, ein Vendor-Lock-In wird vermieden. Darüber hinaus eröffnet sich die Perspektive, die Software dauerhaft mit zu gestalten, wenn man eigene Anpassungen an die Community zurückgibt.

So haben wir in meinen Projekten bereits Änderungen am Linux-Kernel und an der Datenbank PostgreSQL bewirkt und ich habe selbst schon Patches für das JBoss Messaging geschrieben. Außerdem profitiert man von den Fähigkeiten der weltweiten Entwickler-Community, wie Sun-Mitgründer Bill Joy es gut auf den Punkt gebracht hat:

No matter who you are, most of the smartest people work for someone else

Systemanalysen

Wo stehen wir? Was wollen wir genau?

Im Bereich der Analysen von Software-Systemen, Geschäftsprozessen oder Abläufen biete ich folgende Dienstleistungen an:
  • Aufnahme und Dokumentation des Ist-Zustandes
  • Anforderungsnanalysen und Workshops
  • Technische Gutachten und Bewertungen
  • Objektorientierte Analyse und Design

Architektur

IT-Architektur fit für die Zukunft

Damit eine Architektur nachhaltig und zukunftsfähig ist, sind aus meiner Erfahrung folgende Faktoren wichtig:
  • Lose Kopplung von (Teil-)Systemen über RESTful Webservices und JSON Datenformat
  • Komplexität beherrschen durch Kapselung und Abstraktion im Sinne des objektorientierten Designs
  • Verwendung von Open Source Komponenten zur Sicherung der Unabhängigkeit
  • Qualität: Automatische Tests für die o.g. Schnittstellen der losen Kopplung
  • Agile Entwicklung, das impliziert auch Continuous Integration und Bugtracking
  • Automatisierung und Release-Management mit Git, Gradle oder Maven