Code Collaboration

Wenn Entwickler remote zusammenarbeiten

Softwareentwicklung ist in hohem Maße Teamarbeit. Das widerspricht nur scheinbar dem Drang ins Homeoffice. Moderne Tools für Code Collaboration organisieren Remote-Work für Programmierer:innen.

Anzeige

Remote Work ist während der Pandemie in vielen Unternehmen zum Alltag geworden und zahlreiche Beschäftigte wollen nicht mehr darauf verzichten. Dies gilt auch für Mitarbeiter:innen in IT-Unternehmen, die Remote Work deutlich einfacher umsetzen können als in anderen Branchen.

Die Entwickler:innenbefragung einer Plattform für IT-Jobs förderte Interessantes zutage: Der klassische Vollzeitjob im Präsenzbüro ist nur noch für eine Minderheit erstrebenswert. Lediglich vier Prozent wollen noch auf diese Weise arbeiten und ganz auf Homeoffice verzichten. Alle anderen wünschen sich hybride Modelle, bei denen Heimarbeit und Bürozeiten nach Belieben gemischt werden.

Die Ansprüche an Entwicklungsumgebungen steigen

Solche Untersuchungen zeigen, dass die neue Arbeitswelt gekommen ist, um zu bleiben. Das liegt auch daran, dass im Moment IT-Talente aller Art so begehrt wie nie sind. Die Unternehmen befinden sich in einem War for Talents. Klassische IT-Dienstleister oder Softwareanbieter konkurrieren im Arbeitsmarkt zunehmend mit Unternehmen aus anderen Branchen. So hatten zuletzt einige Automobilhersteller angekündigt, Tausende von Programmierer:innen einzustellen, um die Software für ihre Fahrzeuge zu entwickeln.

Dadurch steigen auch die Ansprüche an bestehende Software-Lösungen. Um im Wettbewerb um gute Entwickler:innen zu bestehen, müssen Unternehmen in der Lage sein, ihren Teams die bestmögliche Software und die besten Arbeitsbedingungen zu bieten. Andernfalls werden sie die Talente nicht lange halten können. Vor allem Entwickler:innen sind anspruchsvoll und haben die freie Auswahl auf dem Arbeitsmarkt.

In dieser Situation sollten Unternehmen ihren Blick auf Code Collaboration bzw. Four Eye Programming richten. Diese neue Arbeitsweise bietet beispielsweise New Relic über sein Tool CodeStream an. Solche Systeme ermöglichen die gemeinsame Arbeit an einer einheitlichen Code-Basis von unterschiedlichen Standorten aus. Dabei werden die Vorteile des Vier-Augen-Prinzips auf Remote Work übertragen. Code Collaboration bietet Entwickler:innenteams eine Reihe von konkreten Vorteilen.

Pull Requests

Die gemeinsame Arbeit am selben Code hat einen entscheidenden Mehrwert: schnelle und vor allem klare Kommunikation. Wichtiger Bestandteil jeder Anwendung für Code Collaboration sind deshalb Pull Requests. Sie gehören in die die betreffende Codezeile und müssen zugeordnet und visualisiert werden. Anschließend kann jede Anfrage von der richtigen Person gezielt bearbeitet werden.

Wichtig bei der Auswahl des richtigen Systems: Pull Requests sollten über möglichst viele Schnittstellen hinweg anwendbar sein. CodeStream beispielsweise setzt auf ein Diff-Tool, das GitHub, GitLab, Bitbucket, GitHub Enterprise, GitLab Self-Managed und Bitbucket Server unterstützt.
Zeitsparende Jump-to-Definition-Befehle, Keybindings oder Code Intelligence helfen bei Reviews. Dabei gilt die Devise: je simpler und intuitiver, desto fehlerfreier die Zusammenarbeit.

Code-Kommunikation: E-Mail, Slack & Co.

Die Kommunikation in den Teams muss so offen wie möglich sein. Dafür sind neben den Pull Requests auch weitere Kanäle im Quellcode wichtig: Moderne Code Collaboration-Anwendungen integrieren auch E-Mail sowie Slack, Microsoft Teams oder andere gängige Anwendungen für Chats. Damit wird die die Kommunikation nahtlos in den bereits bestehenden Stack integriert. Die Zusammenarbeit der Teams auf der Plattform muss genauso einfach sein, wie bei der Zusammenarbeit in einem Raum und am gleichen Bildschirm.

Instrumentierung, Telemetriedaten und Issue Management

Entscheidend für den Erfolg von Projekten mit Code Collaboration ist die Möglichkeit, Telemetriedaten der Anwendungen direkt in den zugehörigen Code in der IDE zu integrieren. Entwickler:innen haben damit die Möglichkeit, ihre Anwendungen schneller zu instrumentieren und Probleme direkt zur beheben.

Dadurch wird die Teamarbeit effizienter. Einzelne Probleme im produktiven Code werden im Kontext analysiert und diskutiert. Dabei ist automatisch klar, um welches Repository und welche Code-Zeile es geht. Durch die Integration in die bevorzugte IDE sehen alle Entwickler:innen den Status offener Issues und können ihn aktualisieren.

Die Rolle von Observability

Die gemeinsame Arbeit an einer Codebasis muss über verschiedene Schnittstellen und Kommunikationstools hinweg organisiert werden. Dies funktioniert nur mit Observability: Der gesamte IT-Stack wird nach dem Ende-zu-Ende Prinzip permanent überwacht. Damit entsteht ein lückenloser Code-Dialog aus mehreren Quellen.

Voraussetzung ist eine Möglichkeit, die Telemetriedaten, Nachrichten, Code-Kommentare, Bugs und Incidents in Echtzeit und im Zusammenhang zu überblicken. Wenn dies nicht gelingt, können andere Teammitglieder Pull Requests oder Code-Änderungen nicht mehr nachvollziehen. Die Konsequenz: Fehler werden leichter übersehen und werden damit langfristig zu Incidents mit Folgen für das gesamte System.

Das Datenfundament für Code Collaboration

Da Produkte aus allen Branchen einen immer höheren Anteil an Software haben, sind die Workflows von Entwicklern entscheidend für den wirtschaftlichen Erfolg der Unternehmen – und dafür, neue Talente anzuziehen. Observability liefert das Datenfundament für mehr Effizienz, Benutzerfreundlichkeit und Ausfallsicherheit in den Entwickler-Workflows.

Diese Möglichkeiten können erweitert werden, wenn intelligente Tools für Code Collaboration in die Entwicklungsprozesse integriert werden. Sie nutzen das Datenfundament, um den Entwicklerteams flexible Arbeit zu ermöglichen, ohne dass Reibungsverluste in der Abstimmung entstehen.

Klaus Kurz

New Relic -

Director Solutions Consulting

Artikel zu diesem Thema

Weitere Artikel

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button “Zum Newsletter anmelden” stimme ich der Datenschutzerklärung zu.