» 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. Unser Wertesystem besteht aus den Werten Korrektheit, Evolvierbarkeit, Produktionseffizienz und Reflexion. Um diese Werte zu konkretisieren, haben wir Bausteine zusammengetragen, die jeweils Einfluss auf einen oder mehrere der 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.
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.
Domain Driven Design
Durch sein Buch Domain-Driven Design: Tackling Complexity in the Heart of Software hat Eric Evans der Objektorientierten Programmierung (OOP) einen großen Gefallen getan. Endlich ist die OOP im Kern der Softwareentwicklung angekommen: in der Geschäftsdomäne.
Beim Domain Driven Design geht es darum, die Geschäftsdomäne durch ein objektorientiertes Modell abzubilden. Drumherum werden die Aspekte der Infrastruktur ergänzt, wie beispielsweise Persistenz, Darstellung, Reporting, etc. Im Ergebnis führt dies (endlich!) zu echter Objektorientierung. Die Komplexität der Geschäftsdomäne wird damit handhabbar.