how to: remote

Da wir seit unserer Gründung mit einem hohen remote Anteil mit unseren Kunden zusammen arbeiten, haben wir uns frühzeitig mit dezentralen Zusammenarbeitsmodellen befasst.

In der jetzigen Zeit können unsere Erfahrungen vielleicht den ein oder anderen Ansatz bieten, daher finden Sie hier einige praktische Hinweise in den Bereichen Kommunikation, Kollaboration und Software Entwicklung.

von Thorsten Brückner & Sven Decker

1. kommunikation

In der modernen Arbeitswelt spielt dezentrales oder zeitlich asynchrones Arbeiten in verteilten Teams eine größere Rolle.

Verteilte Teams
Es hat sich gezeigt, dass auch in der virtuellen Zusammenarbeit der persönliche Kontakt von besonderer Wichtigkeit bleibt, da kein gemeinsames Büro für informellen Austausch mehr vorhanden ist. Moderne Technologien wie Video-Calls sollten wo immer möglich und angemessen genutzt werden, um Kontext und Emotionen zu transportieren. Da ein Video-Call ein persönliches Treffen nicht 1:1 ersetzen kann, lieber mehr als weniger einsetzen!

Die virtuelle Zusammenarbeit ist aber auch weitaus effizienter, da mittels Tools das gemeinsame Bearbeiten von Dateien, Programmcode ermöglicht wird (z.B. Office365, Google Suite, etc.) – Screenshare-Calls können als Fallback genutzt werden. Physische und schlecht vorbereitete Meetings in Unternehmen stehen oftmals sinnbildlich für ineffizientes Arbeiten!

Die Arbeitsergebnisse müssen für alle Beteiligten verfügbar gemacht werden (z.B. Dokumente, Präsentationen, Meetingnotizen…). Diese Herausforderung besteht auch in der physischen Arbeitswelt, in der virtuellen verliert sie nicht an Relevanz.

Unsere Empfehlung

Nutzung von cloudbasierten Office- bzw. Engineering-Tools.

Asynchrones Arbeiten
Neben der räumlichen Trennung ist die zeitliche Trennung von Arbeitsabläufen eine Kernherausforderung in der virtuellen Zusammenarbeit.

Die Abstimmung über Kommunikationswege (Call, Chat, Email) und Regeltermine als Check-in für das Teams sind essenziell. Auch in der asynchronen Zusammenarbeit sind Zeitfenster, die für das gesamte Team gelten wichtig.

Es müssen unterschiedliche Erreichbarkeiten berücksichtigt und bei Meetings die Verfügbarkeit der Teilnehmer beachtet werden. Gerade in größeren oder bei mehreren Teams ist eine sorgfältige Planung, sind stabile Meetingtermine, wichtig.

Es muss ein passendes Maß an Kommunikationsumfang und -dichte gefunden werden. Die Kontaktwege müssen an die Dringlichkeit der Information angepasst werden. Zum Beispiel Call vor Chat und Email als “last resort”, da umständlich.
Oftmals bieten sich Email hours (täglich 9-10 Uhr, 13-14 Uhr und ab 17Uhr) an, um im Team fokussiert zu arbeiten und sich nicht von ankommenden Emails aus der Konzentrationsphase reißen zu lassen.
Die Erwartungen an Erreichbarkeiten müssen klar im Voraus kommuniziert und im Team akzeptiert werden, z.B. bei Terminabsprachen.

Unsere Empfehlung

Im Team auf Guidelines für synchrone und asynchrone Kommunikation einigen.

Arbeitsmittel
Verteilte und asynchrone Zusammenarbeit funktioniert nur tool-gestützt. Diese müssen über Internet-erreichbar sein (entweder SaaS oder VPN in das firmeneigene Netz).

Video-Calls erfordern stabiles Internet, Kamera und Mikro (ggf. Headset je nach Umgebung). Gerade im home office ist ein ausreichend dimensionierter Internetzugang nicht im gegeben, denken Sie auch an ländliche Wohnorte mit schlechter Netzabdeckung.

Die Verfügbarkeit von Software auf zusätzlichen Geräten muss sichergestellt, ggf. sind Lizenz-problematiken zu berücksichtigen.

Die Bereitstellung von Arbeitsrechner/-Laptop vs. Nutzung eines privaten Geräts mit Arbeitssoftware ist im Einzelfall zu bewerten.

Unsere Empfehlung

Arbeits-Laptop ermöglicht Mobilität, reduziert Lizenzaufwand und beinhaltet Kamera und Mikrofon, externer Monitor, Tastatur sowie Maus sind ergonomisch sinnvoll!

2. kollaboration

Neben der Kommunikation im Team und mit Kunden ist die virtuelle Zusammenarbeit zu organisieren.

Transparente Aufgaben
Um die Transparenz hinsichtlich des Status der Aufgabe, Fortschritt zu steuern bietet sich die Nutzung von Kollaborationstools (JIRA, Trello, GitLab, GitHub etc) an. Im Team sollte man sich auf Arbeitsprozesse einigen.

Die Arbeitspakete müssen transparent dokumentiert (Issues, Tickets, ToDos) und Arbeitsergebnisse verknüpft (Kommentare, Dokumente, Code) werden.

Es können team-eigene Übersichtsbereichen für aktuelle und anstehende Aufgaben im gesamten Team geschaffen werden (Woran arbeiten die anderen? Was passiert um mich herum?).

Unsere Empfehlung

Nutzen Sie Kollaborationstools für einen Austausch und Überblick im Team, nicht als Kontrollinstanz zur Zeiterfassung oder gar Leistungsmessung.

Kontextuelle Informationen
Alle relevanten Informationen (Projektziele, Entscheidungen, Rahmenbedingungen) müssen für alle Teammitglieder bereitgestellt werden.

Mehr Kontextwissen ermöglicht bessere Entscheidungen und reduziert Abstimmungsaufwände im Team. Regelmäßige Aktualisierung mit neuen Inhalten halten das Interesse im Team hoch.

Es gilt die Eigenverantwortlichkeit der Teammitglieder zu ermöglichen und konsequent zu fördern.

Unsere Empfehlung

Am Beispiel von Atlassian: in Jira aktuelle ToDos der Teammitglieder festhalten, Confluence für das übergreifende Produkt-/ Projektgeschehen nutzen. Möglichst viel Kontext als Entscheidungshilfe geben.

Gemeinsames Arbeiten
Echtzeit-Zusammenarbeit sollte wo immer möglich genutzt werden (z.B. gemeinsames Editieren in Office oder Pair Programming).

Es sollten asynchrone Prozesse geschaffen werden und nicht dringliche Informationen “sanft” gestreut werden, d.h. Verzicht auf Anruf oder EMails für unwesentliche Informationen. Statt dessen sollten die Team-Mitglieder Informationen selbstgesteuert konsumieren können.

Es müssen klare Strukturen insbesondere für Dateiablagen oder Wikis eingeführt werden, um Informationsverlust und Doppelarbeit zu vermeiden.

Unsere Empfehlung

Initiales Festlegen von Prozessen und Strukturen sowie regelmäßiges Überprüfen und ggf. Anpassen durch das Team sicherstellen.

3. Sonderfall: Software-Entwicklung

Je nachdem wie stark dezentrale Teams beim Kunden integriert werden, bieten sich unterschiedliche Modelle in der Software Entwicklung an.

Lokale Entwicklung
Feature-Entwicklung kann möglichst entkoppelt von externen Ressourcen auf eigenem Rechner anstelle eines remote-Servers erfolgen.

Die Abhängigkeiten zu Dritt-Tools bis zur Fertigstellung eines Features sollten reduziert werden, um Verzögerungen und Ausfallrisiken zu minimieren.

Ausnahme: Einchecken und Versionieren des Codes auf internet-erreichbarem Tools (z.B. Bitbucket, GitLab, GitHub), automatisiertes Testen für CI/CD.

Unsere Empfehlung

Entwicklung lokal, Code Review via internet-erreichbarem VCS-Tool, CI/CD für automatisierte Build-Test-Release-Verfahren zumindest bis Staging.

Cloudbasierte Infrastruktur
Staging- und produktive Infrastruktur sollte cloudbasiert sein, um größtmögliche Flexibilität bei der Provisionierung und Skalierung von Ressourcen zu gewährleisten.

Falls keine cloudbasierte Infrastruktur vorhanden ist: VPN zur Sicherstellung der Erreichbarkeit der Infrastruktur von außerhalb.

Das kurzfristiges Erstellen von Demo-Instanzen für Abstimmungen oder Showcases ist möglich und ratsam.

Die Sicherheit der produktiven Infrastruktur muss sichergestellt sein (Zugriff, Rollbacks, Backups, etc.).

Unsere Empfehlung

Immer abhängig von den Kundenvorgaben, aber wenn möglich Nutzung einer der Big-Three-Clouds (AWS, Azure, GCP), sorgfältige Härtung insbesondere der produktiven Infrastruktur vor Fremd- und versehentlichem Eigenzugrif

Ausfallsicherheit
Die Erreichbarkeit und Last insbesondere der produktiven Infrastruktur sollte ständig automatisiert überwacht werden (z.B. via APM, Nagios).

Die automatische Skalierung bei Unter- und Überlastung kann gezielt für Ausfallvermeidung und kosteneffektive Nutzung eingesetzt werden.

Die produktive Infrastruktur sollte über mehrere Zonen verteilt werden.

Die Datenbestände sollten konstant synchronisiert und gesichert werden (Replikation, regelmäßige Backups).

Unsere Empfehlung

Nutzung eines APM zur weitgehenden Automatisierung von Monitoring. Die Entwicklung sollte plattformagnostisch erfolgen.

über die Autoren

Thorsten Brückner arbeitet als Projektmanager bei digit.cologne GmbH und ist Experte für agile Arbeitsmethoden. Seine ersten Erfahrungen mit agilen Methoden fanden in seiner Ausbildung zum Fachinformatiker statt. Diese wurde dann während seines BWL-Studiums mit dem Schwerpunkt Innovationsentwicklung und der in dieser Zeit selbst gegründeten studentischen Unternehmensberatung ConTogether e. V. fortgeführt. Die Erfolge der Beratung wurde auch durch Unternehmen wie PWC und BearingPoint ausgezeichnet.

Sven Decker ist Head of IT bei der digit.cologne GmbH. Mit Entwicklungs- und Führungserfahrung in agilen und klassischen Projekten arbeitet er als Übersetzer von fachlichen Anforderungen in technische Ausgestaltung. Seine Arbeitsschwerpunkte sind die Architektur und Umsetzung von maßgeschneiderter, skalierbarer Software, die Konzeption von praxisorientierten Entwicklungsprozessen sowie die übergreifende Koordination von agilen Teams. Er bringt Startup-, Konzern- und Dienstleister-Erfahrung in seine Arbeit ein.

haben wir ihr

interesse geweckt?