DIY: Video-Conferencing, Chat und Desktop-Sharing in microTOOLs
PI Planning, Daily Scrum, Pair Programming, Review, Retrospektiven… wunderbare Techniken und Rituale, die viele in den letzten Jahren kennen und lieben gelernt haben und die die Zusammenarbeit bei der Softwareentwicklung sehr effizient machen.
Agile Prinzipien in Corona-Zeiten leben? Schier unmöglich!?
Die Releases von objectiF RPM 7.0 und objectiF RM 8.0 stehen kurz bevor. Beide Produkte bieten dann viele neue Möglichkeiten der virtuellen Zusammenarbeit mit Kollegen im Homeoffice. Änderungen z.B. von Anforderungen kann man dann direkt im Chat besprechen oder per Desktop-Sharing in einer Instant-Video-Konferenz gemeinsam anschauen. So können Teams noch besser und sicherer kollaborieren. Ein echter Quantensprung in unseren Tools, der als Studentenprojekt begann.
Wir stellen heute unseren ehemals dualen Studenten, jetzt Master-Studenten Marc vor, der diese Features für uns realisiert hat.
Steckbrief
Hallo, ich bin Marc, 22 Jahre alt, studiere an der Beuth Hochschule für Technik Berlin im 1. Semester und habe meine Bachelorarbeit über die „Weiterentwicklung der Projektmanagement-Plattform objectiF RPM um Funktionen zur Kollaboration“ geschrieben. Ich bin seit 3 Jahren bei microTOOL. Zuerst als dualer Student der Informatik in Kooperation mit der HWR Berlin. Jetzt mache ich meinen Master und arbeite bei microTOOL 20 Stunden/Woche im Entwicklungsteam mit.
Hallo Marc, für meinen direkten Draht aus dem Homeoffice ins Büro nutze ich nun auch objectiF RPM und bin begeistert, wie schnell diese Features für virtuelle Collaboration – also Chat, Videoconferencing und Desktop-Sharing – umgesetzt wurden. Wie bist Du eigentlich auf das Thema für die Bachelorarbeit gekommen?
microTOOL hat mir das Thema vorgeschlagen und ich habe mir dann eine Lösung überlegt und begonnen, sie zu verwirklichen. Mit meinen Teamkollegen bringe ich die Lösungen gerade zur Marktreife.
Wie hast Du Dir das Fachwissen für die Umsetzung der Collaboration-Features beschafft?
Das nötige Fachwissen zur Implementierung der Collaboration-Features musste ich durch Selbststudium erlangen, weil dazu nichts in der Hochschule vermittelt wurde. Ich musste also viel recherchieren, Fachliteratur und Dokumentationen im Netz lesen.
Wann und wie entstand der Prototyp?
Der Prototyp entstand sehr früh in der Entwicklungsphase. Er wurde entwickelt, um verschiedene Technologien auszuprobieren. So konnte ich die geeigneten finden, die unseren Anforderungen und den Anforderungen der Kunden bestmöglich entsprechen.
Welche Technik nutzen wir für die Umsetzung der Collaboration-Features?
Der objectiF RPM Server bot per se keine Duplex-Kommunikation. Deshalb verwenden wir jetzt einen SignalR Server, über den die objectiF RPM Clients miteinander kommunizieren. Die Clients verbinden sich mit dem SignalR Server über sogenannte Websockets. Das Websocket-Protokoll basiert auf dem TCP-Protokoll und stellt eine bidirektionale Verbindung her. Für die Videokonferenzen wird die Technologie WebRTC genutzt. Sie sorgt dafür, dass die Browser über eine Peer-to-Peer Verbindung Audio und Videoinhalte austauschen können. Damit Videokonferenzen auch im objectiF RPM Desktop Client verfügbar sind, wird das Thirdparty Control WebView2 von Microsoft verwendet. Mit diesem kann man ein Browser-Fenster in eine WPF Anwendung integrieren. Um jetzt noch eine Peer-to-Peer Verbindung zwischen den Clients herzustellen, wird ein Node.js als Signaling Server eingesetzt. Der Node.js dient auch gleichzeitig als Webserver, das heißt über ihn wird die Videokonferenzen-Sicht an die Clients verteilt.
Puh, das kling ja nicht gerade trivial. Was waren aus Deiner Sicht die größten Herausforderungen bei der Implementierung?
Die größte Herausforderung war die Kommunikation zwischen den verschiedenen Servern. Da die diversen Server jeweils Informationen untereinander und zu den Clients übermitteln müssen, ist die Komplexität um einiges gestiegen. Ich musste mir dafür eine Menge neues Wissen aneignen und mich in all die verschiedenen Technologien einarbeiten.
Oft kommen einem bei so einer Realisierung viele neue Ideen. Was könnte noch alles gebaut werden, um die Funktionalität zu verbessern?
Nun, eine Videokonferenz, Desktop-Sharing und Chat direkt mit objectiF RPM durchzuführen, ist schon ganz schön. Wir wollen aber die gemeinsame, inhaltliche Arbeit beim Requirements Engineering und Projektmanagement mehr unterstützen.
Das gemeinsame Bearbeiten von Diagrammen, zum Beispiel bei einem remote Stakeholder-Workshop, ist ein weiteres Ziel. Zurzeit ist es so, dass es zu einem Mehrbenutzerkonflikt kommt, wenn zwei Leute ein Diagramm gleichzeitig bearbeiten wollen. Mit den neuen Kollaborationsfunktionen kann das realisiert werden, weil wir einen SignalR Server verwenden, der eine Duplex-Kommunikation zulässt.
Des Weiteren sehen wir auch viele Optionen, die Usability zu erhöhen und die Wege zum Aufbau einer Kommunikationsverbindung zu verkürzen. Cool wäre beispielsweise, wenn man einfach per Klick auf eine Anforderung mit den Bearbeitern dieser Anforderung eine Videokonferenz starten könnte. objectiF RPM speichert ja alle Bearbeiter einer Anforderung in der Historie. Die entscheidenden Daten für die Durchführung der Konferenz liegen also vor. Einfach per Kontextmenübefehl „Videokonferenz mit Bearbeitern starten“ und los geht’s… einfacher geht es nicht… Es gibt noch viele weitere Ideen, aber immer eines nach dem anderen.
Welche Vorteile bringen die Features für unsere Software Anwender?
Es wird kein Zoom, Teams, WebEx, Teamviewer, Jitsi oder andere Webkonferenzsoftware benötigt. Die monatlichen Kosten dafür fallen also weg. Unsere Kunden brauchen nur ihren RPM Client oder einen Zugriff per objectiF RPM WebApp. Durch wenige Klicks sind Konferenzen aufgebaut – also eine erhebliche Vereinfachung und Zeitersparnis. Last but not least – Datenschutz ist natürlich auch ein Thema. Die Kollaborationsfunktionen laufen auf den eigenen Servern der Kunden und nicht auf Servern von Drittanbietern.
Hast Du das Gefühl, dass Deine Arbeit unsere Produkte bereichert hat?
Ja, ich finde, dass meine Arbeit das Produkt stark bereichert, denn gerade im Projektmanagement, Anforderungsmanagement, Testmanagement und in der Entwicklung, wo objectiF RPM verwendet wird, ist eine stetige und gute Kommunikation mit den Beteiligten unabdingbar.
Wirst Du die Features bei Deiner täglichen Arbeit selbst nutzen?
Klar werde ich die neuen Collaboration-Features bei meiner täglichen Arbeit als Entwickler verwenden. So kann ich viel einfacher und direkter mit meinen Kollegen kommunizieren. Gerade in Zeiten von Home-Office sind die neuen Funktionen sehr nützlich.
Das finde ich auch. Ich bin beeindruckt, wie viel Du im Rahmen Deiner Bachelor-Arbeit in das Tool eingebracht hast. Den Titel hast Du Dir dafür wirklich verdient. Wir hoffen, dass Du noch viele tolle Features zu unseren Produkten beisteuerst und danken Dir für Dein Engagement!
Und so sieht es aus, wenn man in objectiF RPM chattet oder sich per Video trifft.
Diskutieren Sie mit.