Leitlinien

Hier möchte ich Ihnen einige Grundsätze vorstellen, die mein Verständnis von Softwareentwicklung prägen und nach meiner Erfahrung für ein erfolgreiches Arbeiten eine zentrale Rolle spielen.

Softwareentwicklung ist vor allen Dingen Kommunikation.

Dies beginnt bereits bei der Ermittlung der Anforderungen an das zukünftige Softwaresystem. Die Wünsche der Anwender müssen verstanden und in eine vollständige und konsistente Spezifikation umgesetzt werden. Die Spezifikation ist Dreh- und Angelpunkt der zukünftigen Entwicklung und dient sowohl als Vorlage für die Entwickler als auch als Vertragsgrundlage zwischen Kunde und Dienstleister.

Ein beträchtlicher Teil des Gesamtbudgets einer Softwareentwicklung wird für Wartung ausgegeben. Auch der Code selbst sowie die Programmierdokumentation dienen daher der Kommunikation, in diesem Fall mit dem zukünftigen Wartungspersonal. Schließlich muss das System noch für die zukünftigen Anwender beschrieben werden, ebenfalls eine kommunikative Tätigkeit.

Softwareentwicklung ist daher mehr als bloßes Programmieren und erfordert neben technischem Know-How explizit eine übergreifende, kommunikationsorientierte Denkweise. Den kommunikativen Aspekt zu vernachlässigen, ist ein häufiger Fehler in der Softwareentwicklung und führt mit großer Wahrscheinlichkeit zu zusätzlichen, unnötigen Kosten.

Technologie ist nie Selbstzweck, allenfalls Mittel zum Zweck.

In der IT-Branche ist es gang und gäbe, bestimmte Technologien als Allheilmittel zu verkaufen. Dass Technologien aber immer in einen sozialen und wirtschaftlichen Kontext eingebettet sind, wird gerne ignoriert.

Obwohl persönliche Vorlieben und wirtschaftliche Interessen oft anderes suggerieren, gibt es nicht "die" beste Technologie; wohl aber die optimale Technologie für ein konkretes Vorhaben und eine konkrete Zielgruppe. Es gehört zu den Aufgaben der Softwareentwicklung, Technologien wertneutral einzuschätzen und optimal je nach Aufgabe einzusetzen, seien es Betriebssysteme, Programmiersprachen oder Plattformen.

Die einfachste Lösung ist (fast) immer die beste.

Für die meisten Probleme gibt es viele mögliche Lösungsansätze. Oft lohnt es sich, nicht gleich den Standardweg zu wählen, sondern mal um die Ecke zu denken, ausgetretene Pfade zu verlassen und etwas neues auszuprobieren. Auch wenn es etwas mehr Zeit erfordert, eine optimal einfache und elegante Lösung zu finden, ist diese dann in jeder Hinsicht ein Gewinn. Einfache Lösungen sind leichter zu vermitteln, erfordern weniger Entwicklungs- und Wartungsaufwand, und machen ganz nebenbei auch am meisten Spaß.

Christian Smietana, 2009-10-21
Impressum