Remote Services: Zusammenarbeit beim Entwickeln
von SEQIS
Die Popularität von Remote Work ist in den letzten Jahren rasant gestiegen. Laut statista.com arbeiteten 2021 bereits 41%[1] der ÖsterreicherInnen teilweise oder vollständig im Homeoffice. Im IT-Sektor ist dieser Trend noch stärker und damit einhergehend verändert sich die Zusammenarbeit beim Entwickeln von Software. Der Einsatz von unterstützenden Tools ist dabei besonders wichtig, um die Kommunikation und Kollaboration im Team zu erleichtern.
Kommunikation
Entwickler benötigen zur Umsetzung von neuen Features einiges an Informationen bezüglich Anforderungen, Implementierung und Testing. Ein wesentlicher Faktor bei der Gestaltung eines effizienten Entwicklungsprozesses ist daher eine einfache und schnelle Kommunikation zwischen allen Beteiligten. Wo früher noch E-Mail und face-to-face Meetings zur Abstimmung verwendet wurden, sind heute Instant Messenger Plattformen wie Slack eine sehr gute Alternative. Zu Recht, denn sie bieten:
- Schnelle Kommunikation: Im Gegensatz zu E-Mails werden Sofort-Nachrichten informeller und kürzer formuliert. Dies führt oft zu rascheren Rückmeldungen und es können somit Warte- und Leerlaufzeiten reduziert werden.
- Erstellung von Channels und Gruppen: Durch selbst definierte Gruppen können Mitglieder eines Teams eingeladen und diese gleichzeitig benachrichtigt werden.
- Abhalten von Meetings inklusive Screensharing: Falls eine Nachricht nicht ausreicht, um eine Fragestellung zu klären, können mit wenigen Clicks Meetings abgehalten werden, in denen es auch möglich ist, mit dem Gegenüber den Bildschirm zu teilen.
- Historisierung von Nachrichten: Chatverläufe werden übersichtlich gespeichert und längere Diskussionen können somit jederzeit nachgelesen und durchsucht werden.
Abbildung 1: Instant Messanger Plattform Slack (Quelle: https://slack.com/intl/de-at/downloads/windows)
Kollaboration
Insbesondere für die Entwicklung von komplexeren Features ist in der Entwicklung Teamwork gefragt, denn was für den Einzelnen schwierig erscheint, kann im Kollektiv oft rasch gelöst werden. Während man im Büro den Kollegen um Hilfe bitten kann, ist die aktive Unterstützung über Remote Work schwieriger. Aber auch hier bieten alle gängigen Entwicklungsumgebungen wie IntelliJ, Visual Studio Code oder Eclipse bereits über Plugins gute Unterstützung. Live Share ist eine Erweiterung von VS Code, welche über einen Einladungs-Link einem Kollegen erlaubt eine gemeinsame Collaboration Session zu starten. Dadurch wird der Code in Echtzeit geteilt und beide Entwickler sehen dieselbe Code Basis. Zudem können alle an der Session Beteiligte den Code in Echtzeit sehen und gemeinsam daran Änderungen vornehmen und debuggen. Dem gemeinsamen Pair Programming steht somit auch remote nichts im Wege.
Abbildung 2: VS Code Live Share (Quelle: https://code.visualstudio.com/blogs/2017/11/15/live-share)
Erfahrungsaustausch
Ein wesentlicher Aspekt an einem langfristig erfolgreichen Entwicklungsteam ist der Austausch von Lessons Learned und Best Practices. Man sollte schließlich aus Fehlern in der Vergangenheit lernen und erfolgreiche Design Patterns weiterführen. Wissensmanagementsysteme wie Confluence eignen sich dafür besonders, da auf sie von überall zugegriffen werden kann und somit auch remote ein Erfahrungsaustausch stattfinden kann.
Fazit
Remote Work wird bereits von vielen Firmen in der IT-Branche stark gelebt. Durch den immer besseren Toolsupport und Anpassungen der Unternehmenskultur wird die Effizienz dessen stetig erhöht. Nichtsdestotrotz tragen regelmäßige face-to-face Meetups positiv zu einem guten Teamspirit und Erfahrungsaustausch bei.