Dieser Beitrag beschäftigt sich mit den relevanten Phasen für die Automatisierung von Compliance Anforderungen in der Softwareentwicklung. Mit Hilfe eines theoretischen Vorgehensmodells zeigen wir auf, wie die Compliance-Anforderungen, die sich aus Gesetzen und Normen sowie Unternehmensrichtlinien ergeben, automatisiert werden können.
Damit soll die Frage beantwortet werden, wie Organisationen ihre Compliance-Anforderungen bei der Umsetzung von IT-Projekten unter Berücksichtigung der im Modell genannten Phasen und Aspekte automatisieren können.
Überblick Compliance in IT-Projekten
Organisationen und Unternehmen sind einem enormen Druck ausgesetzt, sich regelmäßig neuen Herausforderungen zu stellen, welche sich aus Gesetzen, Unternehmensvorschriften oder Normen und Standards ergeben. Diese Einflussfaktoren spielen oftmals eine so große Rolle, dass sich daraus Anforderungen ergeben, welche die Handlungsmöglichkeiten eines Unternehmens einschränken. Aus diesen Regelungen resultieren Anpassungen oder Änderungen bestehender Geschäftsprozesse, damit diese den IT-Compliance-Richtlinien gerecht werden. In diesem Umfeld müssen Maßnahmen entwickelt und implementiert werden, die eine Identifizierung und Überprüfung von Verstößen gegen solche Vorschriften ermöglichen. Da die Überprüfung der Einhaltung von Compliance Anforderungen in der Softwareentwicklung größtenteils noch manuell durchgeführt wird, zeigen wir mögliche Ansätze zur Automatisierung dieses Prozesses auf.
Definition Compliance im Kontext von IT-Projekten
Zunächst wird der Begriff Compliance im Kontext von IT-Projekten definiert. Da in den vergangenen Jahren unterschiedliche Definitionen für diesen Begriff aus der Wirtschaft und Wissenschaft hervorgegangen sind, orientiert sich die Definition von Compliance im Rahmen dieses Beitrags an Vorschlägen aus der Forschungsliteratur von Emmerich, et al. (1999)[1] und Kim (2007)[2], um eine möglichst ganzheitliche Sichtweise herzustellen. Emmerich, et al. (1999)[1] definieren Compliance als „das Ausmaß, in dem Softwareentwickler in Übereinstimmung mit den im Standard festgelegten ‚Praktiken‘ gehandelt haben“ und erörtern die Art und Weise, wie die Softwareentwicklung von den beteiligten Rollen durchgeführt wird, während Kim (2007)[2] die zusätzlichen internen und externen Bedingungen sowie Einflussfaktoren berücksichtigt und Compliance als „Übereinstimmung der IT-Systeme eines Unternehmens mit vordefinierten Verfahren, Standards, Richtlinien, Spezifikationen oder Gesetzen“ definiert. Auf diese Weise kann Compliance im Kontext von IT-Projekten sowohl auf das Umfeld als auch auf die Prozesse der Softwareentwicklung bezogen werden.
Definition des Projekts
Die erste Phase im Rahmen der Automatisierung von IT-Compliance befasst sich mit der Definition des Projekts. Dieser Schritt ist insofern wichtig, da an Projekten diverse Rollen mit unterschiedlichen Kompetenzen und Verantwortlichkeiten beteiligt sind, sich die Dimensionen von Projekten voneinander unterscheiden können und die daraus resultierenden Fehlinterpretationen durch die Anwendung einer Projektdefinition vermieden werden können [3].
Sie ist so konzipiert, dass sie wie eine native App funktioniert und aussieht und ein Benutzererlebnis bietet, das dem einer nativen App sehr ähnlich ist, aber gleichzeitig so entwickelt wird, dass sie auch offline und mit Netzwerken geringer Qualität funktioniert, Push-Benachrichtigungen senden kann und leicht zu installieren ist.
Ermittlung der Relevanten Compliance Anforderungen für das IT-Projekt
Da Compliance Anforderungen aus unterschiedlichen Quellen hervorgehen und daher auf verschiedenste Weise interpretiert werden können, ist es unwahrscheinlich, dass mehrere Unternehmen dieselben Compliance-Anforderungen anstreben oder diese identisch umsetzen. Daher sollten Unternehmen die für ihr Projekt relevanten Compliance-Anforderungen identifizieren, sie verständlich dokumentieren und die zugrunde liegende Komplexität der Prozesse und der beteiligten Rollen nachvollziehen können. Dies setzt voraus, dass Compliance-Experten in der Lage sind, aus der Informationsflut und Quellen die wichtigsten Aspekte der Compliance Anforderungen herauszuarbeiten, diese in die Geschäftsprozesse zu integrieren und als Ansprechpartner für die Projektbeteiligten zu fungieren [4].
Es gehen bereits Methoden hervor, welche die Experten bei der Ermittlung der projektrelevanten Compliance-Anforderungen unterstützen. Ein Ansatz ist das „Compliance-Management-Modell“ von Schumm et. al. (2010), das in Abbildung 2 dargestellt ist und dem Compliance-Verantwortlichen einen Überblick über die Compliance-Quellen, deren Verinnerlichung und die verschiedenen Arten von technischen und manuellen Kontrollen gibt sowie Hinweise zu deren Ermittlung bietet [4].
In der Praxis kann dieser Ansatz ein wertvoller Leitfaden für IT-Compliance-Beauftragte sein, da die Betrachtung der zu überprüfenden Anforderungskontrollen und die Beschreibung deren Implementierung eine ganzheitliche Sicht auf die relevanten Compliance-Aspekte ermöglicht.
Die Recherche nach relevanter Compliance für IT-Projekte zeigt die große Vielfalt von Anforderungen auf, die von Unternehmen und ihren Compliance Experten zu bewältigen sind. Die Richtlinien resultieren sowohl aus externen Einflüssen wie beispielsweise gesetzlichen Vorschriften, dem Datenschutz, Normen und Standards oder Best-Practice-Ansätzen des Wettbewerbs. Interne Einflüsse resultieren aus Unternehmensrichtlinien, Technologien, Menschen und Prozessen. Es ist erkennbar, dass sich ein Muster bei der Erhebung von Compliance-Anforderungen für IT-Projekte abbildet, welches aus der Mehrfachnennung mancher IT Compliance Anforderungen hervorgeht. Die folgenden Richtlinien stehen bei der Automatisierung von Compliance Anforderungen in IT-Projekten besonders im Vordergrund:
- Standards und Normen (Stand der Technik)
- Gesetze und Vorschriften
- Unternehmensrichtlinien (Governance)
- Sicherheit (Daten, Technik, Infrastruktur, Prüfung)
- Best Practices und Frameworks
Eine Recherche der wichtigsten Compliance-Anforderungen schließt den Prozess der Automatisierung jedoch nicht ab. Es wird lediglich ein Überblick für die darauffolgenden Phasen geschaffen. Im folgenden Abschnitt soll daher eine Betrachtung der Prozesse erfolgen, die sich hinter der Automatisierung von IT-Compliance-Anforderungen verbergen. In einer unserer Blogbeiträge gehen wir bereits auf eine Compliance Anforderung in der Softwareentwicklung ein, nämlich der DSGVO.
Verstehen von IT-Compliance und IT-Prozessen
Compliance-Regeln stützen sich zunehmend auf die Kontrollen, die aus Sicherheitsanforderungen, Unternehmensrichtlinien, Standards und Gesetzen. Diese Compliance-Regeln müssen kontrolliert und bei der Modellierung von Geschäftsprozessen berücksichtigt werden [5]. Zunächst und vor allem ist es wichtig, die Anforderungen ganzheitlich zu verstehen, um daraus Arbeitsprozesse abzuleiten und diese schließlich in die eigenen Geschäftsprozesse zu integrieren. Um ein solches Projekt umsetzen zu können, schlagen Fellmann und Zasada (2014)[6] ein dimensionales Modell vor.
Ein solches facettiertes Modell kann Anwendern dabei helfen, Kombinationen von Compliance-Dimensionen zu erstellen, um relevante Informationen zu filtern. Auf diese Weise wird der Umfang der Compliance dargestellt, aber auch, welche Phase des Prozesslebenszyklus (Entwurf, Ausführung oder nach der Ausführung), aus welcher Perspektive (geschäftsorientierte oder eher formale, IT-bezogene Arbeit) und welche Art von Beitrag (technisches Artefakt, Methode oder anderes) angesprochen wird.
Besonderes Augenmerk wird nach wie vor auf die Automatisierungsansätze von Vorschriften und Gesetzen gelegt. Dabei handelt es sich um IT-Compliance, die eine Übersetzung von einer formalen in eine maschinenlesbare Sprache erfordern. Im nächsten Schritt werden Ansätze zur Automatisierung von Compliance Anforderungen in der Softwareentwicklung präsentiert.
Formulierung, Transformation, Automatisierung Compliance
Das Compliance-Metamodell REALM (Regulations Expressed as Logical Models REALM)[7] ist eine Möglichkeit, welche für die formale Erfassung von regulatorischen Anforderungen und deren Management in einem systematischen Lebenszyklus eingesetzt wird. Mit REALM können regulatorische Anforderungen aus Rechtstexten und Compliance-Richtlinien in technologieunabhängige betriebswirtschaftliche Begriffe formalisiert werden.
Anhand von Regelmustern, die in Gesetzestexten auftauchen, werden diejenigen Teilmengen von Vorschriften identifiziert, die mittels Ereigniskorrelation sinnvoll überwacht werden können. Durch die Überwachung von Anwendungsereignissen kann das System feststellen, ob Geschäftsprozesse und Anwendungen innerhalb der in den formalen Compliance-Richtlinien definierten Parameter arbeiten. Teilmengen der entsprechenden Compliance-Anforderungen werden in Form des Metamodells ausgedrückt und können mit Hilfe von temporalen Regelmustern (halb-)automatisch in Regeln für die Ereignisüberwachung umgewandelt werden.
Andere Ansätze schlagen für die Automatisierung von Compliance Anforderungen in der Softwareentwicklung ein Schichtenmodell[8] vor, das eine Brücke für die Kompatibilität von Gesetzen und Vorschriften mit dem zugrunde liegenden IT-System eines Projekts schlägt. Dabei war der „Policy-Layer“ eine besondere Einflussgröße und Bindeglied zwischen den nicht-technischen Compliance-Anforderungen und deren Umsetzung in das IT-System. Der Grad der Automatisierung von Compliance in der Softwareentwicklung hängt von den Eigenschaften der Richtlinien-Sprache ab. Die Formulierung der Richtlinien spielt eine entscheidende Rolle, da die Stärke der verwendeten formalen Sprache den erreichbaren Automatisierungsgrad bestimmt. Die Autoren Sackmann et al. (2008)[8] argumentieren, dass bei der Wahl der Policy-Sprache die Kriterien Expressivität, Flexibilität, Sanktionierbarkeit, Berechenbarkeit und Modularität erfüllt sein sollten, um die Automatisierung von Compliance-Prozessen zu ermöglichen. Konkret wurde die Policy-Sprache EXPDT vorgeschlagen, weil sie alle fünf Kriterien erfüllt.
Andere Ansätze haben sich mit den Herausforderungen der Identifizierung von Dokumentenstrukturen und der Extraktion von regulatorischen Entitäten beschäftigt. In diesem Zusammenhang wurde ein Semantic-ART-Framework vorgeschlagen, das dabei hilft, mit unterschiedlichen Dokumentenformaten, deren Struktur, textueller Mehrdeutigkeit und Komplexität umzugehen. Es extrahiert die benötigten und hilfreichen Informationen aus den Quellen und wandelt sie in maschinell interpretierbare Formate um, wodurch die Automatisierung der Einhaltung von Vorschriften und Gesetzen ermöglicht wird [9].
Weitere Möglichkeiten ergeben sich aus der Formulierung von Compliance-Anforderungen mithilfe einer Modellierungssprache, die sich leicht in maschinenlesbare Ausdrücke umwandeln lässt. Die Transformation von Geschäftsprozessen und die Umwandlung des Compliance-Regelmodells in eine maschinenlesbare Sprache wurden diskutiert, um Compliance-Anforderungen aus Gesetzen und Vorschriften zu automatisieren [10].
Basierend auf diesen Erkenntnissen lässt sich zusammenfassen, dass die Automatisierung von Gesetzen und Vorschriften in folgende Schritte unterteilt werden kann. Zunächst sollten die Compliance-Anforderungen so formuliert werden, dass jede Rolle im Projekt in der Lage ist, sie zu verstehen. Anschließend kann eine Transformation dieser Formulierungen in ein maschinenlesbares Format bzw. eine maschinenlesbare Sprache eine Grundlage bilden, um die technische Umsetzung der Compliance in die IT-Systeme und damit die Automatisierung solcher Compliance-Anforderungen zu ermöglichen.
Change-Management bei der Automatisierung von Compliance
Zusätzliche Aspekte, die berücksichtigt werden sollten, ergeben sich aus sich ändernden Compliance Anforderungen in der Softwareentwicklung. Unter anderem das Thema Change-Management und Anpassungen spielen hierbei eine wesentliche Rolle für die Automatisierung, da diese ein stets präsenter Bestandteil von Compliance-Prozessen sind.
Da sich die Rahmenbedingungen für das Umfeld eines Unternehmens kontinuierlich und drastisch ändern können, geht dies mit Anpassungen der Prozesse einher. Neue Prozesse schnell zu implementieren und laufende Prozesse auf ein Niveau zu bringen, das alle Anforderungen der Umweltveränderungen berücksichtigt, führt zu hohen und komplexen Herausforderungen. Unternehmen müssen daher in der Lage sein, solche Ereignisse frühzeitig zu erkennen und entsprechend zu reagieren. Dies erfordert die Optimierung der Interaktionen mit Fachabteilungen, Partnern und Kunden. Veränderungen, die interne oder externe Prozesse betreffen, dürfen nicht ohne Weiteres umgesetzt werden [11].
Monitoring / Überwachung bei der Automatisierung von Compliance in IT-Projekten
Auch die Überwachung der Compliance nimmt als finaler Schritt im Automatisierungsworkflow eine wichtige Rolle ein. Dabei sollen sowohl Verstöße gegen die Compliance als auch eventuell auftretende Änderungen berücksichtigt werden.
Änderungen oder Verstöße gegen Compliance-Anforderungen könnten dann wiederum zu Ansätzen für die Verbesserung des Automatisierungsworkflows führen [12][13].
Fazit und Modell für die Automatisierung von Compliance
Basierend auf den in diesem Beitrag präsentierten Sachverhalte, schlagen wir daher das folgende Vorgehensmodell für die schrittweise Automatisierung von Compliance Anforderungen in IT-Projekten vor.