Mindestens haltbar bis... siehe Sourecode

Mindestens haltbar bis... siehe Sourecode

Milch hat eines. Joghurt auch. Sonnenschutzcreme. Sogar Kräutersalz. Überall prangt ein „Mindestens haltbar bis“-Aufdruck auf der Verpackung.

Das eigentliche Datum findet man dann meist erst nach verzweifeltem vierfachem Wenden, eine liebgewonnene Schatzsuche im Alltag.
Diese Produkte sagen einem schon beim Kauf: „Wenn du mich sachgerecht lagerst und verwendest, dann garantiere ich dir eine Haltbarkeit ohne wesentliche Qualitätseinbußen.“ Danach kann es immer noch gut gehen, man könnte aber natürlich auch eine kleine Lebensmittelvergiftung davontragen.

Ein Versprechen mit Bedingungen

Milch riecht irgendwann. Sonnenschutzcreme verändert Farbe und Konsistenz. Und Software? Software läuft. Auf veralteten Technologien, die keiner mehr warten kann. Mit Sicherheitslücken, die längst gelöst wären. Basierend auf Sourcecode, der jahrelang mit Workarounds malträtiert wurde. Mit Datenbanken, die ob der Datenmenge zwar langsamer werden, aber immerhin so kontinuierlich, dass sich der Mensch von Tag zu Tag an das bisschen weniger Performance gewöhnt hat. Software läuft, zumindest geht sie.

Architektur auf Zeit

Funktionierende Software macht es schwierig, die Vorteile einer Neu-Entwicklung aufzuzeigen. Vielleicht sollten wir daher auch ein Mindesthaltbarkeitsdatum einführen. Schon die Frage „Wie lange soll diese Software laufen?“ könnte einen spannenden Impact auf die Entwicklung haben: Welche Architekturentscheidungen würde man anders treffen, wenn der Code 15 Jahre laufen soll? Oder wenn klar ist, dass in spätestens drei Jahren ohnehin eine Ablöse geplant ist? So ein Haltbarkeitsdatum kann bei sachgerechter Verwendung und Wartung auch garantiert werden – aber wenn die Datenbank unerwartet die 10-fache Datenmenge enthält, dann verhält sich Software eben wie Milch in der Sonne.

Über Haltbarkeit sprechen lohnt sich

Mich inspiriert der Gedanke, über die erwartete Haltbarkeit vor Beginn eines Projekts offen zu sprechen und die richtigen Schlüsse daraus zu ziehen. Aber konsequenterweise muss unsere Software dann zum prognostizierten Datum auch ausgetauscht werden (oder zumindest die Farbe verlieren).