Gesetzesregeln in Softwarelösungen

Immer wieder ist es notwendig, gesetzliche Regelungen in Softwarelösungen zu berücksichtigen, etwa das Arbeitszeitgesetz oder das Mutterschutzgesetz. Hinzu kommen Regelungen aus Tarifverträgen u.ä. Dann taucht immer wieder die Frage auf: soll die Logik des Regelwerks abgebildet werden, oder die Ergebnisse dieser Logik? Das klingt vielleicht etwas abstrakt, deshalb ein Beispiel:

Das Mutterschutzgesetz (MuSchG) legt in §4 Beschäftigungsverbote für werdende Mütter fest. Dabei spielt der „Ablauf des fünften“ und der „Ablauf des dritten“ Schwangerschaftsmonats eine wichtige Rolle. Unsere Softwarelösung zur automatisierten Schicht- und Dienstplanung SceddyPro berücksichtigt das, sodass werdende Mütter nicht für Tätigkeiten eingeteilt werden, die ihnen nach dem MuSchG nicht erlaubt sind.

Aber wann ist der dritte, und wann der fünfte Schwangerschaftsmonat zu Ende? Was im Alltag kein großes Problem ist, wird zur fast unbeantwortbaren Frage, wenn man es programmieren will. Man könnte vom errechneten Geburtstermin aus rückwärts rechnen, aber rechnet man dann in „Mond“-Monaten oder in Kalendermonaten? Und was, wenn bei der Berechnung so etwas wie der 30. Februar herauskommt?

Natürlich kann man sich anwaltlichen Rat für solche Fragen einholen, aber ob man mit dem auf der „sicheren Seite“ ist, ist ungewiss. Wir haben uns deshalb entschieden, dass bei der Eingabe der Information, dass eine Mitarbeiterin „werdende Mutter“ ist, die beiden Datumsangaben „Ende des dritten Schwangerschaftsmonats“ und „Ende des fünften Schwangerschaftsmonats“ eingegeben werden können. Fehlen sie, wird die betreffende gar nicht für die fraglichen Tätigkeiten eingeteilt.

Das scheint zunächst etwas unkomfortabel, und viele Anforderungsanalysten und Softwareentwickler haben deshalb die Neigung, alles, was irgendwie berechnet werden kann, auch der Software zur Berechnung zu überlassen. Sind die Grundlagen aber unpräzise (und selbst die Angaben in Gesetzen können für Softwarealgorithmen zu unpräzise sein) dann ist es besser, den Menschen vor dem Bildschirm die Festlegung zu überlassen. Da blättert der Planer besser gemeinsam mit der werdenden Mutter im Kalender und bestimmt die richtigen Termine, als das eine Software ein Datum berechnet, das im schlimmsten Fall zu einer unbrauchbaren Planung oder zu Konflikten mit der Mitarbeiterin führt.