Dr. Winfried Grünewald
Stand: 20.12.2018
Startseite
Team
Thesen
Impressum

Herzlich Willkommen,

mein Name ist Dr.-Ing. Winfried Grünewald.

Seit 15 Jahren entwickle ich professionell Softwareprogramme mit technischen oder mathematischen Aufgabenstellungen in und als Leiter eines Entwicklungsteams. Als Diplom-Mathematiker habe ich 1998 am Institut für Rechnerarchitektur und Fehlertoleranz der Universität Karlsruhe (TH) promoviert.

Bei Ihren Projekten kann ich Sie unterstützen als:

Systemarchitekt

Die technische Software wird gerne in Anwender-Software, System-Dienste, Hardware-Treiber und Firmware (Embedded Software) unterteilt. Mit generativen und objektorientierten Techniken lassen sich auch komplexe Architekturen beherrschen. Fertigkeiten aus dem Compilerbau und der formalen und informalen Programmverifikation erleichtern die Abstraktion der Komponenten und deren Verhalten. Entwurfsmuster unterstützen hierbei das Verständnis im Team und die Dokumention.

Mathematiker

Innovative Produkte benötigen die Neuentwicklung, Revision und Adaption komplizierter und performanter Algorithmen. Die Implementierung und Optimierung ist Aufgabe für einen Spezialisten. Hierzu sind neben einem fundierten mathematischen Grundwissen auch genaue Kenntnisse der (gängigen) Datenstrukturen und deren Umsetzung in der jeweiligen Systemumgebung unabdingbar. Insbesondere stellen Mehrprozessorsysteme und Multithreading besondere Anforderungen an die Algorithmen, deren Implementierung und Test-Szenarien. Konsistenzmodelle werden meist stiefmütterlich behandelt.

Refaktorierer

Redesign und Migration der bestehenden Software ist oft der klügere Weg, größere existierende Software fort- und fertig zu entwickeln. Ein kompletter Neuanfang „auf der grünen Wiese“ scheitert meist an der ungenauen Spezifikation und der damit verbundenen fehlenden Akzeptanz der Benutzer und Entwickler. Selbst scheinbar gescheiterte Projekte lassen sich meist durch Umstrukturierung in moderne Software-Produkte transformieren.

Berater

Die Kundenbedürfnisse unterscheiden sich oft von den geäußerten Kundenwünschen. Das V-Modell verlagert die Verantwortung für eine unzutreffende Spezifikation auf den Kunden. Der Auftraggeber ist im Normalfall aber nicht in der Lage seine Bedürfnisse für die Entwicklungsabteilung klar genug zu formulieren. Unzufriedene Auftraggeber und Mehrkosten sind die Folge. Die agile Softwareentwicklung z.B. Extreme Programming versucht mit Prototypen und über kontinuierliche Kommunikation mit dem Kunden den Kundenbedürfnissen gerecht zu werden. Überflüssige Funktion werden vermieden, die Problemstellung während der Projektphase erarbeitet und die Dokumentation gemeinsam mit dem Auftraggeber erstellt.