Programm
Herausforderungen der Agilen Entwicklung wissenschaftlicher Software
In vielen Forschungsvorhaben spielt die Entwicklung von Software heutzutage eine zentrale Rolle. Sie ist Teil der Methodik, wird zur Auswertung der Ergebnisse verwendet oder ist gar Ergebnis der Forschung. Literatur und Schulungen über agile Softwareentwicklung und Entwicklungspraktiken gehen jedoch häufig von einem Umfeld aus, das durch Kunden, Anwenderinnen und finanzielle Erfolge motiviert ist. Forschungsnahe Softwareentwicklung hingegen hat ein andere Ausgangslage und eigene Herausforderungen:
Der Erfolg eines Projektes ergibt sich nicht durch wirtschaftliche Erfolge, sondern durch Publikation der Ergebnisse und Anerkennung in der Forschungsgemeinde.
Die beteiligten Personen sehen sich selbst oft nicht als Softwarenentwickler, sondern als Forscherin, und kennen daher viele der Werkzeuge, Verfahren und „good practices“ nicht.
Forschungsprojekte haben typischerweise eine begrenzte Laufzeit und ein festes Budget, mit großen Auswirkungen auf den erreichbaren Funktionsumfang und sinnvolle Qualitätskriterien.
Für die einzelne Wissenschaftlerin ist ein Projekt und eine Stelle systembedingt nur ein Schritt zur wissenschaftlichen Qualifizierung, was die Teamarbeit an einem gemeinsamen Ziel deutlich erschwert.
Die inhärente Komplexität von Forschungssoftware liegt viel stärker in einzelnen Algorithmen und Verfahren, während sie in Business-Software oft in der großen Menge einfacherer und kleinerer Anforderungen besteht.
Trotz dieses unterschiedlichen Kontextes ist auch im forschungsnahen Umfeld die Schaffung von langlebigen, nachhaltigen und qualitativ-hochwertigen Lösung manchmal gewünscht. In diesem Fall möchte man auch die Vorteile agiler, team-zentrierter Softwareentwicklung nutzen.
In diesem Vortrag schauen wir genauer auf die Herausforderung, die Anpassungen, die Erfolge und die Rückschläge, die wir bei der Einführung agiler und anderer moderner Entwicklungspraktiken in einer forschungsnahen gGmbH erleben.
Johannes Link
HeiGITJohannes Link beschäftigt sich schon seit Ende des letzten Jahrhunderts mit Extreme Programming und anderen agilen Ansätzen. Ein wesentlicher Schwerpunkt dabei waren und sind die Entwicklungspraktiken, wie testgetriebene Entwicklung, Refactoring und Pair Programming. Er ist Autor weniger Bücher, zahlreicher Artikel und regelmäßiger Konferenzredner. Seit Beginn des Jahres ist Johannes „Senior Software Therapist“ bei HeiGIT.
Sascha Fendrich
Sascha Fendrich befasst sich seit drei Jahrzehnten mit Theorie und Praxis der Software-Entwicklung. Er integriert gerne mathematisch fundierte Methoden mit seiner langjährigen Praxis-Erfahrung in der Entwicklung industrieller wie wissenschaftlicher Software. Insbesondere interessieren ihn dabei die Möglichkeiten, Grenzen und Interaktionen verschiedener Ansätze wie statische Analyse, Typsysteme, Refactoring, Test-getriebene Entwicklung, Continuous Integration u.a. Seit 2017 ist Sascha wissenschaftlicher Mitarbeiter am HeiGIT.