Säulen an einem Regierungsgebäude

Was ist Code-Governance?

Code Governance, erklärt

Unter „Code-Governance“ versteht man die Gesamtheit der Regeln und Kontrollmechanismen eines Unternehmens für die Softwareentwicklung. Sie umfasst die Richtlinien, Prozesse und Werkzeuge, mit denen Organisationen steuern, wie Code geschrieben, überprüft, getestet, gesichert, genehmigt und gewartet wird.

Die Code-Governance hat sich von einer Reihe manueller Prozesse zu einem automatisierten, richtliniengesteuerten Verfahren weiterentwickelt. Dies ist vor allem darauf zurückzuführen, dass große, komplexe Codebasen Governance-Frameworks erfordern, die sich hinsichtlich Umfang und Komplexität skalieren lassen.

Die DevOps-Revolution der 2010er Jahre stellte Governance-Modelle infrage, die auf manuellen Genehmigungen und zentralisierter Kontrolle beruhten. Heutzutage sorgen automatisierte Systeme für die Einhaltung von Prozessen, und durch das Konzept des „Shift Left“ werden Sicherheits- und Compliance-Maßnahmen nun bereits in einer früheren Phase des Software Development Lifecycle (SDLC) durchgeführt.

Das Aufkommen der generativen KI hat eine völlig neue Ebene der Governance mit sich gebracht. Entwickler können nun mithilfe von Tools für maschinelles Lernen, die auf großen Sprachmodellen (LLMs) basieren, umfangreiche Mengen an Code generieren und so die Entwicklungsgeschwindigkeit erheblich steigern. Die Code-Governance musste sich jedoch weiterentwickeln, um der Codequalität von KI-generierten Ergebnissen sowie den damit verbundenen Sicherheitsrisiken, Fragen des geistigen Eigentums, Richtlinien zur Modellnutzung und weiteren Aspekten Rechnung zu tragen.

Unternehmen führen derzeit Governance-Richtlinien ein, in denen festgelegt ist, wann von KI generierter Code verwendet werden darf, wie er überprüft werden muss und welche Validierungsschritte vor der Bereitstellung erforderlich sind.

Komponenten der Code-Governance

Im Folgenden sind einige der gängigsten Komponenten der Code-Governance aufgeführt.

Codierungsstandards

Code von schlechter Qualität trägt zur technischen Verschuldung bei, was wiederum die Skalierbarkeit des Tech-Stacks beeinträchtigt. Coding-Standards definieren, wie Entwickler Code schreiben und strukturieren sollten, um dies zu verhindern. Diese Standards decken Bereiche wie Namenskonventionen, Formatierung, Dokumentation, Dateistruktur und sprachspezifische Best Practices ab – kleine Probleme, die sich in einer umfangreichen Codebasis im Laufe der Zeit zu einem erheblichen Aufwand summieren.

Wenn alle Entwickler dieselben Standards befolgen, lässt sich der Code leichter bearbeiten. Ingenieure verbringen weniger Zeit damit, die Arbeit ihrer Kollegen zu entschlüsseln, und mehr Zeit damit, neue Dinge zu entwickeln.

Versionssteuerung

Versionsverwaltungssysteme legen fest, wie Teams Änderungen am Quellcode verwalten. Diese Richtlinien legen Workflows für die Erstellung von Branches, das Zusammenführen von Code und das Verfassen von Commit-Meldungen fest. Versionsverwaltungssysteme können Prüfpfade erstellen, die dazu beitragen, versehentliche Überschreibungen zu verhindern, und so eine übersichtliche Änderungshistorie gewährleisten. Nun wissen die Teams, wer bestimmte Änderungen vorgenommen hat und warum.

Code-Überprüfung

Im Rahmen von Code-Review-Prozessen müssen Softwareänderungen von anderen Entwicklern geprüft werden, bevor sie in den Quellcode übernommen werden. Reviews dienen mehreren Zwecken, darunter der Erkennung von Fehlern, der Überprüfung von Designentscheidungen und dem Wissensaustausch innerhalb des Teams. Sorgfältig durchgeführte Überprüfungen führen zu qualitativ hochwertigerer Software.

Sicherheit

Die Sicherheits-Governance stellt sicher, dass Software gemäß festgelegten Sicherheitsanforderungen und Compliance-Vorschriften entwickelt und gewartet wird, sodass ihre Entwicklung im Einklang mit einer übergeordneten Risikomanagement-Strategie steht. Dazu gehören Maßnahmen wie das Scannen nach Sicherheitslücken, Zugriffskontrollen, das Abhängigkeitsmanagement, die Erkennung vertraulicher Daten, Richtlinien zur sicheren Codierung sowie regelmäßige Überprüfungen. Die Sicherheits-Governance integriert Schutzmaßnahmen über den gesamten Entwicklungslebenszyklus hinweg und nicht erst am Ende.

Testen

Die Testgovernance trägt dazu bei, sicherzustellen, dass die Software alle festgelegten Standards erfüllt, bevor sie bereitgestellt wird. Aber auch das Testen hat sich „nach links verlagert“ (Shift Left). Durch die Einbettung von Testanforderungen in CI/CD-Pipelines können Teams Fehler früher erkennen und das Risiko verringern, dass Regressionen in Produktionsumgebungen gelangen.

Konformität

Bei der Compliance und der Nachvollziehbarkeit geht es darum, sicherzustellen, dass die Software und der Entwicklungsprozess den gesetzlichen Anforderungen entsprechen. Dokumentierte Genehmigungen, Änderungsverläufe und Prüfprotokolle gehören zu den gängigsten Maßnahmen zur Einhaltung der Vorschriften im Zusammenhang mit Code.

Bereitstellung

Die Kontrollen im Rahmen von Continuous Integration und Continuous Delivery (CI/CD) regeln die automatisierten Prozesse, die zur Bereitstellung von Software eingesetzt werden. Diese Kontrollen legen fest, welche automatisierten Prüfungen bestanden werden müssen, bevor Code zwischen Umgebungen übertragen werden kann. Die CI/CD-Governance trägt dazu bei, sicherzustellen, dass Software, die in die Produktion gelangt, vordefinierte Standards erfüllt, und fördert gleichzeitig die Risikominderung bei allen Bereitstellungen.

AI Academy

KI-Experte werden

Erlangen Sie das nötige Wissen, um KI-Investitionen zu priorisieren, die das Unternehmenswachstum vorantreiben. Starten Sie noch heute mit unserer kostenlosen AI Academy und gestalten Sie die Zukunft der KI in Ihrem Unternehmen.

Governance, Politik und Infrastruktur als Code

„Governance as Code“ (GaC) und „Policy as Code“ (PaC) sind Ansätze, bei denen Governance und die Durchsetzung von Richtlinien direkt in Workflows eingebettet werden, indem Richtlinien, Regeln und Standards in maschinenlesbaren Code umgesetzt werden. Das Ziel besteht darin, dass jede Bereitstellung, jede Änderung an der Infrastruktur oder jede Anfrage auf Datenzugriff vorab festgelegte Kriterien erfüllt, bevor sie erfolgt. Dieser proaktive Ansatz zur Durchsetzung stützt sich auf Technologien wie Policy-Engines, Cloud-Infrastruktur und nun auch auf KI-Agenten.

Die Durchsetzung von Richtlinien ist durch Technologien wie Open Policy Agent (OPA) immer ausgefeilter geworden; diese ermöglichen es Unternehmen, Governance-Richtlinien programmgesteuert zu definieren und durchzusetzen. Anstatt sich auf Dokumentation und manuelle Genehmigungen zu verlassen, werden die Governance-Anforderungen direkt in den Code integriert, sodass sie während des gesamten Softwareentwicklungszyklus (SDLC) automatisch durchgesetzt werden können.

Ebenso automatisieren Infrastructure as Code (IaC) und Tools wie Terraform die Bereitstellung und Verwaltung der IT-Infrastruktur mithilfe eines deklarativen Sprachansatzes, bei dem Entwickler den gewünschten Endzustand festlegen, anstatt die Schritte zu beschreiben, die zu dessen Erreichung erforderlich sind. Infrastrukturdefinitionen werden üblicherweise in Formaten wie YAML und JSON dargestellt, wodurch sie sich leicht automatisieren und validieren lassen.

KI-gestützte Coding-Umgebungen können GaC, PaC und Iac ausführen. IBM Bob kann beispielsweise verwendet werden, um solche Prozesse in das SDLC einzubetten.

Autor

Cole Stryker

Staff Editor, AI Models

IBM Think

Verwandte Lösungen
IBM Bob

Beschleunigen Sie die Softwarebereitstellung mit Bob, Ihrem KI-Partner für sichere, absichtsorientierte Entwicklung.

IBM Bob erkunden
KI-Codierungslösungen

Optimieren Sie die Softwareentwicklung mit vertrauenswürdigen KI-gestützten Tools, die den Zeitaufwand für das Schreiben von Code, Debuggen, Code-Refactoring oder Codevervollständigung minimieren und mehr Raum für Innovation schaffen.

KI-Codierungslösungen erkunden
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Beratungsleistungen erkunden
Machen Sie den nächsten Schritt

Mit generativer KI und fortschrittlicher Automatisierung schneller Code speziell für Unternehmen erstellen. Bob nutzt Modelle, um das Skill-Profil von Entwicklern zu erweitern und Ihre Entwicklungs- und Modernisierungsbemühungen zu vereinfachen und zu automatisieren.

  1. IBM Bob entdecken
  2. KI-Codierungslösungen erkunden