Muss sich Software an Normen halten?

In der Informatik gibt es wie in anderen Bereichen auch Normen: Weniger länderspezifische DIN oder ÖNORMen, aber insbesondere viele internationalen ISO/IEC/IEEE Normen für die unterschiedlichsten Bereiche der Informatik. Diese Normen beschreiben alle Prozesse rund um Software - von der ersten Idee bis zur Ablöse einer Software. Muss man sich als Softwarehersteller an diese Normen halten?

IT Normen sind extrem teuer. Es gibt nicht nur ca. 100 Software betreffende Normen, sie sind auch teils recht umfangreich und um ein Vielfaches teurer als Fachliteratur (oft mehrere Euro pro Seite). Viele davon werden mehr oder weniger regelmäßig (ca. alle 10 Jahre) zum Teil mit drastischen Änderungen erneuert oder durch eine neuere Norm abgelöst. Es ist nicht verwunderlich, dass sich die meisten in der Informatik tätigen Unternehmen scheuen, die mehreren 10.000€ aufzuwenden, um die Normen zu kaufen. Und die Unternehmen, die bereit sind das Geld dafür aufzuwenden, finden nur selten Mitarbeiter, die sich durch die vielen, größtenteils schwer zu lesenden Normen durcharbeiten. Darüber hinaus halten sich erfahrungsgemäß auch diejenigen Unternehmen, die sich lt. eigener Aussage an die Normen halten, in Wahrheit nur teilweise an dei Normen.
→ IT Normen werden in der IT erfahrungsgemäß kaum beachtet und auch kaum befolgt.

IT Normen enthalten kaum Vorgaben für Softwareentwickler, -architekten oder -tester. Im Gegensatz zu z.B. Baunormen normieren IT Normen nicht die Arbeit an IT Projekten, sondern vor allem nur Bezeichnungen und Prozesse. Wer also beispielsweise wissen will, was man unter Explorativem Test versteht, wird z.B. in der "ISO/IEC/IEEE 29119, Software and Systems Engineering - Software Testing" fündig (Part 1: General concepts 4.4.3.3 Exploratory testing, S 33 - nicht mehr als ein Absatz). Ob, wo und wie Exploratives Testen eingesetzt werden muss, steht allerdings nicht in der Norm. Üblicherweise sprechen die Normen bei den einzelnen Prozessen auch von einer angepassten Erfüllung der Norm ("tailored conformance"). Man kann also auch "angepasst" der Norm entsprechen, wenn man sich in großen Teilen gar nicht an die Norm hält und nur optional (!) Begründungen für die Nicht-Entsprechung in diesen Teilen abgibt (siehe z.B. Part 2: Test processes 2.1.2 Tailored conformance1).
→ Solange man die Bezeichnungen nicht falsch verwendet, lässt sich bei den meisten IT Normen argumentieren, dass sich jedes beliebige Softwareprojekt "angepasst" an die Norm hält.

Darüber hinaus sind die einzelnen Normen keineswegs unumstritten. Der genannten ISO/IEC/IEEE 29119 wird beispielsweise vorgeworfen, veraltete und zu schwerfällige Testverfahren festzulegen, und nur schwer mit agiler Softwareentwicklung vereinbar zu sein.2 Das ist aber ein allgemeines Problem von Normen: Normen sind das, was von vielen als richtig erkannt und niedergeschrieben wurde, als solches auch gelehrt wird und in der Praxis weit verbreitet ist. Bis eine Technologie oder Technik diesen Normierungsstand erreicht hat, vergehen einige Jahre - in der IT oft weit mehr als um noch als fortschrittlich zu gelten
→ IT Normen gelten oft als veraltet und können auf Grund der Schnellebigkeit der IT mit dem wesentlich fortschrittlicheren Stand der Technik kaum mithalten.

Allerdings gelten Normen als Verschriftlichung der anerkannten Regeln der Technik, die wiederum die unterste Stufe dessen darstellen, was geschuldet wird, ohne dass es dafür gesonderte Vereinbarung bedarf. Wer also Software entwickelt und nichts hinsichtlich der Technik der Software vereinbart, für den könnte die Nicht-Einhaltung der Normen zu einem juristischen Problem führen. Auch wenn es sich bei internationalen Normen nur um unverbindliche Empfehlungen handelt, 3 gibt es daraus abgeleitete europäische EN ISO Norm, für die es eine Übernahmepflicht durch die nationalen Normungsorganisationen gibt (was allerdings auf die meisten IT-Normen nicht zutrifft). Normen sind aber keinesfalls Rechtsnormen - sie einzuhalten belegt zwar die Einhaltung der anerkannten Regeln der Technik, sie sind aber keineswegs Voraussetzung dafür.
→ IT Normen sind unverbindliche Empfehlungen die keinerle Verbindlichkeitscharakter haben. Allerdings belegt ihre Einhaltung die Einhaltung der anerkannten Regeln der Technik

Darüber hinaus lässt sich argumentieren, dass die Norm veraltet ist, man sich statt dessen an den Stand der Technik gehalten habe, dieser allerdings noch nicht den fachlichen Konsens gefunden hat um als allgemein anerkannte Regel der Technik zu gelten. Damit genügt man auch den „Beschaffenheiten, die … üblich und vom Käufer erwartbar sind“ (§434 BGB) bzw. „gewöhnlich vorausgesetzten Eigenschaften“ (§ 922 ABGB). All dies zu belegen ist aber alles andere als trivial.
→ Auch wenn der Stand der Technik in der IT meist als den Normen überlegen angesehen wird, so ist ohne nähere Vereinbarung dessen, was diesbezüglich geschuldet wird, die Einhaltung des Standes der Technik nicht trivial zu belegen und keineswegs rechtssicher.

Fazit: Software sollte sich um Rechtssicherheit zu erlangen an Normen halten, auch wenn diese unverbindlich, veraltet und schwammig sind. Es sei denn man vereinbart oder belegt, dass man sich an den fortschrittlicheren Stand der Technik hält, was üblicherweise im Interesse aller handelnden Parteien ist.

___

1. "Where tailoring occurs, justification shall be provided (either directly or by reference), whenever a process [..] is not followed." 

2. Siehe Wikipedia:Kritik an der ISO 29119 

3. siehe Oliver Völkel: Neues Verständnis der Technikklauseln und ihr Verhältnis zu den technischen Normen. 2010, doi:10.25365/thesis.8608 

CC BY-NC-SA 3.0 AT Sebastian Dietrich, e-movimento