Im Rahmen des Führungskreis Softwareentwicklung durfte ich Technologietage zu DevOps, später DevSecOps, organisieren. Thomas Schissler von AgileMax und Marc Müller von 4tecture sind mit uns als Experten auf den Weg gegangen. In diesem FRITZ Tipp zeichne ich den Weg für dich nach.
Was ist DevOps?
Quelle: Patrick Debois – What Is This Devops Thing, Anyway
DevSecOps ist nach Müller eine Erweiterung von DevOps, um Sicherheits-Praktiken im DevOps-Ansatz zu integrieren. In diesem Zusammenhang wird auch vom shift left Ansatz gesprochen. Testing findet nicht nach der Entwicklung statt, sondern während der Entwicklung.

Weiterentwicklungen wie DevSecOps oder BizDevOps zeigen, dass es dabei auch um die Ausweitung agiler Prinzipien auf den Unternehmenskontext geht. Diese Erweiterung spielt sich sowohl auf der organisatorischen als auch auf der technischen Seite ab.
DevSecOps – Die organisatorische Seite
Fast jede Organisation besteht aus horizontal geschnittenen Teams, Abteilungen oder Bereichen: Entwicklung, Einkauf, Produktion, Vertrieb. Wir packen alle Fachleute mit derselben Expertise in einen Raum und lassen sie miteinander arbeiten.
Der große Nachteil daran, wir bilden Schnittstellen zwischen den Abteilungen, auf dem Weg zur Befriedigung der Kundenbedürfnisse. Kein Wunder das Konzepte wie Prozessmanagement rund um die 2000er Jahre einen großen Hype erlebt haben, um Schnittstellen sauber zu klären.
„Die Plattform von Patrick ist einmalig, da er es immer wieder schafft, uns als Teilnehmer herauszufordern und zum Nachdenken anzuregen. Die Themen und Diskussion im Führungskreis Softwareentwicklung helfen mir bei der täglichen Arbeit. Die Impulsvorträge ermöglichen mir in kürzester Zeit in ein neues Thema ausserhalb des normalen Alltags einzusteigen.“
Um diesen systembedingten Nachteil zu umgehen, werden bei Projekten vertikal geschnittene Teams eingesetzt. Alle Disziplinen, die zur Befriedigung des Kundenbedürfnisses erforderlich sind, werden in ein Team entsendet.
Bei SCRUM sind dies z.B. Entwickler, Kunde (Product Owner) und Moderator (SCRUM Master). Bei DevSecOps kommen Experten aus dem Bereich Infrastruktur und Sicherheit dazu. Ähnlich dem Grundgedanken von Obeya bei Toyota, dem War Room zur Produkt- und Prozessentwicklung.

Die Vorteile vertikal geschnittener Teams sind klar, schnelle Kommunikation, kurze Entscheidungswege und Fokus auf das Kundenbedürfnis. Die Nachteile dürfen allerdings auch nicht verschwiegen werden. Standards, und damit effiziente Prozesse, sind in vertikalen Teams schwer aufrecht zu erhalten.
Alle Organisationsformen schaffen eben ihre eigenen Silos, so Kühl. Nach Parsons erreichen Organisationen ihre Leistungsfähigkeit sogar nur dadurch, dass sie ihren Mitarbeitern verbieten, sich an den übergeordneten Zielen der Organisation zu orientieren. Mehr dazu im verlinkten Podcast und im FRITZ Tipp Agile Transformation in Organisationen.
Die wichtige Frage an dieser Stelle lautet: Welche Kommunikation möchte ich stärken? Die horizontale oder die vertikale Kommunikation? Die Antwort darauf hat direkte Auswirkungen auf die technische Seite.
DevSecOps – Die technische Seite
Das Gesetz von Conway aus dem Jahre 1968 besagt, dass die Strukturen von Systemen durch die Kommunikationsstrukturen der sie umsetzenden Organisationen vorbestimmt sind. Kurzum, wir replizieren uns selbst!
Horizontale Teams werden Systeme bauen, mit Schnittstellen zwischen den Teams. Vertikale Teams werden Systeme bauen, die vermutlich schwerer zu skalieren sind. Wenn ich es nun mit DevSecOps ernst meine, stellt sich die Frage, wie kann ich vertikale Teams technisch unterstützen?
„Seit mehr als 10 Jahren liefern mir die Workshops im Führungskreis Softwareentwicklung Anregungen und Inspirationen für den berufliche Alltag als Führungskraft. Der Mix von technischen und Führungsthemen erzeugt ein abwechslungsreiches Jahresprogramm. Auch die Einblicke in andere Unternehmen sind immer wieder spannend, interessant und lehrreich.“
- MicroServices
- Polyglotte Datenbanken
- Open Source
- Self-Contained Systems
- Automatisiertes Deployment
- Unterbrechungsfreie Updates
- Tests in Production
- Monitoring
- Container/Docker
Wenn jedes interdisziplinäre Team unabhängig von anderen arbeiten könnte, wäre eine vollständige agile Transformation der Organisation keine große Hexerei. Als Extrembeispiel sei das chinesisches Unternehmen Haier genannt, welches aus 4000 Microenterprises (+200 customer-facing; +3800 service and support) besteht:
Die Hoffnung dahinter? Firmen mit hoher Marktkomplexität profitieren von kleineren, funktional integrierten, marktfähigen Einheiten mit hoher Autonomie, damit hohe Marktpassung entstehen kann, so Löffler.
DevSecOps Tools
Das eingangs erwähnte shift left Ansatz führt zu immer mehr Aufgaben beim einzelnen Software-Entwickler. Neben Entwicklung kommen Aufgaben rund um Betrieb und Sicherheit mit dazu. Die zunehmende Belastung wird in der Praxis über Automatisierung von Aufgaben durch Tools unterstützt. Müller empfiehlt gerade in Bezug auf Security folgende Tools:
- Coverity
- GitHub Advanced Security Code Scanning
- SonarSource
- Black Duck
- Dependabot
- Synopsys Web Scanner
- Seeker
Fazit
Spannend an DevSecOps ist für mich zum einen die aufgezeigte Verbindung von Organisation und Technologie. Zum anderen zeigt DevSecOps einen konkreten Weg zu einer agileren Organisation auf.
Ein Gedanken lässt mich aber nicht ganz los. Bei aller Begeisterung für agile Konzepte, sie scheinen nur eine Lösung für den Sonderfall komplexer Aufgaben (CYNEFIN Framework) zu sein.
Für komplizierte Aufgaben scheint die klassische Hierarchie als zentrales Instrument zur Koordination, die bessere Lösung zu sein. Welche Kommunikation möchtest du stärken?
Dr. Patrick Fritz
Kommentar verfassen