Rawpixel - Fotolia
Drei DevOps-Praktiken für die digitale Zusammenarbeit
In einer Welt, die vom hybriden Arbeiten geprägt ist, ist es wichtig, dass Entwickler produktiv zusammenarbeiten können. DevOps ist dabei ein bedeutsamer Teil der Arbeit.
Die Normalisierung von Remote- und Hybrid-Arbeitsstrukturen wird von den meisten Entwicklerinnen und Entwicklern positiv wahrgenommen.
So zeigt eine Studie im Auftrag von GitHub, dass lediglich 11 Prozent der Entwicklerinnen und Entwickler davon ausgehen, dass sie wieder vollständig ins Büro zurückkehren werden. In dieser asynchronen Welt des hybriden Arbeitens ist es von entscheidender Bedeutung, dass man produktiv bleibt und jederzeit vollen Einblick in die Softwareentwicklungspipeline hat.
Hier kommt DevOps ins Spiel – eine Entwicklungsmethodik, die eine enge Zusammenarbeit zwischen traditionell getrennten Teams in den Vordergrund stellt und den Lebenszyklus der Softwareentwicklung so weit wie möglich automatisiert. Drei wichtige DevOps-Praktiken helfen Entwicklerinnen und Entwickler dabei, von den Vorteilen des digitalen Zusammenarbeitens optimal zu profitieren.
1. Redundanzen eliminieren durch Automatisierung
Bei Hybrid- und Remote-Teams kann es immer wieder vorkommen, dass es Probleme mit der Zusammenarbeit, der Mitarbeiterverwaltung, Projektüberwachung oder der Teamverwaltung gibt. Eine der besten Möglichkeiten diese Probleme zu lösen, besteht darin, die Arbeit mit automatisierten Tools zu optimieren. In den allermeisten Fällen sind Entwicklerinnen und Entwickler den Umgang mit automatisierten Tests bereits gewöhnt oder haben selbst schon automatisierte Builds durchgeführt. Eine Auffrischung der Kenntnisse über Automatisierung und Continuous Integration (CI) und Continuous Delivery (CD) kann die Arbeit weiter erleichtern.
Teams, die eine automatisierte CI/CD-Plattform verwenden, können die Anzahl der zusammengeführten Pull-Requests um 36 Prozent erhöhen und die Zeit bis zum Merge um 33 Prozent verkürzen. Bei der Automatisierung sich wiederholender Aufgaben, wie der Einrichtung von Umgebungen, der Bearbeitung von Benutzeroberflächen oder der Erstellung von Skripten für die Applikationsbereitstellung, berichten Teams, dass sie in Open-Source-Projekten 27 Prozent sowie bei der Arbeit 43 Prozent besser abschneiden.
Verschiedene automatisierte Test-Tools ermöglichen es Entwicklerinnen und Entwicklern, Teile ihres Arbeitsablaufs zu beschleunigen, zum Beispiel das Zusammenführen von Code oder die Ausführung von Tests. Diese Tools helfen Teams dabei effizienter zu arbeiten, indem sie sicherstellen, dass der Code korrekt zusammengestellt wird und dass darüber hinaus der Code, der veröffentlicht wird, auch funktioniert und so leicht in die Produktion übernommen werden kann. Mit einer CI/CD-Plattform können Teams ihren Code jedes Mal testen, wenn sie ihn auf den Server übertragen und so potenzielle Fehler vermeiden.
2. Bessere Tools für Flexibilität und Geschwindigkeit
Tools wie das Versionskontrollsystem Git oder vorkonfigurierte Umgebungen, die in der Cloud gehostet werden, erleichtern, unabhängig von wo man arbeitet, das Schreiben, Testen, Erstellen und Bereitstellen von Software. Die Verwendung einer in der Cloud gehosteten integrierten Entwicklungsumgebung (IDE) kann dabei für Entwicklerinnen und Entwickler, die an einem anderen Ort arbeiten möchten, erhebliche Vorteile mit sich bringen. Zum einen kann so direkt mit der Programmierung begonnen werden, egal ob auf einem iPad oder mit einem Chromebook, da die IDEs in der Cloud gehostet werden. Außerdem bietet sich so auch die Möglichkeit, an mehreren Branches zusammenzuarbeiten, hunderte von Änderungen pro Tag bereitzustellen und Entwicklungsumgebungen für neue Mitarbeiterinnen und Mitarbeiter schnell einzurichten.
Durch die Einbindung von Cloud Tools in den Entwicklungsprozess können Teams die Kommunikation optimieren, die Skalierbarkeit ihrer Anwendungen sicherstellen und gewährleisten, dass Projekte und Unternehmen auch mit Remote-Mitarbeiterinnen und Mitarbeiter weiter wachsen können. Dies ist besonders wichtig, wenn man bedenkt, dass die Zahl der Remote-Arbeitsplätze im Jahr 2021 um 12 Prozent (gegenüber 2020) gestiegen ist.
3. Eine gemeinsame Sprache
Frontend-Entwicklung kann zeitintensiv sein und erfordert Fingerspitzengefühl, was bei verteilten Teams schwierig sein kann. YAML, eine der wichtigsten Sprachen für die beliebte deklarative Automatisierung, kann dabei helfen, die Frontend-Konfiguration zu vereinfachen und sich wiederholende Aufgaben zu automatisieren. So ist YAML Frontmatter beispielsweise eine Technik zur Definition und Beschreibung von Seiten, die von Static-Site-Generatoren in HTML umgewandelt werden. YAML kann auch für die Erstellung von automatisierten Workflows verwendet werden, die es mehreren Teams ermöglichen, gleichzeitig an einem Testserver zu arbeiten.
Noch hilfreicher ist es, wenn es sich um eine menschlich-lesbare Sprache handelt, das heißt um eine leicht zu schreibende und leicht zu lesende Sprache, die auf viele der typischen Klammern und Anführungszeichen verzichtet. Das macht es für Entwicklerinnen und Entwickler einfacher, Automatisierungs- und CI/CD-Workflows zu erstellen. Außerdem ist es für Teams einfacher zu definieren, was die Funktionen eines einzelnen Workflows ist.
„Mit einem DevOps-Ansatz können Teams die Vorteile der globalen Zusammenarbeit, Kommunikation und Teamarbeit nutzen, die für die erfolgreiche Programmierung von Software entscheidend sind.“
Damian Brady, GitHub
Zusammenarbeit neu definieren
Von autonomen Fahrzeugen bis hin zu Drohnensystemen und mehr – Software ist überall. Doch um die Technologien, die unsere Welt verändern, zu kreieren, haben Entwicklerinnen und Entwickler nur eine begrenzte Anzahl von Stunden pro Arbeitstag zur Verfügung. Mit einem DevOps-Ansatz können Teams die Vorteile der globalen Zusammenarbeit, Kommunikation und Teamarbeit nutzen, die für die erfolgreiche Programmierung von Software entscheidend sind. Angefangen bei der globalen Einstellung von Mitarbeiterinnen und Mitarbeiter in verschiedenen Zeitzonen bis hin zu Investitionen in die Zufriedenheit von Entwicklerinnen und Entwickler können Unternehmen durch diese Methoden eine positive Auswirkung auf Produktivität und Mitarbeiterbindung feststellen.
Insgesamt kann die Nutzung dieser Praktiken dazu beitragen, Zusammenarbeit zu fördern und Innovationsfähigkeit zu steigern. So wird sichergestellt, dass Entwicklerinnen und Entwickler ihre beste Arbeit leisten können - und zwar unabhängig davon, von wo sie arbeiten. Dadurch können sich diese weiterhin auf das konzentrieren, was für sie am wichtigsten ist: die Entwicklung bahnbrechender Software.
Über den Autor:
Damian Brady ist Developer Advocate für GitHub und lebt in Brisbane, Australien. Vor seiner Arbeit bei GitHub war Damian vier Jahre lang Cloud Advocate bei Microsoft, Entwickler bei Octopus Deploy und Microsoft MVP. Er verfügt über mehr als 20 Jahre Erfahrung in der Software-Entwicklung und Beratung über viele Branchen hinweg. Damian spricht regelmäßig auf Konferenzen, Anwendergruppen und anderen Events rund um die Welt mit Entwicklern, IT-Profis und Datenwissenschaftlern, um ihnen zu helfen, das Beste aus ihren DevOps- und MLOps-Strategien herauszuholen.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.