Unser Software Stack für Remote Teamwork ist über die Jahre gewachsen und hat sich immer weiterentwickelt. Wir haben so einiges ausprobiert und manches wieder verworfen. Und inzwischen sind wir – meistens – ziemlich zufrieden mit unserer Software-Landschaft.

In der Regel gilt bei uns für alle Software-Entscheidungen: möglichst viel Open Source. Vor allem IT-Sicherheits-, Datenschutz- und Unabhängigkeitsüberlegungen haben uns schon immer hin zu freier Software geführt. Deshalb laufen alle unsere Firmenrechner auf Linux-basierten Systemen, wenn Dokumente doch mal lokal bearbeitet werden sollen, dann mit Libre Office – und unsere Werkzeuge sind so oft wie irgend möglich selbstgehostete Open-Source-Lösungen.

Weil wir diese Themen zwar ernst nehmen, uns aber auch nicht von ideologischen Grundsätzen anketten lassen wollen, gibt es aber auch Themen, bei denen wir auf Third-Party-Angebote zugreifen – zum Beispiel, weil sie einfach unschlagbar gut zu bedienen sind.

Die Software, die in unserem Remote-Alltag regelmäßig zum Einsatz kommt, stellen wir im Folgenden etwas näher vor. Sowohl Open Source/FLOSS als auch proprietär.

Projektmanagement, Arbeitsorganisation, Ticketing und Zeiterfassung mit Redmine

Redmine haben wir gefühlt schon ewig im Einsatz. Trotzdem gehört es zu den Werkzeugen, deren vielfältige Einsatzmöglichkeiten uns Tag für Tag aufs Neue beeindrucken. Und deshalb rückt Redmine immer mehr ins Zentrum unseres Arbeitens. Aktuell nutzen wir die auf Ruby on Rails basierende Open-Source-Software unter anderem für - Aufgabenverwaltung - Projektmanagement - Zeiterfassung - Dokumentation - Redaktionsplanung … und sogar zum Onboarding: Jede*r neue Mitarbeiter*in bekommt mit dem bevuta Tutorial erste Aufgaben an die Hand, mit der er*sie nicht nur die Arbeit mit Redmine, sondern auch andere Werkzeuge und das Unternehmen als Ganzes näher kennenlernt.

Besonders lieben wir an Redmine, dass es als Werkzeug für die Arbeitsorganisation unglaublich flexibel ist. Wir bilden darin individuelle Workflows/Prozesse für verschiedene Arten von Aufgaben ab, verwalten eigene Aufgaben, verteilen Aufgaben an andere, dokumentieren, lernen und vieles mehr.

Die Software hilft uns so nicht nur dabei, den Überblick über anstehende Aufgaben zu behalten, sondern dient auch zur Bearbeitung und zum Tracken von Anforderungen und Bugs – sowohl intern als auch in Zusammenarbeit mit Kunden, die direkten Zugriff auf einzelne (Unter)Projekte bekommen können.

Bei so viel Power verzeihen wir Redmine auch gerne, dass es wohl niemals einen Software-Schönheitswettbewerb gewinnen würde. (Höchstens in der Retro-Kategorie.) Trotzdem haben wir es mit PurpleMine2 ein bisschen hübscher gemacht.

Redmine wird wohl nie einen Software-Schönheitswettbewerb gewinnen. Bei so viel Power muss es das aber auch nicht. #RemoteTeamwork #OnlineKollaboration #OpenSource

Warum nicht Jira?

Wir haben uns übrigens sehr bewusst gegen “Jira” entschieden, obwohl es ja so etwas wie das MS Office unter den Ticket-Systemen und Projektmanagement-Werkzeugen ist. Und das aus vielen, vielen Gründen: Es verstößt gegen Web-Standards (REST), es ist erschreckend unübersichtlich, viele wichtige Funktionen gibt es nur als (kostenpflichtiges) AddOn und schließlich und endlich ist es nicht Open Source. Was bedeutet: Wenn wir selbst eine Erweiterung entwickeln (und das tun wir für die von uns eingesetzte Software häufiger, um unsere Prozesse noch effizienter zu machen), tragen wir damit zu einem fremden, nicht-solidarischen Ökosystem bei, statt zu einem, das – wie etwa Redmine – frei und allen zugänglich ist.

Videokonferenzen mit Jitsi

Früher haben wir für Videokonferenzen Whereby genutzt. Sowohl beim Thema Datenschutz als auch im Bezug auf Wirtschaftlichkeit sind wir dabei aber an Grenzen gestoßen. Einer der größten Nachteile (der auch für viele andere Anbieter gilt): Räume können in Whereby nicht ad-hoc genutzt werden, sondern müssen vor der Nutzung angelegt und ggf. (zentral) verwaltet werden. Für unsere Arbeitsweise ein echter Bremsklotz.

Vor einigen Jahren sind wir deshalb auf Jitsi umgestiegen und hosten seitdem unseren eigenen Jitsi-Server. Mal abgesehen davon, dass uns Open-Source-Lösungen ein gutes Gefühl geben, ist Jitsi für uns deshalb unschlagbar, weil es extrem flexibel ist. Um Jitsi nutzen zu können, braucht man lediglich einen Browser (für die mobile Nutzung gibt es alternativ auch eine App). Räume gibt es auch parallel beliebig viele und sie müssen nicht verwaltet werden, sondern lassen sich von jedem jederzeit spontan öffnen – einfach indem man einen beliebigen Raumnamen eingibt oder sich eine entsprechende URL dafür ausdenkt und diese an die Kolleg*innen schickt.

Auf den öffentlichen Servern des Jitsi-Projekts sieht das dann z. B. so aus: https://meet.jit.si/bevutaTeam.

Jitsi ist unschlagbar easy: URL ausdenken, an Kolleg*innen schicken: Fertig ist die Videokonferenz! #RemoteTeamwork #Videocalls #OpenSource

Und zu guter Letzt: Jitsi ist extrem zuverlässig und funktioniert einfach. Und hat noch weitere nette Features wie eine eingebaute Aufzeichnungsfunktion.

Dass es ohne erkennbaren Grund einfach nicht funktioniert, passiert mit Jitsi nicht. Ich könnte dir nicht sagen, wann Jitsi mich zuletzt genervt hat.

Martin

Chatten mit Mattermost

Dass bei uns E-Mail eine untergeordnete Rolle spielt und eigentlich nur in der externen Kommunikation vorkommt, schrieben wir schon. Genau wie wir haben sich viele gerade junge Unternehmen schon lange von E-Mail verabschiedet und setzen für die interne Kommunikation auf Team-Messaging-Lösungen wie Slack oder Microsoft Teams.

Wir haben uns natürlich für eine Open-Source-Lösung entschieden und arbeiten schon seit langem mit Mattermost.

Neben privaten Chats zwischen zwei Kolleg*innen ermöglicht Mattermost das beliebige Erstellen von Gruppen, zu denen nach Bedarf auch ad hoc mehrere Mitarbeiter und Mitarbeiterinnen hinzugefügt werden können. In themen- oder projektbezogenen Channels können Kolleg*innen, die gemeinsam für ein bestimmtes Thema zuständig sind oder an einem gemeinsamen Projekt arbeiten, ihre Zusammenarbeit koordinieren.

Wir hosten unseren eigenen Mattermost-Server, auf dem wir mehrere separate Teams angelegt haben. So gibt es beispielsweise auch Teams, zu denen Kunden mit eingeladen werden.

Mattermost funktioniert im Browser, aber auch über Desktop Apps für Linux, Windows oder macOS – oder auch über Mobile Apps für Android und iOS. Dazu betreiben wir einen IRC-Bridge für alle Kolleg*innen, die ihre Welt gerne text/plain haben oder die 90er ein bisschen vermissen.

Du brauchst im Team etwas, um in Verbindung zu bleiben. Dafür kannst du ein Chatsystem nehmen oder das Telefon – oder du sperrst die Leute zusammen im Büro ein, dann hast du das Chatsystem Flurfunk.

Martin

Messaging mit Signal

Auch wenn es für Mattermost Mobile Apps gibt – nicht jede*r Mitarbeiter*in möchte 24/7 auf seinem Handy über die zentrale Firmen-Kommunikation benachrichtigt werden. Deshalb nutzen wir parallel und partiell auch Signal als Messaging App. Der Open-Source-Messenger ist unser Werkzeug der Wahl: Mächtig, komfortabel und gut für die Privatsphäre und ermöglicht sowohl klassische 1:1-Chats zwischen zwei Nutzer*innen als auch das Anlegen von Gruppen. Ob Mattermost oder Signal genutzt wird, hängt für uns häufig an persönlichen Vorlieben oder auch an der Dringlichkeit des Themas. Manche Kolleg*innen stellen Mattermost in konzentrierten Arbeitsphasen stumm – sind aber per Signal immer noch weiterhin erreichbar.

Versionsverwaltung mit Git und GitLab

Softwareentwicklung im größeren Maßstab ist ohne gemeinsamen Code, auf den das gesamte Team zugreifen kann, kaum denkbar. Dabei ist es völlig egal, ob die Schreibtische, an denen entwickelt wird, nur wenige Meter oder tausende von Kilometern voneinander entfernt sind. Sobald mehrere Entwickler*innen an ein- und derselben Codebasis arbeiten, braucht es nicht nur einen gemeinsamen Speicher, sondern auch ein System, das Änderungen koordiniert und nachvollziehbar macht.

Ideal für große Projekte ist ein verteiltes Versionskontrollsystem wie Git. Mit Git haben alle Entwickler*innen alle relevanten Stände des Projekts auf dem eigenen Rechner. Dort können sie in Ruhe an Änderungen arbeiten, einen neuen Stand definieren (“einchecken”), sobald sie es für sinnvoll halten, und diesen dann an ein Remote-Repository schicken (“pushen”).

Auch unser Code liegt in Git-Repositories. Für einen guten Überblick und zur Unterstützung von Code-Reviews nutzen wir GitLab, als grafische Oberfläche und erweiterten Werkzeugkasten.

Die in Git integrierte Versionsverwaltung sorgt dafür, dass auch bei komplexen Änderungen und vielen Beteiligten alles nachvollziehbar bleibt, das Team sich nicht gegenseitig auf die Füße tritt und jeder in Ruhe an “seinem” Feature arbeiten kann. Dass dabei an verschiedenen Features und verschiedenen Versionen parallel gearbeitet werden kann, dafür sorgen entsprechende Abzweigungen, sogenannte “Branches”:

Jede neue Funktionalität für die Software, die wir entwickeln, hat ihren eigenen Zweig (“Branch”), in dem alle Änderungen zusammengefasst werden. Wenn das Feature fertig ist und das Review des Codes erfolgreich war, kann der geänderte Zweig wieder in den Hauptzweig (“Master” oder “Head”) integriert (“gemergt”) und von dort veröffentlicht (“deployt”) werden. So integrierte Feature-Branches verschwinden – und das nächste Feature bekommt einen neuen, eigenen Branch. - Und das nächste, und das nächste, und das nächste… Denn so abgeschlossen, dass man sie nie wieder anfassen muss, ist Software genau genommen nie – auch nicht nach dem Launchtermin.

Selbstgehostete Dokumente online bearbeiten mit ONLYOFFICE

Wir betreiben einen eigenen Server mit einer Weboberfläche und ONLYOFFICE, um Dateien wie z. B. Dokumente zu erstellen, zu bearbeiten und zu verwalten. So können wir sowohl mit dem gesamten Team als auch mit Kund*innen und anderen externen Partnern Daten austauschen und gemeinsam daran arbeiten.

Auch wenn die Usability von ONLYOFFICE uns nicht immer glücklich macht: Für sensible Daten ist das Speichern und Bearbeiten auf unseren eigenen Servern die einzig richtige Wahl.

Falls ihr Tipps für noch bessere selbstgehostete Office-Lösungen als ONLYOFFICE, auf Open-Source-Basis habt – gerne her damit. An dieser Stelle sind wir überzeugt, dass es auch noch besser gehen kann. (Und nein: LibreOffice Online / Collabora Online sind für uns keine Alternative – ausprobiert und als ungeeignet abgehakt.)

Kollaboratives Arbeiten mit Google Workspace

Ja, wir sind große Open-Source-Verfechter. Es gibt aber Momente, in denen sind uns Convenience und Effizienz einfach zu wichtig, um uns mit weniger als dem Besten zufriedenzugeben.

Für die gemeinsame Arbeit an Dokumenten haben wir viel ausprobiert. Und mussten schließlich feststellen, dass Google Docs, Spreadsheets und Presentations unschlagbar sind. Deshalb setzen wir für die tägliche Arbeit mit Dokumenten ohne besondere Datenschutzanforderungen auf das Online-Office-Paket “Workspace” von Google (andere würden vielleicht “Cloud-Lösung” sagen 🙈). Unverzichtbar sind für uns dabei die Vorschlags- und Kommentarfunktion geworden. In den Kommentaren diskutieren wir gerne und ausführlich – so lange, bis die beste Lösung gefunden ist. Vor allem, wenn man zu mehreren gleichzeitig an einem Dokument arbeitet, sind diese kollaborativen Funktionen schlicht Gold wert und ermöglichen es uns, an Dokumenten zu arbeiten, als ob wir gemeinsam vor dem Rechner sitzen würden. Genau genommen sogar noch effizienter, gleichzeitig oder zeitsouverän, ganz wie es gerade passt.

Dabei ist uns sehr bewusst, dass die Daten nicht allein bei uns liegen und nehmen das im Austausch gegen sehr starke, flexible Werkzeuge in Kauf. Ein regelmäßiges Backup auf unsere eigenen Systeme ist dabei natürlich Pflicht.

Sobald es um kritische, personenbezogene Daten geht, wechseln wir auf unsere selbstgehosteten Lösungen – und können so je nach Situation unterschiedliche Prioritäten setzen.

Kollaboratives Layouten mit Figma

Ähnlich wie mit Google Workspace steht es mit Figma. Die in Sachen Prototyping und Design beeindruckend mächtige “Cloud”-Lösung erleichtert den kollaborativen Design-Prozess immens.

Über Figma können Kolleg*innen aus Konzeption, UX, Text und Grafik zusammen an Designs arbeiten. Alle Änderungen sind sofort für alle sichtbar, was beim gemeinsamen Arbeiten während eines Remote-Arbeitstreffens ungemein hilfreich ist. Für asynchrone Abstimmungen bietet die Kommentarfunktion die Möglichkeit, den Feinschliff an Layout- oder Textentscheidungen gemeinsam zu gestalten und Rückfragen zu stellen. Und unsere Developer*innen können für das Programmieren einer Mobile App, einer Webanwendung oder einer Website gleichzeitig und ohne Verzögerung oder Zwischenschritte auf die jeweils aktuellsten Designs zugreifen.

Genau wie in der Softwareentwicklung helfen uns Abzweigungen (“Branches”) dabei, den Änderungsprozess möglichst transparent zu gestalten und zwischen verschiedenen Themen sowie fertig abgestimmten und in Entwicklung befindlichen Designs zu unterscheiden.

Das Zusammenspiel macht die Musik

Mit dieser Kombination aus sehr unterschiedlichen Werkzeugen decken wir alle Arbeitsschritte in unserem Remote-Arbeitsalltag ab und schaffen es so, genauso effizient miteinander zu arbeiten als würden wir gemeinsam in einem Büro sitzen.

Genauso effizient? Eigentlich stimmt das nicht. Denn all diese Lösungen greifen so hervorragend ineinander und ergänzen sich, dass einiges sogar in der Remote-Zusammenarbeit komfortabler funktioniert als im Büro.

In einem Jitsi-Videocall können wir beispielsweise anhand von Screensharing gemeinsam über ein Google-Dokument sprechen. Jede*r Teilnehmer*in kann dabei selbst Änderungen vornehmen, die simultan und sofort für alle nachvollziehbar sind. Ganz ohne Gedränge vor einem einzigen Rechner oder Verrenkungen, um einen Blick auf den großen Bildschirm im Konferenzraum zu erhaschen.

Und manche Prozesse sind durch das Ineinandergreifen der richtigen Werkzeuge sogar (halb)automatisiert. Merge Requests der Entwickler in GitLab führen beispielsweise zu automatischen Benachrichtigungen in unserem Messaging-System Mattermost, sodass sich sofort ein Mitarbeiter mit freier Zeit um das Review kümmern kann. Das spart zusätzlichen Aufwand für das Schreiben von Nachrichten – und verhindert auch, dass Reviews sich verzögern, nur weil ein Entwickler vergessen hat, den Kolleg*innen Bescheid zu sagen.

Dabei lassen sich alle Ressourcen wie Dokumente, Tabellen, Mattermost-Nachrichten, E-Mails, Video-Konferenz-Räume, Git-Commits, Tickets oder Wiki-Absätze direkt als URL teilen.

Mit dem richtigen Werkzeug-Mix lässt sich remote sogar effizienter arbeiten als im gemeinsamen Büro. #RemoteTeamwork #SoftwareStack

Wir sind sicher: Mit der richtigen Software und auf die eigenen Bedürfnisse abgestimmten Prozessen funktioniert Remote Teamwork auch in anderen Unternehmen wunderbar. Und sorgt so für mehr Individualität, mehr Freiheit und Flexibilität – und weniger Arbeitswege. Und sogar für mehr Effizienz.