Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Trend Guide "Embedded Software Redesign"

Embedded Software Redesign: Inhaltsverzeichnis

  • Teil I - Die Entscheidung
  • Teil II - Reverse Engineering: Vom Lösen gordischer Knoten
  • Teil III - Refactoring: Aus Alt mach Neu
  • Teil IV - Reengineering: Der Weg ist das Ziel
  • Info-Pool: Buchtipps
  • Info-Pool: Tools und Web-Tipps

Teil I: Die Entscheidung

Auf unseren Veranstaltungen zum Thema Software Redesign für Embedded-Entwickler wurde aus den Diskussionen und Beiträgen der Teilnehmer sehr schnell klar, wie dieses Thema vielen Firmen auf den Nägeln brennt.

Software wuchs zum Teil über Jahrzehnte unter den Randbedingungen Echtzeit, Speicheroptimierung, Kostenoptimierung und Projektdruck zu immer komplexeren Gebilden. Jetzt stoßen viele Entwicklungsteams an die Grenzen vertrauter Methoden und Vorgehensweisen. Ohne Übertreibung kann man sagen, dass sie nach einem Befreiungsschlag suchen, um wieder Ordnung ins Chaos zu bringen.

Mit unserem Trend Guide "Embedded Software Redesign" wollen wir Sie dabei unterstützen.

Bild 1: MicroJones poliert M2C2 nach erfolgreichem Redesign

Guthaben, Kredite und Zinsen auf Software-Qualitätskonten

Das Software-Dilemma lässt sich sehr anschaulich mit einer Analogie beschreiben. Jedes Entwicklungsteam verfügt über drei Qualitätskonten:

  • das Dokumentationskonto
  • das Architektur-/Source-Code-Konto
  • das Prozesskonto


Ist alles nach Lehrbuch gelaufen, sind diese Konten gut gefüllt. Die Dokumentation erlaubt eine schnelle Orientierung in Architektur und Source-Code, und neue Mitarbeiter können sich schnell einarbeiten. Die Architektur und der Source-Code der Software lassen sich einfach und schnell erweitern. Der Prozess sichert den reibungslosen Ablauf von den Anforderungen bis zur Inbetriebnahme beim Kunden.

Bild 2: Embedded Software Redesign - Software-Qualität

Software-Qualitätskonten

Märchenhaft! Genau das ist es leider auch. Ein Märchen, das gerne erzählt und selten gelebt wird. Die Realität sieht meist anders aus und erinnert eher an einen Action Thriller: Einige wenige begnadete "Freaks" bauen einen Prototypen. Wenn es dafür Kunden gibt, kann der Softwareentwickler ja immer noch alles "sauber" programmieren. Doch der Kunde will erstens mehr, zweitens anders, und zudem alles schneller. So wird der Prototyp flugs zum Produkt "aufgepeppt", und es werden noch schnell einige Zusatzfunktionen eingebaut. Das Team ist eingespielt und die Dokumentation überwiegend in den Köpfen gespeichert. Die Architektur ist zwar nicht optimal, bietet aber noch etwas Raum für mehr Funktionalität. Der Prozess gleicht dem virtuosem Jonglieren mit Dateien und Tools.

Von Anfang an sind die Qualitätskonten nur spärlich gefüllt. Wachsende Komplexität, der Verlust von Wissensträgern oder eine Vergrößerung des Teams führen schnell dazu, dass Kredite aufgenommen werden müssen, um dem Projektdruck standhalten zu können. Trotz aller guter Vorsätze wird die Dokumentation nicht nachgeführt, obwohl die Funktionalität stark angewachsen ist. Die Architektur lässt sich nur noch durch zweifelhafte Tricks erweitern und gleicht immer mehr einem Kartenhaus, das beim kleinsten Luftzug einzustürzen droht. Der Prozess besteht zum Großteil aus hektischem "Löcherstopfen" anstelle systematischer Vorgehensweisen.

Und wie das mit Krediten nun mal so ist: Zinsen fallen an. Nach kurzer Zeit kann keiner mehr die Software überschauen. Immer mehr Klimmzüge und Feuerwehreinsätze sind vonnöten, um die Software zu stabilisieren. Die alten Hasen sind völlig überlastet und die Neuen tappen eifrig, aber wenig zielgerichtet im Dunkeln. Das Management treibt die Entwickler mit der Outsourcing-Peitsche an. In unserem Szenario heißen die Zinsen Zeitverlust, Qualitätsverlust, Kundenverlust, Geldverlust, keine Lust — Frust !

Gefährliche Kredite

Wie sieht Ihr Kontostand aus?

Unserer Erfahrung nach sind die Qualitätskonten meist viel schneller geplündert, als man es wahrhaben will. Lassen Sie es nicht so weit kommen. Am besten ist es, erst gar keine Schulden zu machen. Folgende Maßnahmen eignen sich zur "Schuldentilgung":

  • Reverse Engineering verbessert die Dokumentation
  • Refactoring sorgt für eine ausbaufähige Softwarearchitektur und erweiterbaren Source-Code
  • Reengineering führt zu den erforderlichen Prozessanpassungen

Kurz: die 3 R's des Software Redesigns!

Intensivstation oder Pathologie?

Bevor Sie sich nun mit Hilfe der 3 R's wieder auf den Pfad der Tugend und Schuldenfreiheit begeben, sollten Sie sich folgende Frage stellen: Lohnt sich der ganze Aufwand? Auch wenn es makaber klingt, Sie müssen herausfinden, ob Sie ...

  • die Software am Leben erhalten können,
  • nur die brauchbaren Teile weiterverwenden wollen,
  • eine Softwareleiche sezieren, um etwas für die Zukunft zu lernen, oder
  • gleich alles Begraben und einen Neuanfang wagen.


Zumindest einige im Team haben sicherlich schon das bange Gefühl, dass es so nicht weiter gehen kann. Doch sollte sich eine Entscheidung auf Fakten stützen, die die Situation greifbar machen. So werden auch weniger empfindliche Gemüter ins Boot geholt - vor allem das Management, das die Sache durch die eher distanzierte betriebswirtschaftliche Brille betrachtet.

Eines muss von Anfang an klar sein: Das Füllen der Qualitätskonten ist eine Investition, die zunächst auf Kosten anderer Konten erfolgt - wie zum Beispiel Produktivität oder Gewinn. Die Zinsen, die wir dann allerdings auf unsere Qualitätskonten erhalten, werden diese Investition schon bald wieder in Form kürzerer Projektlaufzeiten und -kosten amortisieren.

Gesamten Trend Guide als PDF downloaden:

Embedded Software Redesign - deutsche Version

Embedded Software Redesign - englische Version


MicroConsult unterstützt Sie mit Training & Coaching rund um das Thema Embedded Software Re
design:


Training & Coaching zu den Themen unseren Portfolios finden Sie hier.


Darüber hinaus besteht die Möglichkeit, das Themenfeld Embedded Software Redesign auch in maßgeschneiderten Workshops zu behandeln. Sie werden auf die speziellen Bedürfnisse von Aufgaben, Projekten, Teams und Rollen zugeschnitten.

Setzen Sie sich mit uns Verbindung! Zum Kontaktformular

 


Weitere Trend Guides