» Aktuelle Termine

Clean Code Developer
Anfang 2009 habe ich gemeinsam mit Ralf Westphal die Clean Code Developer Initiative ins Leben gerufen. CCD ist eine Initiative für mehr Softwarequalität. Das Wertesystem der Clean Code Developer Initiative besteht aus den Werten Korrektheit, Evolvierbarkeit, Produktionseffizienz und Kontinuierlicher Verbesserung. Um diese Werte zu konkretisieren, haben wir Bausteine zusammengetragen, die einen poitiven Einfluss auf diese Werte haben.
Für Entwickler, Teams und die Organisation bieten wir Trainings an. Als Berater komme ich gerne zu Ihnen und begleite Ihre Entwicklerteams auf dem Weg zu Clean Code.
Brownfield/Legacy Code Sanierung
Nicht jeder Entwickler hat das "Glück" mit einem Projekt "auf der grünen Wiese" beginnen zu können. Viel öfter müssen bestehende Softwaresysteme weiterentwickelt werden. Und leider ist das in vielen Fällen einfacher gesagt als getan.
Doch auch in einem Brownfield Projekt können die Clean Code Developer Bausteine angewendet werden, ist das Wertesystem gültig. Gerne helfe ich Ihnen dabei, einen Weg aus dem Brownfield "Matsch" zu finden. Einen Eindruck über die Vorgehensweise erhalten Sie durch diese Artikelserie bei Heise Developer.
Agile Softwareentwicklung
Die klassische Vorgehensweise der Softwareentwicklung mit den Phasen Anforderungsanalyse, Design, Implementierung, Test, Auslieferung und Wartung hat sich für die meisten Projekte als nicht angemessen gezeigt. Das ist bereits seit Frederick P. Brooks Klassiker The Mythical Man Month: Essays on Software Engineering bekannt. Das Buch stammt immerhin aus dem Jahr 1975 (!). Doch was ist die Alternative?
Die Alternative lautet Agile Softwareentwicklung. Sie setzt auf kurze Iterationen, Einbeziehung des Kunden sowie schnelles und kontinuierliches Feedback. Die Einführung eines solchen Entwicklungsprozesses erfordert neben den organisatorischen Aspekten eine technologische Basis wie beispielsweise die testgetriebene Entwicklung (TDD), Behavior Driven Development (BDD) oder automatisierte Akzeptanztests.
Gerne unterstütze ich Sie bei der Einführung der Agilen Softwareentwicklung organisatorisch und technologisch. Ferner helfe ich auch, wenn es nicht so klappt, wie Sie es sich vorgestellt haben.
Arbeitsorganisation mit Komponentenorientierung
Software effizient in einem Team zu entwickeln ist nur möglich, wenn die Teammitglieder reibungslos zusammenarbeiten können. Die dazu notwendige Arbeitsorganisation fehlt vielen Teams. Der wichtigste Bestandteil dieser Arbeitsorganisation ist die Komponentenorientierung. Sie ermöglicht eine optimale Zusammenarbeit an kleinen wie großen Systemen. Ferner sorgt sie für eine Trennung von Aspekten und damit für Struktur.
Zum Thema Komponentenorientierung bieten wir Seminare an. Gerne berate und begleite ich Sie auch vor Ort in Ihrem Projekt.