IS-Rating: Planungssicherheit durch transparente Qualität

Technische Hypotheken

Begriffsbestimmung

Eine technische Hypothek in einer Software ist alles, was deren dynamische Qualität verringert, also bei Änderungen zu höheren direkten und indirekten Kosten oder Folgekosten führt. Diese höheren Kosten lassen sich mit der Zahlung von Zinsen vergleichen. Modernisierung oder Ersatz der Software entsprechen einer (teilweisen) Tilgung.

Wird eine Software umgangssprachlich mit der heißen Nadel gestrickt, so enthält sie im Ergebnis i.d.R. hohe technische Hypotheken.

Erläuterungen

Die absolute Höhe der technischen Hypotheken in einer Software lässt sich nicht bestimmen. Es ist auch nicht davon auszugehen, dass es Software ohne technische Hypotheken gibt. Es gibt jedoch Methoden sie zu reduzieren.

Zwei Beispiele sollen das Prinzip der technischen Hypothek näher erläutern.

Beispiel #1:  Vergleich zweier Systeme

Hat man zwei Systeme zur Auswahl, welche die gleichen Anforderungen erfüllen, so ist anzunehmen, dass egal welches man wählt, jedes in Zukunft mit den gleichen Anforderungen für Änderungen konfrontiert würde.

Jenes System, bei dem diese Änderungen über die nächsten z.B. 10 Jahre weniger kosten, enthält die geringeren technischen Hypotheken.

Dieser Vergleich gilt natürlich nicht nur zwischen ganzen Systemen, sondern auch für jede Entscheidung zwischen technischen Alternativen bei der Schaffung eines Systems.

Beispiel #2:  Säuberung des Designs

Eine Software, bei der man in den Programmquellen teilweise erkennen kann, in welcher Reihenfolge Funktionalitäten ergänzt wurden, enthält technische Hypotheken. Würde man die Software heute in Kenntnis aller bisherigen Anforderungen anders bauen, so enthält sie technische Hypotheken.

Eine Änderung an einer Software ist also frühestens wirklich abgeschlossen, wenn man den Programmquellen nicht mehr ansehen kann, dass dieses die zuletzt vorgenommene Änderung war.

Da man die Anforderungen, mit denen ein Informationssystem in seinem restlichen Lebenszyklus konfrontiert wird, kaum vorhersagen kann, ist es eine der wichtigsten Fähigkeiten eines guten Softwarearchitekten, trotzdem von technischen Alternativen jene zu wählen, welche die geringere technische Hypothek trägt.

Wirtschaftliche Auswirkungen

Es lässt sich nicht vermeiden, dass Software technische Hypotheken enthält.
Jedoch führen insbesondere Kosten- und Zeitdruck bei der Erstellung von Software oder Änderungen daran dazu, dass die technischen Hypotheken fahrlässig oder absichtlich über das Unvermeidliche hinaus erhöht werden.

Die Fähigkeit, die technischen Hypotheken einer Software zu bewerten, gehört selten zu den Kernkompetenzen eines Auftraggebers. Dadurch wird es den Auftragnehmern möglich, einen Kosten- oder Zeitdruck durch die Aufnahme eben solcher technischer Hypotheken zu kompensieren.
Zinsen und Tilgung zahlt später der Auftraggeber. Der Auftraggeber bekommt sozusagen nur das, was er bezahlt, nicht das, was er erhofft.

IS-Rating: Planungssicherheit durch transparente Qualität