Konsequent agile Entwicklung mit funktionaler Programmierung

 
Agile Day - 22. Mai
 
16:45
 
Prozess
Raum Rebland
 
Advanced

Im Zentrum eines agilen Projekts ist das Primat der funktionierenden Software: möglichst früh und ab da möglichst kontinuierlich. Traditionelle Softwaremethodik sieht allerdings immer noch eine Modellierungsphase vor, die vor der funktionierenden Software steht. Dies ist bei Einsatz objektorientierter Methodik auch sinnvoll, weil der Abstand zwischen der mentalen Welt eines Problems und den Abstraktionsmöglichkeiten der Objektorientierung meist zu groß ist, als dass Entwickler die Grätsche zwischen beiden Welten im Kopf vollziehen sollten.

Moderne funktionale Programmiersprachen (wie Scala, Clojure, F#, Haskell, Racket oder OCaml) und funktionale Programmiermethodik haben dieses Problem allerdings nicht: Sie erlauben die direkte Übersetzung domänenspezifischer Konzepte in ausführbaren Code und machen damit aus dem Systementwurf direkt funktionierende Software. Dies führt im Vergleich mit traditioneller Vorgehensweise zu leistungsfähigeren Architekturen, zum Beispiel durch Higher-Order-Programmierung oder eingebettete domänenspezifischen Sprachen. Gleichzeitig hilft die frühe Implementierung, Inkonsistenzen im Modell früher aufzuspüren und zu verhindern, dass Systementwurf und -architektur auseinanderdriften. Vor allem aber hilft die funktionale Programmierung, die zentrale Forderung des agilen Manifestos nach funktionierender Software umzusetzen.

Der Vortrag illustriert diese Vorgehensweise anhand konkreter Beispiele aus der industriellen Praxis.

Dr. Michael Sperber

Active Group GmbH
Dr. Michael Sperber ist CTO der Active Group GmbH. Er ist seit über 15 Jahren in Forschung über und industrieller Anwendung von funktionaler Programmierung tätig. Er hat zahlreiche Fachartikel zum Thema verfasst und hat Anfänger-Ausbildungen in Programmierung an den Universitäten Tübingen, Freiburg und Kiel konzipiert und (in Tübingen) mehrfach durchgeführt.